![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich!
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>"; ?> 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'; } ?> 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. Ten post edytował ttb 21.04.2009, 20:38:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Masz na myśli coś takiego?
Nie działa... Ten post edytował ttb 22.04.2009, 13:47:43 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A sprawdz wszystkie zmienne jakie przekazujesz do zapytan
http://php.net/var_dump Poza tym wyjasnij to Cytat
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zmienne grają... zapytanie ułożyłem już inaczej (tak jak podpowiedział 'zelu')...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Czyli jak?
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
chodzi mi o to zapytanie:
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A czy przy update masz połączenie z baza w ogóle?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak, połączenie jest.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Najprostrza rzecz. Skopiuj sobie to zapytani i je wyświetl.
A jak znam zycie to zapewne brakuje ci wywolania funkcji http://php.net/mysql_real_escape_string na kazdym parametrze ktory przekazujesz do zapytania. -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
zapytanie nie aktualizuje rekordu...
funkcji mysql_real_escape_string nie dołączałem... ale czy jej brak może mieć wpływ na brak możliwości aktualizacji rekordu? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Tak może mieć bo np bedzie gdzies w zmiennej znak ' i lezysz.
Zrób po tych zapytaniach echo mysql_error i będziesz wiedział jaki błąd dostajesz. Zapewne otrzymasz jakis syntax error czy coś a wtedy własnei WYSWIETLASZ ZAPYTANIE i je sprawdzasz. Ten post edytował wookieb 22.04.2009, 14:39:32 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:53 |