webForumDet fria alternativet

Behandla sista posten i array annorlunda

6 svar · 420 visningar · startad av Helmertz

HelmertzMedlem sedan maj 2005353 inlägg
#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

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Kolla om strängen är tom.

    if ($ing['name'])
        $ingredients .= $ing['name'].", ";
aasahMedlem sedan mars 20034 471 inlägg
#3

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
#4

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
#5

Jag skulle nog bara loopa in dom i en array och sen köra implode när allt var klart.
$myString = implode(',', $myArray);

PeddaMedlem sedan juni 20006 032 inlägg
#6

Jaha, Matte hann före ;)

aasahMedlem sedan mars 20034 471 inlägg
#7

Smart, Matte och Pedda!

121 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
118 ms — hämta tråd, inlägg och bilagor (db)