mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 09:18 Benutzername: Passwort: Auto-Login

Thema: Problem mit PHP, Arrays und MySQL vom 19.03.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Problem mit PHP, Arrays und MySQL
Seite: Zurück  1, 2, 3, 4  Weiter
Autor Nachricht
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Do 27.03.2008 00:03
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Weil ich anhand der ID online per PHP bestimmte Datensätze löschen kann usw... Und mir war es nur wichtig, dass jede Person eine ID hat

Ja, genau. Eindeutige Identifizierung der Datensätze. Genau dafür ist die ID da. Und genau das brauchst du, wenn du verschiedene Tabellen miteinander verknüpfen willst (-> JOIN).
Du normalisierst deine Tabellen, so das du möglichst keine Redundanzen mehr drin hast (also Daten, die mehrfach, also in verschiedenen Tabellen auftauchen).
Und dann kannst du die Tabellen wunderbar miteinander verknüpfen.
Bevor man mit einem Projekt anfängt, sollte man sich das Design der Datenbank, sprich den Aufbau der Tabellen, also genau überlegen.
Das gehört zu den Grundlagen.
Wirf einen Blick auf die geposteten Links. Das wird dir helfen.
  View user's profile Private Nachricht senden
.MacSven
Threadersteller

Dabei seit: 20.03.2007
Ort: -
Alter: 37
Geschlecht: Männlich
Verfasst Do 03.04.2008 15:58
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab mir jetzt mal eure Links durchgeschaut. Das sieht ja auf den ersten Blick alles ziemlich kompliziert aus, macht aber alles Sinn.

Was ich nur noch nicht herausgefunden habe ist, wie ich die beiden Tabellen später wieder zusammenführe und was mir das alles bringt.
Natürlich ist es sinnvoll seine Tabelle strukturiert aufzubauen aber eine Lösung für mein eigentliches Problem sehe ich darin jetzt irgendwie nicht.

Ich habe immer noch die Probleme, dass ich die Daten auf Grund des PHP-Befehls nicht in die Datenbank eintragen kann und wüsste jetzt auch nicht, wie ich (angenommen ich mache das alles mit 2 Tabellen) diese Tabellen später als eine Excel-Datei sinnvoll ausgeben kann.

Ich muss wirklich sagen, ich kenn mich da nicht gut aus, deshalb frag ich hier ja auch. Aber ich muss irgendwie diese ganzen Daten aus dem Formular in meine Tabelle kriegen. =)
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 03.04.2008 16:59
Titel

Antworten mit Zitat Zum Seitenanfang

Stichwort JOIN
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
.MacSven
Threadersteller

Dabei seit: 20.03.2007
Ort: -
Alter: 37
Geschlecht: Männlich
Verfasst Mi 09.04.2008 10:20
Titel

Antworten mit Zitat Zum Seitenanfang

Also...
ich habe jetzt gerade noch mal mit meinen Kollegen gesprochen und es soll jetzt so sein, dass die Mitreisenden genauso behandelt werden wie der Hauptbucher. Ich muss also einfach nur jeden Mitreisenden in einer neue Zeile der Tabelle einfügen (mit den gleichen Datensätzen wie der Hauptbucher).

Meine Frage dazu wäre jetzt, wie ich MySQL beibringe, dass z.B. die verschiedenen Datensätze von Name jeweils in eine neue Zeile (mit neuer ID) kommen und nicht alle in ein Feld stehen.

So nicht:
---------------------
ID Name
1 Max
Peter
Lena
--------------------
2 Jana
Hannes
--------------------

Sondern so:

---------------------
ID Name
1 Max
--------------------
2 Peter
--------------------
3 Lena
--------------------
4 Jana
---------------------
5 Hannes
--------------------

Normalerweise legt MySQL ja bei jedem neuen Abschicken des Formulars eine neue Zeile mit neuen Daten in der Tabelle an, jetzt muss es aber so sein, dass schon für jeden Mitreisenden eine neue Zeile angelegt wird. Also bis zu 50 Zeilen mit einer neuen ID beim 1x Absenden des Formulars!

Wie geht das?
  View user's profile Private Nachricht senden
achwasweisich

Dabei seit: 27.09.2007
Ort: Stuttgarter Raum
Alter: -
Geschlecht: Männlich
Verfasst Do 10.04.2008 09:40
Titel

Antworten mit Zitat Zum Seitenanfang

Naja, Du bekommst Deine Formulardaten ja mit diesen Variablen
Code:
"mf_vorname[".$i."]"
(Komischer Name übrigens.)
Im Grund mußt Du jetzt nur eine Schleife bauen, die die Variablen durchgeht
und jedesmal einen INSERT Befehl abschickt, wenn in der entsprechenden
Variablen was sinnvolles drinsteht.

Also quasi
Zitat:


/* Ich gehe mal von einem sinnvolleren Variablennamen aus, z.B. mf_vorname_X */

for($i=1;$i<=15;$i++) {
if ($_POST["mf_vorname_$i") {
"INSERT INTO foo (vorname, nachname, blabla) VALUES(" . $_POST["mf_vorname_$i"] . ", " . $_POST["mf_nachname_$i"] . ", " . "$_POST["mf_blabla_$i"]" . ")";
}
}


Das ist zwar alles kein guter Code, aber es würde einfach zu weit führen, Dir hier die Grundlagen für eine gute Programmierung näherzubringen. Für Deine Zwecke sollte Dir das weiterhelfen.
  View user's profile Private Nachricht senden
.MacSven
Threadersteller

Dabei seit: 20.03.2007
Ort: -
Alter: 37
Geschlecht: Männlich
Verfasst Do 10.04.2008 11:16
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab das jetzt mal abgeändert. Allerdings bekomme ich jetzt folgenden Fehler:
Code:
Parse error: syntax error, unexpected T_VARIABLE in /homepages/0/d13350303/htdocs/FUNREISEN/formulare/testbuchung.php on line 888

Das steht in den Zeilen (Zeile 886-896):
Zitat:
// Daten der Mitreisenden, die in mit der Mail verschickt werden
for($i=1;$i<=sizeof($mf_vorname);$i++) {
if($mf_vorname_$i == "") { break; }
$DATA["Mitreisender".$i." Vorname"]=$mf_vorname_$i;
$DATA["Mitreisender".$i." Nachname"]=$mf_nachname_$i;
$DATA["Mitreisender".$i." Geburtsdatum"]=$mf_geburtsdatum_$i;
$DATA["Mitreisender".$i." Strasse_Nr"]=$mf_strasse_$i;
$DATA["Mitreisender".$i." PLZ_Ort"]=$mf_plz_$i;
$DATA["Mitreisender".$i." Telefon"]=$mf_telefon_$i;
$DATA["Mitreisender".$i." Mail"]=$mf_mail_$i;
}


Ansonsten ist dein Vorschlag genau das was ich brauche! Also wenn das jetzt noch alles klappen würde... perfekt!
  View user's profile Private Nachricht senden
achwasweisich

Dabei seit: 27.09.2007
Ort: Stuttgarter Raum
Alter: -
Geschlecht: Männlich
Verfasst Do 10.04.2008 13:33
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
$mf_blabla_$i
kann es nicht geben.

Vielleicht meints du ein array?
Code:
$mf_blabla[$i]
  View user's profile Private Nachricht senden
.MacSven
Threadersteller

Dabei seit: 20.03.2007
Ort: -
Alter: 37
Geschlecht: Männlich
Verfasst Do 10.04.2008 13:55
Titel

Antworten mit Zitat Zum Seitenanfang

Jetzt bin ich verwirrt, das hast du doch so vorgeschlagen!?

Aber wenn ich das mit dem array mache, dann hab ich das Problem, dass ich beim Eintragen in die Datenbank nicht
Code:
'$_POST[mf_vorname[$i]]'

verwenden darf, weil dann eine eckige Klammer in einer eckigen Klammer steht. Das funktioniert irgendwie nicht! Die Arrays würde ich ja gerne beibehalten, nur weiß ich nicht, wie ich das dann an die Datenbank übertragen soll!?
  View user's profile Private Nachricht senden
 
Ähnliche Themen Actionscript / PHP: Arrays in Arrays bei Übergabe mit Post?
Problem bei der Übermittlung vor Artikel-Arrays
[php]: problem mit arrays die zusammen sortiert werden solle
mysql-problem
[php] mysql-problem?
mySQL -> PHP Problem
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.