Hur gör jag för att få restultatet (ing1, ing2, ing3) istället för (ing1, ing2, ing3, )?
function printIngredients($dishId){
$ingSql = "SELECT * FROM mp_ing INNER JOIN mp_dishing ON mp_ing.ingId = mp_dishing.ingId WHERE mp_dishing.dishId = '".$dishId."' ORDER BY mp_ing.name ASC";
$ingQuery = mysql_query($ingSql);
while($ing = mysql_fetch_array($ingQuery)){
$ingredients .= $ing['name'].", ";
}
$ings = '('.ucfirst($ingredients).')';
return $ings;
}
Ifall någon har spontana kommentarer på övriga koden så skadar det inte att dela med sig ;) mvh
Kolla om strängen är tom.
if ($ing['name'])
$ingredients .= $ing['name'].", ";
aasahMedlem sedan mars 20034 471 inlägg nitro, tänker du inte fel nu? Så länge det finns en rad att lägga till, är namn väl inte tom?
Jag skulle (nog) ha gjort så här.
function printIngredients($dishId){
$ingSql = "SELECT * FROM mp_ing INNER JOIN mp_dishing ON mp_ing.ingId = mp_dishing.ingId WHERE mp_dishing.dishId = '".$dishId."' ORDER BY mp_ing.name ASC";
$ingQuery = mysql_query($ingSql);
$antal = mysq_num_rows($ingQuery);
$i = 1;
while($ing = mysql_fetch_array($ingQuery)){
if ($i == $antal)
$next = "";
else $next = ", ";
$ingredients .= $ing['name'].$next;
$i++;
}
$ings = '('.ucfirst($ingredients).')';
return $ings;
}
MatteMedlem sedan aug. 20002 975 inlägg Annars går det göra så här:
$ingredients = array();
while($ing = mysql_fetch_array($ingQuery)){
$ingredients[] = $ing['name'];
}
$ingredients = implode(", ", $ingredients);
PeddaMedlem sedan juni 20006 032 inlägg Jag skulle nog bara loopa in dom i en array och sen köra implode när allt var klart.
$myString = implode(',', $myArray);