Pobieram dane z dwóch tabel:
Kod
<?php
require("../connections/c2b.php");
$wynik = mysql_query("SELECT klucz,id,datodb,termin,nrzam,paleta,paczka,l,b,h,w,kod,miasto FROM test WHERE status='wyprodukowano'
UNION SELECT klucz,id,datodb,termin,nrzam,paleta,paczka,l,b,h,w,kod,miasto FROM cate WHERE status='wyprodukowano' ORDER BY 12") or die('Błąd zapytania');
echo "<center><table border=1>";
echo "<tr>";
echo "<td width=140pt><b>NADAWCA</b></td>"; echo "<td width=40pt><b>WZ</b></td>"; echo "<td width=40pt><b>ODBIÓR</b></td>";
echo "<td width=40pt><b>TERMIN</b></td>"; echo "<td width=70pt><b>NR ZAM</b></td>"; echo "<td width=30pt><b>PAL</b></td>";
echo "<td width=30pt><b>PCS</b></td>"; echo "<td width=40pt><b>L</b></td>"; echo "<td width=40pt><b>B</b></td>";
echo "<td width=40pt><b>H</b></td>"; echo "<td width=40pt><b>W</b></td>"; echo "<td width=40pt><b>KOD</b></td>";
echo "<td width=220pt><b>MIASTO</b></td>"; echo "<td width=90pt><b>POBRANIE</b></td>"; echo "<td width=70pt><b>EDYCJA</b></td>";
echo "</tr>";
while($r = mysql_fetch_assoc($wynik)) {
echo "<tr>";
echo "<td>".$r['klucz']."</td>"; echo "<td>".$r['id']."</td>"; echo "<td>".$r['datodb']."</td>";
echo "<td>".$r['termin']."</td>"; echo "<td>".$r['nrzam']."</td>"; echo "<td>".$r['paleta']."</td>";
echo "<td>".$r['paczka']."</td>"; echo "<td>".$r['l']."</td>"; echo "<td>".$r['b']."</td>";
echo "<td>".$r['h']."</td>"; echo "<td>".$r['w']."</td>"; echo "<td>".$r['kod']."</td>";
echo "<td>".$r['miasto']."</td>"; echo "<td>".$r['pobranie']." zł</td>"; echo "<td><a href=\"editwypmag.php?a=edit&id={$r['id']}&klucz={$r['klucz']}\">EDIT</a></td>";
echo "</tr>";}
echo "</table></center>";
?>
require("../connections/c2b.php");
$wynik = mysql_query("SELECT klucz,id,datodb,termin,nrzam,paleta,paczka,l,b,h,w,kod,miasto FROM test WHERE status='wyprodukowano'
UNION SELECT klucz,id,datodb,termin,nrzam,paleta,paczka,l,b,h,w,kod,miasto FROM cate WHERE status='wyprodukowano' ORDER BY 12") or die('Błąd zapytania');
echo "<center><table border=1>";
echo "<tr>";
echo "<td width=140pt><b>NADAWCA</b></td>"; echo "<td width=40pt><b>WZ</b></td>"; echo "<td width=40pt><b>ODBIÓR</b></td>";
echo "<td width=40pt><b>TERMIN</b></td>"; echo "<td width=70pt><b>NR ZAM</b></td>"; echo "<td width=30pt><b>PAL</b></td>";
echo "<td width=30pt><b>PCS</b></td>"; echo "<td width=40pt><b>L</b></td>"; echo "<td width=40pt><b>B</b></td>";
echo "<td width=40pt><b>H</b></td>"; echo "<td width=40pt><b>W</b></td>"; echo "<td width=40pt><b>KOD</b></td>";
echo "<td width=220pt><b>MIASTO</b></td>"; echo "<td width=90pt><b>POBRANIE</b></td>"; echo "<td width=70pt><b>EDYCJA</b></td>";
echo "</tr>";
while($r = mysql_fetch_assoc($wynik)) {
echo "<tr>";
echo "<td>".$r['klucz']."</td>"; echo "<td>".$r['id']."</td>"; echo "<td>".$r['datodb']."</td>";
echo "<td>".$r['termin']."</td>"; echo "<td>".$r['nrzam']."</td>"; echo "<td>".$r['paleta']."</td>";
echo "<td>".$r['paczka']."</td>"; echo "<td>".$r['l']."</td>"; echo "<td>".$r['b']."</td>";
echo "<td>".$r['h']."</td>"; echo "<td>".$r['w']."</td>"; echo "<td>".$r['kod']."</td>";
echo "<td>".$r['miasto']."</td>"; echo "<td>".$r['pobranie']." zł</td>"; echo "<td><a href=\"editwypmag.php?a=edit&id={$r['id']}&klucz={$r['klucz']}\">EDIT</a></td>";
echo "</tr>";}
echo "</table></center>";
?>
Po wybraniu rekordu do edycji:
Kod
<?php
$a = $_GET['a'];
$id = $_GET['id'];
$klucz = $_GET['klucz'];
if($a == 'edit' and !empty($id)) {
$wynik = mysql_query("SELECT id,klucz,datodb,status FROM test WHERE id='$id' AND klucz='$klucz'
UNION SELECT id,klucz,datodb,status FROM cate WHERE id='$id' AND klucz='$klucz'") or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
$r = mysql_fetch_assoc($wynik);
echo '<form action="editwypmag.php" method="POST">
<input type="hidden" name="a" value="save" />
<input type="hidden" name="id" value="'.$id.'" />
<input type="hidden" name="klucz" value="'.$klucz.'" />
<tr><td>DATA WYSTAWIENIA:</td><td><input type="date" onclick="scwShow(this,this)" name="datodb" value="'.$r['datodb'].'"/></td></tr><br><br>
<tr><td>STATUS PRZESYŁKI:</td><td><select name="status" value="'.$r['status'].'">
<option>MAGAZYN</option>
</select></td></tr><br><br>
<input type="submit" value="popraw" />
</form>';
}
}
elseif($_POST['a'] == 'save')
{
$id = $_POST['id'];
$datodb = $_POST['datodb'];
$status = $_POST['status'];
$klucz = $_POST['klucz'];
mysql_query("UPDATE test SET status='$status', datodb='$datodb' WHERE id='$id' AND klucz='$klucz'
OR UPDATE cate SET status='$status', datodb='$datodb' WHERE id='$id' AND klucz='$klucz'") or die('Błąd zapytania');
echo 'Dane zostały zaktualizowane';
}
?>
$a = $_GET['a'];
$id = $_GET['id'];
$klucz = $_GET['klucz'];
if($a == 'edit' and !empty($id)) {
$wynik = mysql_query("SELECT id,klucz,datodb,status FROM test WHERE id='$id' AND klucz='$klucz'
UNION SELECT id,klucz,datodb,status FROM cate WHERE id='$id' AND klucz='$klucz'") or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
$r = mysql_fetch_assoc($wynik);
echo '<form action="editwypmag.php" method="POST">
<input type="hidden" name="a" value="save" />
<input type="hidden" name="id" value="'.$id.'" />
<input type="hidden" name="klucz" value="'.$klucz.'" />
<tr><td>DATA WYSTAWIENIA:</td><td><input type="date" onclick="scwShow(this,this)" name="datodb" value="'.$r['datodb'].'"/></td></tr><br><br>
<tr><td>STATUS PRZESYŁKI:</td><td><select name="status" value="'.$r['status'].'">
<option>MAGAZYN</option>
</select></td></tr><br><br>
<input type="submit" value="popraw" />
</form>';
}
}
elseif($_POST['a'] == 'save')
{
$id = $_POST['id'];
$datodb = $_POST['datodb'];
$status = $_POST['status'];
$klucz = $_POST['klucz'];
mysql_query("UPDATE test SET status='$status', datodb='$datodb' WHERE id='$id' AND klucz='$klucz'
OR UPDATE cate SET status='$status', datodb='$datodb' WHERE id='$id' AND klucz='$klucz'") or die('Błąd zapytania');
echo 'Dane zostały zaktualizowane';
}
?>
pojawia się wybrany rekord, który chcę zmienić. Po kliknięciu "popraw" pojawia się komunikat "dane zostały zaktualizowane" ale nie aktualizuje się.
Problem w tym, że w tabeli test i tabeli cate numery id się powtarzają i nie wiem jak zrobić, żeby aktualizowało rekord w odpowiedniej tabeli...
Porszę o podpowiedź.
Dzięki.