Avatar billede dero Nybegynder
17. oktober 2004 - 00:38 Der er 9 kommentarer

Udskrive MySQL værdier i rækkefølge

Hej.

Jeg hiver nogle informationern ud fra en tabel, og så skal den indsætte alle informatinoner sådan så den udskriver:

echo "<td><img border="0" src="../billeder/$name" ></td>";

dette skal den skrive for de første 4, og så skal der skrives

echo"</tr><tr>";

og så skal der udskrives 4 billeder igen, og så </tr><tr> osv osv..


Hvordan gørs det?

p.s. jeg hiver informationerne ud sådan her:

$result = mysql_query("SELECT `Name`, `DownloadID`, `Size` FROM `brugergalleri` ORDER BY `Size` ") or die(mysql_error());
Avatar billede coderdk Praktikant
17. oktober 2004 - 00:43 #1
Kort eksempel som du selv kan udvide ;)

$i = 0;
while ( $row = mysql_fetch_assoc( $result ) )
{
  if ( $i != 0 && $i++ % 4 == 0 )
  {
      echo "</tr><tr>";
  }
}
Avatar billede dero Nybegynder
17. oktober 2004 - 00:47 #2
tak.. men hvor skal jeg skrive:

echo "<td><img border="0" src="../billeder/$name" ></td>";

p.s. skriv lige et svar.. :-)
Avatar billede coderdk Praktikant
17. oktober 2004 - 00:58 #3
Hele koden kunne se ud i stil med:

$result = mysql_query("SELECT `Name`, `DownloadID`, `Size` FROM `brugergalleri` ORDER BY `Size` ") or die(mysql_error());
$i = 0;
if ( mysql_num_rows( $result ) > 0 )
{
  echo "<table><tr>";
  while ( $row = mysql_fetch_assoc( $result ) )
  {
    if ( $i != 0 && $i++ % 4 == 0 )
    {
      echo "</tr><tr>";
    }
    echo "<td><img border="0" src="../billeder/$name" ></td>";
  }
  while ( $i++ % 4 != 0 )
  {
    echo "<td></td>";
  }
  echo "</table>";
}
else
{
  echo "Ingen rækker";
}
Avatar billede coderdk Praktikant
17. oktober 2004 - 00:58 #4
$name burde så bare være $row[name] eller lignende :)
Avatar billede coderdk Praktikant
17. oktober 2004 - 00:59 #5
Ja, burde nok se sådan ud:

echo "<td><img border=\"0\" src=\"../billeder/$row[name]\" ></td>";
Avatar billede dero Nybegynder
17. oktober 2004 - 01:04 #6
Den skifter ikke linie, den bliver på samme linie.. :-(
Avatar billede coderdk Praktikant
17. oktober 2004 - 02:42 #7
Ah ja, my bad, if-sætningen ændres til:

if ( $i++ % 4 == 0 && $i != 0 )
Avatar billede dero Nybegynder
17. oktober 2004 - 02:47 #8
1000 TAK!! Nu virker lortet!Men hvis du gider, vil du så ikke lige forklare den der if sætning, jeg vil godt lige fatte hvad der skete..
Avatar billede coderdk Praktikant
17. oktober 2004 - 14:10 #9
Jeg startede med at sætte $i til 0, og PHP laver "lazy evaluation", når den når til en if-sætning som:

if ( $i != 0 && $i++ % 4 == 0 )

Så evaluerer den kun at $i == 0, altså er den if-sætning falsk allerede dér, og resten vil ikke blive evalueret. Så jeg byttede om, og så vil det virke ;)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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