Trådstart#1 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'].", ";
AaasahMedlem 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äggAnnars går det göra så här:
$ingredients = array();
while($ing = mysql_fetch_array($ingQuery)){
$ingredients[] = $ing['name'];
}
$ingredients = implode(", ", $ingredients);
PPeddaMedlem sedan juni 20006 031 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);