Autor | Zpráva | ||
---|---|---|---|
Marius Profil * |
#1 · Zasláno: 4. 7. 2006, 09:47:07
nevím, jestli to už nespadá do databází, ale jelikož asi nelze úplně oddělit php a databáze, tak to šoupnu sem. Mám údaj v databázi, vypisuju ho na stránce. vedle mám tlačítko(vlastně dvě jakoby, hidden a klasický submit) na který když klapnu, tak by se měl ten záznam smazat. Je to celý ve formuláři, takže se to odešle na php stránku, a ta by to měla smazat. Vše se odešle jak má, ale nesmaže se to. Dám sem ten skript na to mazání, jestli v tom někdo najdete chybu:
<?php $odkaz="<a href=\"databaze.php\" title=\"Návrat na objednávky\">Návrat na objednávky</a>"; $smazat=$_POST["smazat"]; do { require_once("db.inc"); if (!otevridb()) break; $vysledek = mysql_query ("DELETE FROM zakazky WHERE adresa='$smazat'"); if (!$vysledek) { echo "Číslo chyby: ".mysql_errno()."<br />Popis chyby: ".mysql_error(); exit; } else { echo "Vaše data byla úspěšně smazána!"."$odkaz"; echo $vysledek; } } while (false); ?> děkuji předem |
||
WertriK Profil |
#2 · Zasláno: 4. 7. 2006, 09:52:46
Pokud to nevypisuje chybu, tak bych rekl ze v db nebude hodnota $smazat.
|
||
Marius Profil * |
#3 · Zasláno: 4. 7. 2006, 09:56:13
ta tam musí být, páč je to tak provázaný. Já sem hodím i ten první, snad z toho bude pochopitelný, co tím chtěl básník říci:
<?php $odkaz="<a href=\"databaze.php\" title=\"Návrat na objednávky\">Návrat na objednávky</a>"; $smazat=$_POST["smazat"]; do { require_once("db.inc"); if (!otevridb()) break; $vysledek = mysql_query ("DELETE FROM zakazky WHERE adresa='$smazat'"); if (!$vysledek) { echo "Číslo chyby: ".mysql_errno()."<br />Popis chyby: ".mysql_error(); exit; } else { echo "Vaše data byla úspěšně smazána!"."$odkaz"; echo $vysledek; } } while (false); ?> |
||
Marius Profil * |
#4 · Zasláno: 4. 7. 2006, 09:57:11
oprava, spletl jsem to:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <body> Objednávky <br /><br /><div> </div> <?php require_once("db.inc"); if (!otevridb()) break; ?> <table width="100%" border="1"> <tr align="center"> <td align="center">Jméno</td> <td align="center">Přijmení</td> <td align="center">Adresa</td> <td align="center">Telefon</td> <td align="center">Email</td> <td align="center">Tarif</td> <td align="center">Poznámka</td> <td align="center">Čas</td> <td align="center">Smazat/přesunout</td> </tr> <?php $vysledek = mysql_query("SELECT * FROM ZAKAZKY"); while($zaznam=mysql_fetch_array($vysledek)) { print "<tr align=\"center\"><td align=\"center\">".$zaznam["jmeno"]."</td> <td align=\"center\">".$zaznam["prijmeni"]."</td> <td align=\"center\">".$zaznam["adresa"]."</td> <td align=\"center\">".$zaznam["telefon"]."</td> <td align=\"center\">".$zaznam["email"]."</td> <td align=\"center\">".$zaznam["tarif"]."</td> <td align=\"center\">".$zaznam["poznamka"]."</td> <td align=\"center\">".$zaznam["cas"]."</td> <td align=\"center\"><form method=\"post\" action=\"mazani.php\"> <input type=\"hidden\" name=\"smazat\" value=\"".$zaznam["adresa"]."\"> <input type=\"submit\" value=\"Smazat\" name=\"smazat\" /></form> <form method=\"post\" action=\"presunuti.php\"> <input type=\"hidden\" name=\"presunout\" value=\"".$zaznam["adresa"]." \"> <input type=\"submit\" value=\"Přesunout\" name=\"presunout\" /> </form> </td> </tr>"; while (false); } mysql_close(); ?> </table> </body> </html> |
||
Marius Profil * |
#5 · Zasláno: 4. 7. 2006, 11:18:46
tak už to mám, zase triviální chyba. Přeplácnul jsem jméno proměnný $smazat=$_POST["smazat"];
|
||
jimmy Profil * |
#6 · Zasláno: 4. 7. 2006, 11:27:01
Cus
No pokud mas dobre prihlaseni do databaze tak vidim jen jedinou chybu Ja to delam trochu jinak, ale určitě mnoho způsobů. chybu maáš podle mě tady: $vysledek = mysql_query ("DELETE FROM zakazky WHERE adresa='$smazat'"); mělo by to být takhle: $vysledek = mysql_query ("DELETE FROM zakazky WHERE adresa='" . $smazat . " '"); kdyz uzavreš proměnnou do úvozovek tak se nevypíše hodnota, ale zůstane to jako text. ale já to dělám: $query = "DELETE FROM zakazky WHERE adresa=\'" . $smazat . "\'"; $resuld = mysql_query($query) or die('spatný dotaz'); Jimmy |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0