Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czy ktoś mo moze pomóc ?
marcindvd
post 28.01.2004, 00:22:02
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
--------------------------------------
Go to the top of the page
+Quote Post
wojto
post 28.01.2004, 07:54:27
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()


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:15