Avatar billede fanoe Nybegynder
30. august 2011 - 11:29 Der er 10 kommentarer og
1 løsning

PHP læs fra Mysql database / galleri

Hejsa,

bestyrer en hjemmeside, hvor jeg skal lave en liste over gallerier..
jeg forestiller mig jeg vil lave en tabel, hvori jeg har følgende:
navn - piclink - gallink - aktiv

Jeg skal så efterfølgende have lavet en side som i tabelform finder billede (piclink) og navnet (navn) og sørger for at hele tabel-cellen bliver lavet som et link (Gallink), men kun for dem der er aktive.

er der nogle der hurtigt kan lave et sådan script, så jeg kun i scriptet skal ændre brugernavn, password mv, så vil det være super :)

200 point til vedkommende der kan lave en side jeg kan vedligeholde data i tilsvarende..
Avatar billede mautone Nybegynder
31. august 2011 - 10:30 #1
Hejsa.

Du opretter jo bare din omtalte tabel i en mysql database.

Derefter henter du de forskellige ting ud med en lykke.

Fx.
<table>
$sql = mysql_query("SELECT * FROM tabelnavn WHERE aktiv = '1'");
while($row = mysql_fetch_assoc($sql))
{
echo "<tr>";
echo "<td onclick=\"window.location=' . $row[gallink] . '\"><img src=' . $row[piclink] . ' /></td>";
echo "</tr>";
}
</table>

Du får jo ikke nogen til at gøre det uden selv at lave lidt mere end kun at skifte brugernavn og password
Avatar billede fanoe Nybegynder
01. september 2011 - 15:22 #2
Hejsa Matone,

Jeg fandt på en løsning, lidt kombi af din og noget andet jeg fandt på nettet..

ville ønske jeg istedet for at de nu kommer som TR pr post, måske kunne have 4 poster (TD'ere) pr TR - men med de samme data hentet ud..

hvis du kender en smart løsning vil jeg være taknemmelig, hvis ikke så smid et svar, så får du points'ne :)
Avatar billede mautone Nybegynder
02. september 2011 - 08:53 #3
Hejsa Fanoe.

Jeg har konstrueret denne kode til dig som du kan anvende.

Der er sat kommentar i der hvor du skal udskrive dine poster.

    <table>
    <?php
    $sql = mysql_query("SELECT * FROM tabel");
    $i = 0;
    $cell = 0;
    $cells = mysql_num_rows($sql);
    while($row = mysql_fetch_assoc($sql))
    {
    $cell++;
    if($i == 0)
    echo "<tr>";
    if ($cell == $cells)
    echo "<td colspan=\"" . 4 - $i . "\">";
    else
    echo "<td>";
    //udskriv post
    echo "</td>";
    if ($i == 3)
    {
    echo "</tr>";
    $i = 0;
    }
    else
    $i++;
    }
    if ($i != 0)
    echo "</tr>";
    ?>
    </table>

Håber du kan bruge det.
Avatar billede fanoe Nybegynder
02. september 2011 - 17:03 #4
både og...

jeg får som det allerførste " 0&#8243;>  " hvor tallet skifter.

Dernæst når jeg kører med det du skriver ovenfor - så får jeg 2 rækker...

hvis jeg (for jeg formodede det havde noget med det at gøre.. ændrer:
if ($i == 3)
til f.eks. 2 eller 4 - så får jeg det hele på 1 lang række..

Men ellers så er det da ligefør det virker nu :)..

kan du gennemskue hvorfor jeg får 0`"> (tallet kan ændre sig) og hvorfor jeg ikke kan få 3 eller 4 på linje, men kun 2 eller alle..

På forhånd tak.
Avatar billede fanoe Nybegynder
02. september 2011 - 17:03 #5
0%#8243;> skulle have været 0">
Avatar billede fanoe Nybegynder
03. september 2011 - 11:13 #6
Hej Mautone,

Fik løst problemet med rækkerne..

ændrede
if ($i == 3)
til
if ($i >= 4)
og så har jeg 3 rækker, hvilket passer fint i designet :D..

Det er bare den dersens 0"> kode i toppen jeg nu irriterer mig over..
Du får dine point som tak for hjælpen, men ved du hvorfor den er der??
Avatar billede mautone Nybegynder
05. september 2011 - 12:11 #7
Det var bare en fejl i koden.
den første tjekker om det er præcis lige med 3. den anden tjekken mindre end eller lig med.
Avatar billede fanoe Nybegynder
05. september 2011 - 12:43 #8
Og du har vel desværre ikke nogen ide om hvorfor den skriver der der 0"> i toppen af siden vel :)
Avatar billede mautone Nybegynder
05. september 2011 - 12:48 #9
Kan ikke umiddelbart se det i den kode jeg har smidt til dig...

Men tjek evt. din kildekode og find ud af hvor den smider det ud, måske kan du denvej finde frem til hvor den udskriver det, for et eller andet sted udskriver den det. Enten står det ved en print/echo handling eller også er det i din html det sker.
Avatar billede fanoe Nybegynder
05. september 2011 - 14:21 #10
har forsøgt med en echo "test"; kommando - men jeg kan ikke rigtig få afgrænset helt specifikt hvad det er der går galt.

nogle gange står den mange gange (formodentlig pga noget "løkke" værk), andre gange før fejlen, eller efter fejlen..

men jeg kunne ikke "fjerne" den linje så virkede koden ikke..

har lige prøvet at genfabrikere hvor jeg fandt den, og nu vil den naturligvis ikke helt som jeg vil :D..

Hvad kan årsagen være til at den kommer med 0">
Avatar billede fanoe Nybegynder
05. september 2011 - 16:59 #11
Hvis jeg sætter en Echo "et eller andet" ind lige efter.

$i++;

Så får jeg posten det antal gange der er poster FØR 0"> og 1 gang EFTER..

ergo formoder jeg det kommer fra deromkring ...

synes desværre ikke jeg kan komme det nærmere... :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester