Hallo Community,
seit 2 Tagen grübele ich jetzt über folgender Problematik. Ich möchte auf meinem lokalen Datenbank Server eine Datenbank verändern. Und zwar möchte ich die Daten aus einem Table in ein anderes Table und Feld gesammelt transferieren. Dazu habe ich eine SQL-Abfrage erstellt.
Wie auf dem Bild zusehen, sind die Zutaten für ein Rezept in dem Table "rezeih" mehrfach unter einer ID gespeichert. Jedes Rezept hat unterschiedliche Zutaten, deshalb kann es sein, das es je Rezept mehrere Einträge gibt. Die Einträge werden Satznummer (ID), Anschnitt und ZutatenPosition selektiert.
Ich möchte jetzt die einzelnen Rezepte abfragen, um sie dann in ein anderes Table und Feld als ein Datensatz zu speichern. Also z.B.
Satznummer 1 (in anderes Table und Feld "Zutaten")
Bei der Ausgabe wird alles korrekt dargestellt und ausgegeben. Wenn ich aber den Datensatz in dem anderen Table und Feld über das $sql mit UPDATE abspeichere, habe ich nur "1 - Ei" drin. Der Rest fehlt. Wahrscheinlich durchläuft die Schleife das Array bis zum letzten Punkt der "ZutatenPosition" in dem Fall 5, und das wars.
Ich werde noch bekloppt. Ich sehe den Wald vor lauter Bäumen nicht mehr. Und ehrlich gesagt, bin ich mit meinem Latein am Ende. Ich bin Blond, wahrscheinlich ist das))
Vielen Dank für eure Denkanstöße, Tipps und Hilfe.
Diana
Bei einer SQL Abfrage mit LIMIT 6, ansonsten wären die anderen Zutaten, der anderen Rezepte auch noch in dem Array.
Das ist das Table das ich abfrage, um die Daten gesammelt in ein anderes Table zu transferieren.
seit 2 Tagen grübele ich jetzt über folgender Problematik. Ich möchte auf meinem lokalen Datenbank Server eine Datenbank verändern. Und zwar möchte ich die Daten aus einem Table in ein anderes Table und Feld gesammelt transferieren. Dazu habe ich eine SQL-Abfrage erstellt.
Wie auf dem Bild zusehen, sind die Zutaten für ein Rezept in dem Table "rezeih" mehrfach unter einer ID gespeichert. Jedes Rezept hat unterschiedliche Zutaten, deshalb kann es sein, das es je Rezept mehrere Einträge gibt. Die Einträge werden Satznummer (ID), Anschnitt und ZutatenPosition selektiert.
Ich möchte jetzt die einzelnen Rezepte abfragen, um sie dann in ein anderes Table und Feld als ein Datensatz zu speichern. Also z.B.
Satznummer 1 (in anderes Table und Feld "Zutaten")
- 250 g Mehl
- 190 g Butter
- 1 - Tütchen Vanillinzucker
- 90 g gemahlene Walnüsse
- 90 g Zucker
- 1 - Ei
Bei der Ausgabe wird alles korrekt dargestellt und ausgegeben. Wenn ich aber den Datensatz in dem anderen Table und Feld über das $sql mit UPDATE abspeichere, habe ich nur "1 - Ei" drin. Der Rest fehlt. Wahrscheinlich durchläuft die Schleife das Array bis zum letzten Punkt der "ZutatenPosition" in dem Fall 5, und das wars.
Ich werde noch bekloppt. Ich sehe den Wald vor lauter Bäumen nicht mehr. Und ehrlich gesagt, bin ich mit meinem Latein am Ende. Ich bin Blond, wahrscheinlich ist das))
Vielen Dank für eure Denkanstöße, Tipps und Hilfe.
Diana
Bei einer SQL Abfrage mit LIMIT 6, ansonsten wären die anderen Zutaten, der anderen Rezepte auch noch in dem Array.
PHP-Code:
Array ( [0] => Array ( [Menge] => 250 [Einheit] => g [Zutaten] => Mehl ) [1] => Array ( [Menge] => 190 [Einheit] => g [Zutaten] => Butter ) [2] => Array ( [Menge] => 1 [Einheit] => - [Zutaten] => Tütchen Vanillinzucker ) [3] => Array ( [Menge] => 90 [Einheit] => g [Zutaten] => gemahlene Walnüsse ) [4] => Array ( [Menge] => 90 [Einheit] => g [Zutaten] => Zucker ) [5] => Array ( [Menge] => 1 [Einheit] => - [Zutaten] => Ei ) )
PHP-Code:
<?php
$con = mysqli_connect("localhost","root","","");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$data = array();
// Zutaten abfragen
$query = "SELECT Satznummer,Menge,Einheit,Zutatenbeschreibung FROM REZEINH ORDER BY Satznummer, Abschnitt, ZutatenPosition ASC LIMIT 6";
if ($result = mysqli_query($con,$query)) {
echo "<p><ul>";
// output data of each row
while($row = $result->fetch_assoc()) {
if ($row["Menge"]=="" AND $row["Einheit"]=="") {
$row["Menge"] = "-"; $row["Einheit"] = "-";
}
/*$data[] = array(
'Menge', $row['Menge'],
'Einheit', $row['Einheit'],
'Zutaten', $row['Zutatenbeschreibung'],
);*/
echo $clink = "<li>".$row['Menge']." ".$row['Einheit']." ".$row['Zutatenbeschreibung']."</li>";
$sql = "UPDATE rezkopf SET Rezeptzutaten='" . $clink . "' WHERE Satznummer=" . $row["Satznummer"] . "";
}
if (mysqli_query($con, $sql)) {
echo "Neuer Eintrag wurde erfolgreich erstellt!<br />";
} else {
echo "Fehler: " . $sql . "<br>" . mysqli_error($con);
}
echo "</ul></p>";
}
$con->close();
?>
Kommentar