PHP Implode Funktion

xSeppelx

Lt. Junior Grade
Registriert
Sep. 2009
Beiträge
384
Hi,

ich hab gerade ein Problem mit der Implode Funktion.
Und zwar will ich die Datensätze aus einer Datenbank in einen array laden und dann die Einträge mit Komme in einen String implementieren.
PHP:
		$sql="Select Adresse, width, height from screen where eintrag_id = $id";
$result=mysql_query($sql);
$row2 = mysql_fetch_array($result);//Füllt das $row2 vollständig mit allen Einträgen? Ich glaube nicht...

//Kann ja nicht stimmen, da ich hier explizit einen Eintrag vom Array auswähle und nicht den gesamten Array. Ich denke das Prinzip lässt sich erkennen oder? ich will alle Einträge von Screen in einem String mit Komma haben und das bei den beiden weiteren auch ;)
$screen_array = implode(",", $row2['Adresse']);
$width_array = implode(",", $row2['width']);
$height_arry = implode(",", $row2['height']);

//Hier gibt er jeweils alle drei Einträge aus... also eine Adresse, dann die Breite, dann die Höhe und zwar in jedem Feld.(wenn man $row2 statt $row2[..] macht!

echo'Screenshot: <input type="text" name="screen" value="'.$screen_array.'"><br>
	Breite: <input type="text" name="width" value="'.$width_array.'"><br>
	Höhe: <input type="text" name="height" value="'.$height_arry.'"><br>
	';
Hoffe jemand kann mir helfen.
 
Zuletzt bearbeitet:
Du bekommst pro Abfrage eine Zeile, die dann im Array gespeichert ist.

Somit musst du das ganze mit while($row2 = ...) abarbeiten; in diesem Zuge kannst du die Strings auch gleich mit Komma aneinanderfügen.

PHP:
while(...)
{
  $screen .= $row2['Adresse'] . ",";
  $width .= $row2['width'] . ",";
  $height .= $row2['height'] . ",";
}

Damit hättest du aber auch nach dem letzten Wert jeweils ein Komma (kA ob dich das stört).


Ansonsten kannst du die Werte bei der Ausgabe auch in einem neuen Array speichern und dass anschließend mit implode() bearbeiten:

PHP:
while(...)
{
  $screen_array[] = $row2['Adresse'];
  $width_array[] = $row2['width'];
  $height_array[] = $row2['height'];
}

$screen = implode(",", $screen_array);
$width = implode(",", $width_array);
$height = implode(",", $height_array);
 
Irgend wie verstehe ich dein vorhaben nicht ganz?

Du willst also folgendes machen?

Adresse , Breite , Höhe in einem String ?


PHP:
sql="Select Adresse, width, height from screen where eintrag_id = $id";
$result=mysql_query($sql);
$row2 = mysql_fetch_array($result);

Da hast du logischerweise nur alle Daten von der $id die übertragen wird.
Wenn 1, bekommst du auch nur Adresse und so von der ID 1.

*edit*
Und zu lahm.. :)
 
Zurück
Oben