Datenbanken php Array übertragen Fehler?

... komplette Frage anzeigen

1 Antwort

Hallo,

nun überleg dich mal logisch: Du hast in der alten Tabelle für jeden Eintrag einen eigenen Datensatz. Diesen möchtest du nun zu einem Datensatz zusammenfügen (also z.B. aus 6 Datensätzen, 1 machen).

Du machst nun folgendes: Du fragst die alten Datensätze ab, gehst Sie in einer Schleife durch und schreibst Sie einfach wieder in die neue Tabelle rein. Du machst also nichts anderes als die Tabelle zu kopieren.

Du hast nun 2 Möglichkeiten:

1. Entweder du prüfst in deiner Schleife ob es die form ID in der neuen Tabelle schon gibt und führst entsprechend ein Insert oder eben ein Update druch.

2. Die Elegenatere Lösung: Du fragst erstmal alle Daten ab, schreibst Sie sauber und ordentlich in ein Array und gehst dieses am Ende dann wieder durch und machst hier einen Insert pro form ID.

Grüße

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Holger889
07.06.2016, 21:55

Vielen Dank erstmal. Genau so hab ich auch überlegt und ich experimentiere noch damit. Ich habe meinen Code so erweitert:

//nach der Variablendeklaration in der while schleife
$order2[$y] = $row['order_id'];
$value2[$y] = $row['value'];

if ($order[$i] = $order2[$y])
{
if ($form[$i] == 2)
{
$daten2 = mysql_query("INSERT INTO $tableNameSW ( user_id, vorname, nachname)
VALUES ('$order[$i]', '$value[$i]', '$value2[$y]')");

}
$i++;
$y++;
}

$y hat von beginn an den Wert 2 ist also immer eins weiter als $i.

Jedenfalls dachte ich das so. Aber dieser Code sorgt nur dafür, das ich zweimal die Vornamen in beiden Spalten stehen habe. Vorname = Nachname. Aber müsste $value nicht schon eins weiter gerückt sein und somit den nachnamen Wert enthalten? Was mache ich da falsch?

0

Was möchtest Du wissen?