![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Napisalem prostego skrypcika ktory modyfikuje dane w bazie Mysql, wszystko ladnie przechodzi nie wywala errorow ale nie robie tego do czego byl skrypcik stworzony. Czy mozecie na to rzucic profesionalnym okiem bo przyznam sie szczerze nie jestem dobry z tego Pozdrawiam i z góry dziekuje[php:1:71bd2f58d0]<?php if ($action==mod){ $db = @mysql_select_db($db_name, $polacz) or die ("BLAD"); $sql = "SELECT * FROM $table_name"; $wynik = @mysql_query($sql) or die ("BŁAD"); print "<form action=index.php method=get><table border=1 cellpadding=0 cellspacing=0><tr height=40><td width=30>ID</td><td width=100>Data</td><td width=100>Nick</td><td width=300>Tresc</td><td width=120>Opcje</td></tr>"; $i=1; while ($row = mysql_fetch_array($wynik)) { $id = $row['ID']; $arch = $row['Arch']; $nick = $row['Nick']; $data = $row['Data']; $news = $row['News']; if ($arch=='T'){ print "<tr bgcolor=aqua height=40><td>$i</td><td>$data</td><td>$nick</td><td>$news</td> <td><a href=index.php?action=mod&id=$id&arch=$arch&nick=$nick&data=$data&news=$news>Modyfikuj</a></td></tr>"; } else { print "<tr height=40><td>$i</td><td>$data</td><td>$nick</td><td>$news</td><td> <a href=index.php?action=mod&id=$id&arch=$arch&nick=$nick&data=$data&news=$news>Modyfikuj</a></td></tr>"; } $i++; } print "</table>"; $id1 = $_GET['id']; $arch1 = $_GET['arch']; $nick1 = $_GET['nick']; $data1 = $_GET['data']; $news1 = $_GET['news']; if (isset($id1)) { print "<br><br><form action=index.php? method=get><table> <input type=hidden name=action value=mod> <tr><td>ID</td><td><input type=text name=id value=$id1></td></tr> <tr><td>Data</td><td><input type=text name=data value=$data1></td></tr> <tr><td>Nick</td><td><input type=text name=nick value=$nick1></td></tr> <tr><td>Wiadomosc</td><td><textarea name=wiadomosc rows=5>$news</textarea></td></tr> <tr><td>Archiwum</td><td><select name=arch1 size=2>"; if ($arch1=='T'){ print "<option value=T selected=true>Tak</option><option value=N>Nie</option>"; } else { print "<option value=T>Tak</option><option value=N selected=true>Nie</option>"; } print "<tr><td colspan=2><input type=submit value=modyfikacja name=ok></td></tr></table></form>"; } if ($ok==modyfikacja){ $id2 = $_GET['id']; $data2 = $_GET['data']; $nick2 = $_GET['nick']; $news2 = $_GET['wiadomosc']; $arch2 = $_GET['arch']; $db = mysql_select_db($db_name, $polacz) or die ("Bład połaczenia z baza"); $sql= "UPDATE `$table_name` SET `ID` = '$id2',`Arch` = '$arch2', `Nick` = '$nick2',`Data` = '$data2',`News` = '$news2' WHERE `ID` = '$id1' AND `Arch` = '$arch1' AND `Nick` = '$nick1' AND `Data` = '$data1' AND `News` = '$news1'"; $wynik = mysql_query($sql) or die ("Nie uaktualniono bazy"); print "<br><br>Zmodyfikowano rekord"; } } ?>[/php:1:71bd2f58d0] -------------------- --------------------------------------
Pozdrawiam marcindvd.net -------------------------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
jesli nie masz atrybutu id ustawionego jako unikalny, to sobie go ustaw jako taki, potem wystarczy zastapic kod:
[sql:1:77175e9c22]UPDATE `$table_name` SET `ID` = '$id2',`Arch` = '$arch2', `Nick` = '$nick2',`Data` = '$data2',`News` = '$news2' WHERE `ID` = '$id1' AND `Arch` = '$arch1' AND `Nick` = '$nick1' AND `Data` = '$data1' AND `News` = '$news1'[/sql:1:77175e9c22] kodem: [sql:1:77175e9c22]UPDATE $table_name SET Arch='$arch2',Nick='$nick2',Data='$data2',News='$news2' WHERE ID= '$id1'[/sql:1:77175e9c22] pozatym jakbys mial unique, to wywal ten fragment[sql:1:77175e9c22]`ID` = '$id2'[/sql:1:77175e9c22] ale najlepszym rozwiazaniem jest zastapic ten koncowy kod tym: [php:1:77175e9c22]<?php $wynik = mysql_query($sql) or die (mysql_error()); ?>[/php:1:77175e9c22] to ci wyswietli jakie sa bledy w zapytaniu, chyba, ze bledy sa we wczesniejszym zapytaniu, to tam dodaj na koncu mysql_error() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 17:15 |