Avatar billede gil-galad Nybegynder
26. juni 2004 - 20:04 Der er 15 kommentarer og
2 løsninger

En while løkke som looper over rækkerne.

Hejsa.
Jeg har dette script der trækker nogle data ud af databasen:

$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
if ($row = mysql_fetch_array($result) ) {
  echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a>";
}
else {echo "Ingen links fundet i denne kategori.";}
?>

Men jeg skal have en while løkke i  koden som looper over rækkerne, så mere end ét link bliver skrevet ud.
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:09 #1
<?php
$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
whil($row = mysql_fetch_array($result) ) {
  echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a>";
}
else {echo "Ingen links fundet i denne kategori.";}
?>
Avatar billede al_dair Nybegynder
26. juni 2004 - 20:10 #2
while($row = mysql_fetch_array($result)) {
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:10 #3
oops lidt for hurtigt :)

$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
if($row = mysql_fetch_array($result) ) {
  do {
    echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a>";
  while($row = mysql_fetch_array($result));
}
else {echo "Ingen links fundet i denne kategori.";}
?>
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 20:10 #4
eller...

<?php
$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
if (mysql_num_rows($result)>0) {
while($row = mysql_fetch_array($result) ) {
  echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a>";
}
}
else {echo "Ingen links fundet i denne kategori.";}
?>
Avatar billede retep Nybegynder
26. juni 2004 - 20:11 #5
$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
if (mysql_num_rows($result) > 0){
    while ($row = mysql_fetch_array($result)){
          echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a>";   
    }
} else {
    echo "Ingen links fundet i denne kategori.";
}
Avatar billede gil-galad Nybegynder
26. juni 2004 - 20:12 #6
dennismp> fejl i denne linie: echo "Ingen links fundet i denne kategori.";


Parse error: parse error, expecting `T_WHILE' in /usr/home/whitehat_dk/users/spiff/sql/index.php on line 33
Avatar billede gil-galad Nybegynder
26. juni 2004 - 20:14 #7
erik> dit virker.
Smid et svar erikjacobsen og dennismp... men erik vil nok ikke ha' :-)
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:14 #8
brug een af de andre, du har snart fået alle kombinationer.. :-)

rettet:
$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
if($row = mysql_fetch_array($result) ) {
  do {
    echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a>";
  }while($row = mysql_fetch_array($result));
}
else {echo "Ingen links fundet i denne kategori.";}
?>

(der mangler et } før while)
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 20:14 #9
nej, jeg vil ikke have. Der er ting jeg ikke siger nej til, men det gælder ikke point ;)
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:28 #10
svar
Avatar billede thb Nybegynder
26. juni 2004 - 20:30 #11
en lille side bemærkning:
Det er smartere hvis man bruger mysql_fetch_assoc() eller mysql_fetch_row()

:D
Thomas
Avatar billede gil-galad Nybegynder
26. juni 2004 - 21:15 #12
nogen der kan se hvorfor billederne ikke bliver skrevet ud?:

$result = mysql_query("SELECT url, link, tekst, rating, sprog FROM links WHERE kat = '$kat'") or die(mysql_error());
if (mysql_num_rows($result)>0) {
while($row = mysql_fetch_array($result) ) {
 
  if ($row['rating'] == anbefales){ $rating == "<img src=\"grafik/anbefales.gif\" height=\"21px\" width=\"20px\">";}
  else { $rating == "";}
 
  if ($row['sprog'] == dan){ $sprog == "<img src=\"grafik/dan.gif\" height=\"16px\" width=\"22px\">";}
  elseif ($row['sprog'] == eng){ $sprog == "<img src=\"grafik/eng.gif\" height=\"16px\" width=\"22px\">";}
  else { $sprog == "<img src=\"grafik/dan.gif\" height=\"16px\" width=\"22px\"><img src=\"grafik/eng.gif\" height=\"16px\" width=\"22px\">";}
 
  echo "<a href=\"".$row['url']."\" target=\"_blank\">".$row['link']."</a><br>".$row['tekst']."".$rating." ".$sprog."<br><br>";
}}
else {echo "Ingen links fundet i denne kategori.";}
?>
Avatar billede retep Nybegynder
26. juni 2004 - 21:17 #13
fordi :
$rating == skal være $rating = "<img ...
og det samme med  $sprog == "<img
Avatar billede retep Nybegynder
26. juni 2004 - 21:17 #14
Dvs. du sammenligner i stedet for at tildele variablene en værdi... :)
Avatar billede gil-galad Nybegynder
26. juni 2004 - 21:21 #15
tak :-)    jeg havde også skrevet anbefales  istedet for  anbefalet
Avatar billede terrak Nybegynder
26. juni 2004 - 21:25 #16
Skal du ikke også have "" rundt om teksten du sammenligner med, i dine if-sætninger? Det virker uden, men det er ikke helt korrekt at gøre sådan :)
Avatar billede gil-galad Nybegynder
26. juni 2004 - 22:12 #17
jo :-)
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