| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

04-03-2010, 19:31
|
|
JohnWorksCooper
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 14
|
|
[INSERT] Problem
>>> VORSPANN <<<
ich habe ein kleines INSERT Problem. Und zwar habe ich ein Formular welches über DOM-Manipulation mehrere Paare <input>-Felder erzeugt.
HTML-Code:
<input name="menge" value="ausleihe[menge]" type="hidden" />
<input name="menge" value="ausleihe[cd]" type="hidden" />
So nun habe ich auch alle CD und die dazugehörige Menge in der Array ausleihe. Nun möchte ich sie in folgende DB speichern (wobei ausleihnr klar ist).
Verleihe DB: CD, Menge, AusleiheNr
Also, wenn ich zB folgende Array habe:
3, 1
4, 2
1, 1
9, 1
Soll das wie folgt gespeichert werden:
Verheihe DB:
3, 1, 111
4, 2, 111
1, 1, 111
9, 1, 111
Weisst ihr was ich meine?
Geändert von JohnWorksCooper (04-03-2010 um 19:53 Uhr)
|

04-03-2010, 19:33
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von JohnWorksCooper
Weißt ihr was ich meine?
|
Nein. Zwischen den vorliegenden Daten und dem, was du speichern willst, ist kein direkter Zusammenhang erkennbar.
Allerdings macht es den Eindruck, dass du dich um vernünftige Normalisierung drücken willst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

04-03-2010, 19:34
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von JohnWorksCooper
Weißt ihr was ich meine?
|
Ja
Peter
PS: Es heißt "Wisst ihr"
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

05-03-2010, 15:47
|
|
JohnWorksCooper
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 14
|
|
@Peter: Gibt es auch eine Antwort?
>>> Der bisherige Stand <<<
Formular-Felder:
PHP-Code:
<input name="produkt_array[id][]" value="..." type="hidden" /> <input name="produkt_array[menge][]" value="..." type="hidden" />
Nach dem Submit:
PHP-Code:
$data = $_GET[produkt_array];
for($z=0;$z<count($data);$z++){ echo $data[id][$z] . $data[menge][$z] .'<br>'; }
Jedoch kommt nicht das gewünschte Ergebnis! Denn eigentlich sollte, wenn
PHP-Code:
<input name="produkt_array[id][]" value="1" type="hidden" /> <input name="produkt_array[menge][]" value="2" type="hidden" />
<input name="produkt_array[id][]" value="1" type="hidden" /> <input name="produkt_array[menge][]" value="1" type="hidden" />
<input name="produkt_array[id][]" value="2" type="hidden" /> <input name="produkt_array[menge][]" value="1" type="hidden" />
<input name="produkt_array[id][]" value="3" type="hidden" /> <input name="produkt_array[menge][]" value="1" type="hidden" />
Ergebnis sollte, sein:
|

05-03-2010, 15:58
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
1. Formulardaten sollte man per POST schicken
2. es heißt
PHP-Code:
echo $data['id'][$z] . $data['menge'][$z] .'<br>';
3. Schau dir das Ergebnis mal mit print_r($_POST['produkt_array'] an, dann siehst du den Fehler wahrscheinlich selber.
4. es ist nicht von großen Interesse zu wissen, wie das Ergebnis aussehen sollte, sondern wie es tatsächlich ist
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Geändert von Kropff (05-03-2010 um 16:01 Uhr)
|

05-03-2010, 16:31
|
|
JohnWorksCooper
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 14
|
|
Peter
PHP-Code:
<input name="produkt_array[i][id]" value="..." type="hidden" /> <input name="produkt_array[i][menge]" value="..." type="hidden" />
i++
PHP-Code:
for($z=0;$z<count($_POST['produkt_array']);$z++){ echo $data[$z]['id'] . $data[$z]['menge'] .'<br>'; }
Geändert von JohnWorksCooper (05-03-2010 um 16:37 Uhr)
|

05-03-2010, 16:35
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Nicht
PHP-Code:
$_POST[produkt_array]
Sondern
PHP-Code:
$_POST['produkt_array']
Gewöhn dir das bitte schnellstmöglich an, sonst fällst du irgendwann richtig auf die Fresse.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

05-03-2010, 16:37
|
|
JohnWorksCooper
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 14
|
|
Zitat:
Zitat von Kropff
Nicht
PHP-Code:
$_POST[produkt_array]
Sondern
PHP-Code:
$_POST['produkt_array']
Gewöhn dir das bitte schnellstmöglich an, sonst fällst du irgendwann richtig auf die Fresse.
Peter
|
Da sagt auch jeder was anderes in verschiedenen Foren... aber kommt raus!
|

05-03-2010, 18:08
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Die Sache ist ganz einfach. Wenn du das so schreibst,
PHP-Code:
$_POST[produkt_array]
dann wird produkt_array als Konstante behandelt. Ist die nicht vorhanden, so wandelt PHP den Konstantennamen in einen String um. Das entspricht dann einem
PHP-Code:
$_POST['produkt_array']
Aber was passiert, wenn du vorher eine entsprechende Konstante definiert hast?
PHP-Code:
define('produkt_array', 'blubb');
Dann hast du auf einmal ein
PHP-Code:
$_POST['blubb']
Darum lasse ab von deinem schändlichen Tun und arbeite sauber(!) mit Hochkommata.
Peter
PS: man sollte nicht immer auf andere Leute hören. Oder zumindest vorher deren Aussagen überprüfen. Es wird heutzutage viel zu viel Blödsinn geredet.
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|