mehrere Array-Elemente zu String zusammenfügen
Christopher
- php
0 Cheatah0 Christopher0 Cheatah0 Christopher0 Cheatah
Hallo,
ich habe ein Problem. Ich möchte den Usern meiner Seite die Möglichkeit bieten Ihre Kochrezepte bei mir einzutragen.
In meiner DB werden die Zutaten mit Komma dazwischen als varchar gespeichert. z.B: 1 kg Hähnchen,400 g Kartoffeln,Salz,Pfeffer,...
Jetzt habe ich auf der Eingabeseite ein Formular, bei dem der Teil für die Zutaten so aussieht:
...
<tr></tr>
<td width="10%" class="black9"><input type="text" name="zutatenMenge[]" size="10" style="width:60px;" maxlength="50"></td>
<td width="12%" class="black9"><input type="text" name="zutatenEinheit[]" size="12" style="width:80px;" maxlength="50"></td>
<td width="78%" class="black9"><input type="text" name="zutatenName[]" size="40" style="width:100%;" maxlength="50"></td>
<tr></tr>
...
Um daraus den String zu generieren habe ich folgendes versucht:
----------------------
$zutatenlist = "";
if (is_array ($zutatenMenge))
while(current($zutatenMenge) != false)
{
$zutatenlist.= current($zutatenMenge)." ".curren.($zutatenEinheit)." ".current($zutatenName).",";
next($zutatenMenge)." ".next($zutatenEinheit)." ".next($zutatenName);
}
$mitLetztemKomma = strlen($zutatenlist);
$ohneLetztesKomma = $mitLetztemKomma-1;
$zutatenlist = substr($zutatenlist,0,$ohneLetztesKomma);
----------------------
Jetzt gibt es aber Fehler, wenn man z.B. keine Menge oder keine Mengeneinheit angibt (z.B. bei Salz).
Kann mir jemand weiterhelfen
Danke im Voraus
Christopher
Hi,
In meiner DB werden die Zutaten mit Komma dazwischen als varchar gespeichert.
möchtest Du nicht lieber eine Verknüpfungstabelle nehmen?
Um daraus den String zu generieren habe ich folgendes versucht:
Hm, ich hätte einfach join() genommen.
Cheatah
Hi,
In meiner DB werden die Zutaten mit Komma dazwischen als varchar gespeichert.
möchtest Du nicht lieber eine Verknüpfungstabelle nehmen?
Um daraus den String zu generieren habe ich folgendes versucht:
Hm, ich hätte einfach join() genommen.
Cheatah
Hallo Cheatah,
kann ich denn bei join() immer ein "," an das Ende einer Zeile (Menge Einheit Zutat) anhängen???
Danke Christopher
Hi,
kann ich denn bei join() immer ein "," an das Ende einer Zeile (Menge Einheit Zutat) anhängen???
warum liest Du Dir nicht die Dokumentation zu der Funktion durch? Ich möchte Dir aber nach wie vor eine Verknüpfungstabelle empfehlen.
Cheatah
Hi,
warum liest Du Dir nicht die Dokumentation zu der Funktion durch? Ich möchte Dir aber nach wie vor eine Verknüpfungstabelle empfehlen.
für eine Verknüpfungstabelle ist es zu spät, da ich bereits über 300 Rezepte in der DB habe.
Und die Dokumentation habe ich mir durchgelesen. Leider habe ich aber nicht ein, sondern 3 Array (Menge[], Einheit[], Zutat[]) und diese können unterschiedlich lang sein, wenn jemand wie gesagt z.B. nur in das Letzte Feld "salz" eingibt.
Schöne Grüße
Christopher
Hi,
für eine Verknüpfungstabelle ist es zu spät, da ich bereits über 300 Rezepte in der DB habe.
das ist mehr Arbeit, aber noch lange nicht zu spät.
Und die Dokumentation habe ich mir durchgelesen. Leider habe ich aber nicht ein, sondern 3 Array (Menge[], Einheit[], Zutat[]) und diese können unterschiedlich lang sein, wenn jemand wie gesagt z.B. nur in das Letzte Feld "salz" eingibt.
Was hindert Dich daran, aus den dreien nur ein Array zu machen? Natürlich wäre das hinfällig, wenn Du einfach nur genau diese Daten in eine entsprechende Tabelle speichern würdest.
Cheatah