Avatar billede dero Nybegynder
10. april 2005 - 18:01 Der er 10 kommentarer og
1 løsning

Udskrive MySQL værdier i rækkefølge, og noget andet for hver 3

Hey...

Jeg har en række MySQL resultater der skal udskrives, hvordan gør man, hvis man mellem dem vil udskrive noget andet.. Fx ved hver 3.??

Så resultatet hedder:

1
2
3
Hey
4
5
6
Hey
Osv..
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 18:03 #1
<?php
$query = mysql_query();
$i = 1;
while($row = mysql_fetch_array($query))
{
  echo $row['id']; // udskriver tallet
  if($i%3)
  {
    echo "hey";
  }
  $i++;
}
?>

Test det :)
Avatar billede dero Nybegynder
10. april 2005 - 18:07 #2
Nice.. Og hvis der er for hver fjerde så ændre jeg bare 3 til 4, osv?
Avatar billede michael_stim Ekspert
10. april 2005 - 18:13 #3
Ja, $i%3 betyder $i modulus 3, hvilket i sin tur betyder det der bliver til overs når man deler $i med 3. Man kunne også have skrevet if($i % 3 == 0), så havde det nok väret lettere at forstå ;o)
Avatar billede dero Nybegynder
10. april 2005 - 18:15 #4
tak... Vil du ikke lige ligget et lille svar så? :-)
Avatar billede dero Nybegynder
10. april 2005 - 18:28 #5
Hvad fejler denne her ved du det?

$result = mysql_query("SELECT * FROM brugergalleri ORDER BY ID DESC")
or die(mysql_error());

$i = 1;
while($row = mysql_fetch_array($result))
{
  echo "<td align=\"center\" width=\"33%\">";
  echo "<a href=\"http://www.downloading.dk/galleri/bruger/large/
  echo $row['Name'];
  echo "\">";
  echo "<img border=\"0\" src=\"http://www.downloading.dk/galleri/bruger/small/
  echo $row['Name'];
  echo "\"></a></td>";
  if($i%3)
  {
    echo "</tr><tr>";
  }
  $i++;
}
?>
Avatar billede dero Nybegynder
10. april 2005 - 18:29 #6
Den skriver:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/dkcphnas004/www/d/g/downloading.dk/sider/brugergalleri.php on line 18

og linie 19 er:

echo $row['Name'];
Avatar billede dero Nybegynder
10. april 2005 - 18:33 #7
vrøvl.. echo $row['Name']; er selvfølgelig linie 18..
Avatar billede dero Nybegynder
10. april 2005 - 18:43 #8
result = mysql_query("SELECT * FROM brugergalleri ORDER BY ID DESC")
or die(mysql_error());

$i = 1;
while($row = mysql_fetch_array($result))
{
  echo "<td align=\"center\" width=\"33%\">";
  echo "<a href=\"http://www.downloading.dk/galleri/bruger/large/";
  echo $row['Name'];
  echo "\">";
  echo "<img border=\"0\" src=\"http://www.downloading.dk/galleri/bruger/small/";
  echo $row['Name'];
  echo "\"></a></td>";
  if($i%3)
  {
    echo "</tr><tr>";
  }
  $i++;
}
?>

Sådan.. Var jo ikke så svært :-) sorry
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 18:52 #9
nå michael_stim gav beskrivelsen af modulus :)

Her er ihvertfald svar fra mig.
Avatar billede dero Nybegynder
10. april 2005 - 18:57 #10
Tak :-)
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 18:58 #11
Her er også dokumentationen til den slags operatorer.

http://se.php.net/operators.arithmetic
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