Hallo und Guten Tag zusammen !
Ich bastel gerade an einer neuen Seite herum, habe aber mit der Suche nach einer Lösung aufgegeben. Ich hoffe es findet such jemand der mir ein wenig unter die Arme greift...
Folgendes Problem:
Im unten stehenden Script sollen mehrere inserts in die DB geschrieben werden. Allerdings wird mit $_POST immer nur die letze Auaswahl übernommen, bzw. im array überschrieben. Wie kann ich das ändern, bzw. wo liegt mein Denkfehler im Aufbau?
Ich wäre für Hilfe sehr dankbar !
MrOrangeSky
<?php
session_start();
include("inc/functions.inc");
include("inc/db_user.inc");
include("inc/arrays.inc");
$cxn = Connect_to_db("db_user.inc");
$sql = "SELECT *, DATE_FORMAT(online,'%d.%m.%Y') as online, DATE_FORMAT(online,'%w') as weekday
FROM items order by rang";
$result = mysqli_query($cxn,$sql)
or die ("Die Abfrage enthält einen Fehler !");
$n = 1;
while($row = mysqli_fetch_assoc($result))
{
foreach($row as $field => $value)
{
$menu[$n][$field]=$value;
}
$n++;
}
for($i=1;$i<=2;$i++)
{
$key = $menu[$i]['weekday'];
$menu[$i]['weekday'] = $weekday[$key];
echo "<tr>";
echo "<td>{$menu[$i]['weekday']}, der</td>";
echo "<td>{$menu[$i]['online']}</td>";
echo "<td>Menü {$menu[$i]['rang']}: </td>";
echo "<td>{$menu[$i]['name']}</td>";
echo "<td>{$menu[$i]['preis']} €</td>";
echo "<td align='center' width='12%'>
<select name='anzahl' size='1'>
<option value='0'>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select></td>\n";
echo "<input type='hidden' name='item_id' value='{$menu[$i]['id']}'>\n";
echo "<input type='hidden' name='einzelpreis' value='{$menu[$i]['preis']}'>\n";
echo "</tr>";
}
echo "<td colspan='6'><input type='submit' name='order' value='Bestellen'></td></tr>";
if($_POST['order'] == "Bestellen")
foreach($_POST as $field => $value)
{
$amount = $_POST['einzelpreis'] * $_POST['anzahl'];
$connect = connect_to_db("db_user_zentrale.inc");
$sql_tmp_order = "INSERT INTO transaktion (id,datum,client,benutzer_id,db_id,transaktionstyp_id,item_id,einzelpreis,anzahl,gesamtpreis,status_id)
VALUES ('',now(),'1','{$_SESSION['benutzer_id']}','02','1','{$_POST['item_id']}','{$_POST['einzelpreis']}','{$_POST['anzahl']}','$amount','0')";
$result = mysqli_query($connect, $sql_tmp_order)
or die("sql_tmp_order".mysqli_error($connect));
}
?>