Als ik een echo doe van mijn tabel hoe kan ik aan het einde van de regels afsluiten met een punt. Ik wil nl een overzicht maken bijv. appel, peer, kers, druif.
<?php
$sql = "SELECT * FROM vruchten";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo $row['fruit'];
echo ', ';
}
} else {
echo "geen resultaat";
}
?>
Mijns inziens is implode() hiervoor de juiste benadering, zoals reeds genoemd door Adoptive Solution en Ariën.
Ik heb altijd geleerd dat er niet zoiets als "de juiste benadering" bestaat. Er zijn altijd redenen waarom een andere benadering wellicht beter is. Het nadeel van implode() is dat je de resultset in een array moet hebben; je moet dus eerst de gehele resultset verwerken voor je output kunt genereren. Is geen optie als je bijvoorbeeld tussenresultaten wilt laten zien.
Als je het mij persoonlijk zou vragen, zou ik zeggen dat het de juiste benadering zou zijn om geen PHP te gebruiken, maar Perl; dat werkt veel efficiënter:
my $sql = 'SELECT * FROM vruchten';
my @results = $conn->selectrow_array($sql, { Slice => {} });
say @results ? join ',', map { $_->{fruit} } @results : 'geen resultaat';
Maar ja, aangezien dit een PHP-forum is, kun je dus ook bij deze code niet spreken van 'de juiste benadering'. :-)