Ich könnte auch noch serialize() und unserialize() empfehlen - dann klappts auch mit mehrdimensionalen Arrays....
nur ne idee
ARRAYS in MySQL Datenbank schreiben
Einklappen
X
-
Super und Besten Dank. Jetzt funktioniert alles und das ohne Fehlermeldung.Original geschrieben von onemorenerd
Hoppla, sorry.
Nochmal und gleich einen Schritt weiter:
PHP-Code:echo '<pre>';
print_r($_POST['kategorie']);
echo '</pre>';
$kategorie_neu = implode(", ", $_POST['kategorie']);
echo $kategorie_neu;
Einen Kommentar schreiben:
-
Hoppla, sorry.
Nochmal und gleich einen Schritt weiter:
PHP-Code:echo '<pre>';
print_r($_POST['kategorie']);
echo '</pre>';
$kategorie_neu = implode(", ", $_POST['kategorie']);
echo $kategorie_neu;
Einen Kommentar schreiben:
-
Der Tipp ist super. Folgendes Script habe ich eingegeben:Original geschrieben von onemorenerd
Zu viel Sonne? Schattenbaum!
PHP-Code:for ($i=0; $i<$Anzahl; $i++) {
$kategorie_neu = $kategorie[$i];
}
Weil $kategorie_neu eine einfache Variable ist, sie kann nur einen einzigen Wert enthalten. In jedem Schleifendurchlauf wird ihr ein Wert aus dem Array $kategorie zugewiesen und im letzten Durchlauf eben der letzte.
Baue ganz oben im Script folgendes einund überleg mal, ob und wenn dann wie sich das Ergebnis in deiner Query verwursten läßt.PHP-Code:$kategorie_neu = (implode(', ', $_POST['kategorie']);
echo $kategorie_neu;
Die Funktion ist gegeben, jedoch beim Aufruf der Datei erscheint folgende Fehlermeldung:PHP-Code:$kategorie_neu = (implode(', ', $_POST['kategorie']));
echo $kategorie_neu;
PHP-Code:Warning: Bad arguments to implode() in test_signup.php on line 3
Einen Kommentar schreiben:
-
So wird das aber auch nicht klappen. Da ist eine Klammer zuviel im Code. Du meinst sicherlich... Script folgendes ein...PHP-Code:$kategorie_neu = (implode(', ', $_POST['kategorie']);
echo $kategorie_neu;
PHP-Code:$kategorie_neu = implode(', ', $_POST['kategorie']);
Einen Kommentar schreiben:
-
Zu viel Sonne? Schattenbaum!
PHP-Code:for ($i=0; $i<$Anzahl; $i++) {
$kategorie_neu = $kategorie[$i];
}
Jetzt aber ist folgendes Problem da, dass über $kategorie_neu nur der letzte ausgewählte Begriff gespeichert wird.
Weil $kategorie_neu eine einfache Variable ist, sie kann nur einen einzigen Wert enthalten. In jedem Schleifendurchlauf wird ihr ein Wert aus dem Array $kategorie zugewiesen und im letzten Durchlauf eben der letzte.
Baue ganz oben im Script folgendes einund überleg mal, ob und wenn dann wie sich das Ergebnis in deiner Query verwursten läßt.PHP-Code:$kategorie_neu = (implode(', ', $_POST['kategorie']);
echo $kategorie_neu;
Einen Kommentar schreiben:
-
OK. Nur wie wird implode() in eine Variable umgesetzt.Original geschrieben von xManUx
was willst du mit der Schleife bezwecken?
außerdem, könnte implode() dir helfen.
Bsp:
PHP-Code:echo implode('',$_POST['kategorie']);
so funktioniert es nicht. Immerhin muss dann die Variable $kategorie_neu benutzt werden, um den Inhalt in die Datenbank einzufügen.PHP-Code:$kategorie_neu = (implode('',$_POST['kategorie']);
Einen Kommentar schreiben:
-
was willst du mit der Schleife bezwecken?
außerdem, könnte implode() dir helfen.
Bsp:
PHP-Code:echo implode('',$_POST['kategorie']);
Einen Kommentar schreiben:
-
alles klar - Danke. Für's nächste Mal weiß ich dann bescheid.Original geschrieben von onemorenerd
Schau!
Einen Kommentar schreiben:
-
Was ist mit den PHP-Tags gemeint. Wenn ich einen Fehler begangen habe, dann bitte ich um Entschuldigung.Original geschrieben von onemorenerd
Bitte verwende die PHP-Tags des Forums!
Einen Kommentar schreiben:
-
ARRAYS in MySQL Datenbank schreiben
Ich habe folgendes Problem. Ich möchte aus einem Popupmenü per Mehrfachauswahl die ausgewählten Felder in eine Tabelle reinschreiben.
Beispiel:
Dieses Script liegt als Template (HTML-DATEI) vor und wird von dem unten angeführtem Script includiert.
<form action="./test_signup.php" method=post onsubmit="return">
...
<select size="" name="kategorie[]" multiple>
<option value="Alle">Alle Länder</option>
<option value="Ägypten">Aegypten</option>
<option value="Albanien">Albanien</option>
<option value="Algerien">Algerien</option>
<option value="Anderes Land">Anderes Land</option>
...
.....
<option value="US">USA</option>
<option value="UZ">Usbekistan</option>
<option value="VE">Venezuela</option>
<option value="AE">Vereinigte Arabische Emirate</option>
<option value="BY">Weissrussland</option>
<option value="CY">Zypern</option>
</select>
und so soll das in die MySQL Datenbank geschrieben werden:
Jetzt aber ist folgendes Problem da, dass über $kategorie_neu nur der letzte ausgewählte Begriff gespeichert wird.PHP-Code:<?
$kategorie = $_POST["kategorie"];
$Anzahl = count($kategorie);
for($i=0;
$i<$Anzahl;
$i++)
{
// dient der Überprüfung, ob die Daten übernommen werden.
echo $kategorie[$i];
$kategorie_neu = $kategorie[$i];
}
include("./includes/config.php");
if ( $REQUEST_METHOD=="POST" )
{
mysql_query("INSERT INTO
kategorie ( kategorie)
VALUES ('$kategorie_neu' )
");
include("./templates/test.html");
}
else
{
include("./templates/test.html");
}
?>
Wer kann mir helfen?Zuletzt geändert von donner_blitz; 27.06.2005, 16:33.Stichworte: -
Einen Kommentar schreiben: