19. september 2005 - 19:28
Der er
10 kommentarer og 1 løsning
Udskriv med opremsningskomma
Hvordan kan jeg udskrive fra min tabel hvor den deler det op med opremsningskomma? Så hvis den udskriver ialt 4 står der: Output1, Output2, Output3 og Output 4 og hvis det er 7: Output1, Output2, Output3, Output4, Output5, Output6 og Output 7
Annonceindlæg fra Computerworld it-jobbank
19. september 2005 - 19:31
#1
Gemmer du output i et array? Eller hvordan ved jeg, hvor mange outputs, der er?
19. september 2005 - 19:36
#2
Her er i hvert fald en løsning, du kan arbejde ud fra: $output = array( "svend", "bente", "ole", "henriette", "finn" ); $last = array_pop($output); $output = implode(", ", $output); $output .= " og ".$last;
19. september 2005 - 19:46
#3
Den skal bare hente dem ud fra databasen. $query = mysql_query("select * from tabel") or die (mysql_error()); while($row = mysql_fetch_assoc($query)) { echo $row['navn']; }
19. september 2005 - 19:50
#4
$str = ""; $query = mysql_query("select * from tabel") or die (mysql_error()); while($row = mysql_fetch_assoc($query)) { $str .= $row['navn'].", "; } $str = substr(str, 0, strlen($str)-2); echo $str;
19. september 2005 - 19:51
#5
$query = mysql_query("select * from tabel") or die (mysql_error()); for ($i=0; $i<mysql_num_rows($query)-2; $i++) { $row = mysql_fetch_assoc($query); echo $row['navn'].", "; } $row = mysql_fetch_assoc($query); echo $row['navn']."og "; $row = mysql_fetch_assoc($query); echo $row['navn']; Lidt klodset, men mon ikke det virker...?
19. september 2005 - 20:01
#6
jgivoni: perfekt. kan den virkelig ikke gøres smartere? :D smid også lige et svar jaw
19. september 2005 - 20:04
#7
Arh, mon ikke jeg undværer 2,5 point?! Du brugte jo heller ikke min løsning, og den var heller ikke korrekt. Kommaseparere gjorde den, men det sidste " og " tog jeg chancen og udelad :) (Og så har du jo allerede accepteret, så kan ikke engang smide svar :)
19. september 2005 - 20:07
#8
nej, hov. undskyld :).. iorden så.
19. september 2005 - 20:18
#9
$i = 0; while ($row = mysql_fetch_array($query)) { if ($i < count($row)-2) { echo $row['value'].", "; } elseif ($i == count($row)-1) { echo " og ".$row['value']; } else { echo $row['value']; } $i++; } Den skulle gerne være hurtigere, men ikke mærkbart :)
19. september 2005 - 21:50
#10
terrak: virker ikke
23. september 2005 - 09:25
#11
Fordi jeg glemte at erstatte $row['value'] med $row['navn'] :)
Vi tilbyder markedets bedste kurser inden for webudvikling