Witam,
ślęczę już od paru dobrych godzin i nie mam pomysłu jak wykonac następującą rzecz:
1. Mam formularz w którym użytkownik edytuje wcześniej wczytane z bazy danych informacje.
Kod wygląda następująco:
<?php
echo' <form method="post" action="'.$_PHPSELF.'"> <table width="100%" border="0">
<tr>
<td width="10%"><div align="center"><b><input type="text" size="2%" name="pozycja[]" value="'.$pozycja.'"></b></div></td>
<td width="30%"><div align="center"><b><input type="text" size="20%" name="nazwa[]" value="'.$nazwa.'"></b></div></td>
<td width="10%"><div align="center"><b><input type="text" size="2%" name="mecze[]" value="'.$mecze.'"></b></div></td>
<td width="10%"><div align="center"><b><input type="text" size="2%" name="z[]" value="'.$z.'"></b></div></td>
<td width="10%"><div align="center"><b><input type="text" size="2%" name="r[]" value="'.$r.'"></b></div></td>
<td width="10%"><div align="center"><b><input type="text" size="2%" name="p[]" value="'.$p.'"></b></div></td>
<td width="10%"><div align="center"><b><input type="text" size="4%" name="bramki[]" value="'.$bramki.'"></b></div></td>
<td width="10%"><div align="center"><b><input type="text" size="4%" name="punkty[]" value="'.$punkty.'"></b></div></td>
</tr>
</table>
<input type="hidden" name="zespolid[]" value="'.$zespolid.'">';
}
}
echo'<div align="center"><p><input type="submit" name="edytuj" value="Zapisz"></p></div>'; }
?>
2. Po kliknięciu zapisz formularz powinien wykonac pare instrukcji foreach i zapisac aktualne dane do bazy danych.
Kod wyglada tak:
<?php
if (!empty($_POST['edytuj']) && !empty($_POST['zespolid'])) {
require_once ("../baza_dane.php");
$zespolid = $_POST['zespolid'];
$pozycja = $_POST['pozycja'];
$nazwa = $_POST['nazwa'];
$mecze = $_POST['mecze'];
$z = $_POST['z'];
$r = $_POST['r'];
$p = $_POST['p'];
$bramki = $_POST['bramki'];
$punkty = $_POST['punkty'];
foreach ($zespolid as $zes)
foreach ($pozycja as $poz)
foreach ($nazwa as $naz)
foreach ($mecze as $mec)
foreach ($z as $zwy)
foreach ($r as $rem)
foreach ($p as $por)
foreach ($bramki as $bra)
foreach ($punkty as $pun) {
$zapytanie = "UPDATE zespoly SET
pozycja = '$poz',
nazwa = '$naz',
mecze = '$mec',
z = '$zwy',
r = '$rem',
p = '$por',
bramki = '$bra',
punkty = '$pun'
WHERE zespolid = '$zes'";
}
}
?>
Jednak jak z góry wiadomo informacje się nie zapisują. Czy wie ktoś dlaczego? Funkcja mysql_error() nie zwraca żadnych błędów a np. jeżeli edytuję 3 rzeczy to powyższy kod zapisuje pierwszą poprawnie a pozostałe nadpisuje.
Wygląda to mniej więcej tak:
EDYTUJĘ:
- dana 1
- dana 2
- dana 3
PO ZAPISIE WYGLĄDA TAK
- dana 1
- dana 1
- dana 1
Czy ktoś ma pomysł jak rozwiązac problem? Mam nadzieje ze opisalem wszystko jasno i wyraznie. Jezeli sa watpliwosci moge to jescze jasniej napisac