Autor | Zpráva | ||
---|---|---|---|
Quish Profil * |
#1 · Zasláno: 29. 10. 2011, 17:12:37
Snažím se vytvořit systém pro správu zakázek. Údaje zadané do formulářu se ukladají a následně vypisují, to funguje bezvadně. Ale potřebuji editovat právě ty vypsané údaje a rád bych toto všechno prováděl na jedné stránce. Podařilo se mi docilít toho, že když jsem ručně zadal jaké id se má změnit, tak se změnilo, ale potřebuji, aby si tlačítko Vložit samo zjistilo, který řádek má editovat (tlačítko Smazat to dělá). Ukázka - ty php errory nemají vliv, jsem na novém hostingu a ještě jsem neměl čas to upravit.
Celý kód, problemové části kódu: editace a smazání řádku (mazání funguje, přidavám jen pro ilustraci) echo '<input type="submit" value="Vložit" name="upravit">'; echo "<a href='index.php?del=ok&id=".$row["id"]."'>SMAZAT</a>"; kód na který se odvoláva tlačítko Vložit <?php include 'config.php'; //načteme soubor s údaji pro připojení k db mysql_connect($dbserver, $dblogin, $dbheslo); // připojíme se k db mysql_select_db($dbnazev); // vybereme db mysql_query("SET NAMES 'cp1250'"); // nastavíme kódování //když odešleme formulář následující script data uloží to tabulky v databázi if(isset($_POST['upravit'])) { $cislo = htmlspecialchars($_POST['cislo']); //při odeslání příspěvku se nebezpečné znaky změní na entity $zakaznik = htmlspecialchars($_POST['zakaznik']); //při odeslání příspěvku se nebezpečné znaky změní na entity $nazev = htmlspecialchars($_POST['nazev']); //při odeslání příspěvku se nebezpečné znaky změní na entity $popis = htmlspecialchars($_POST['popis']); //při odeslání příspěvku se nebezpečné znaky změní na entity $datum = htmlspecialchars($_POST['datum']); //při odeslání příspěvku se nebezpečné znaky změní na entity $doprava = htmlspecialchars($_POST['doprava']); //při odeslání příspěvku se nebezpečné znaky změní na entity $tisk = htmlspecialchars($_POST['tisk']); //při odeslání příspěvku se nebezpečné znaky změní na entity $baleni = htmlspecialchars($_POST['baleni']); //při odeslání příspěvku se nebezpečné znaky změní na entity $fakturace = htmlspecialchars($_POST['fakturace']); //při odeslání příspěvku se nebezpečné znaky změní na entity $vloz ="UPDATE zakazky set cislo='".$cislo."', zakaznik='".$zakaznik."', nazev='".$nazev."', popis='".$popis."', datum='".$datum."', doprava='".$doprava."', tisk='".$tisk."', baleni='".$baleni."', fakturace='".$fakturace."' where id='9';"; $result=mysql_query($vloz); //a přesměrujeme na zobrazení článků echo '<script type="text/javascript" for="window" event="onLoad()"> <!-- window.location.href="index.php?edit=ok" // --> </script>'; } $edit = htmlspecialchars($_GET['edit']); if($edit == "ok") { echo '<b>Údaje byly upraveny</b>'; } // vypíšeme úspěšnost mysql_close(); //odpojíme se z db ?> Budu rád za každou radu co mi pomůže konečne dokončit tento projekt. |
||
jenikkozak Profil |
#2 · Zasláno: 29. 10. 2011, 18:02:06
Quish:
Do těch formulářů na editaci příspěvků vložte skrytý input, který bude obsahovat id daného příspěvku: echo "<input type=\"hidden\" name=\"id_prispevku\" value=\"".$row['id']."\">"; Dotaz na databázi, který příspěvky upravuje, změňte určením id příspěvku, který byl odeslán: $vloz ="UPDATE zakazky set cislo='".$cislo."', [...] fakturace='".$fakturace."' where id='".(int) $_POST["id_prispevku"]."'"; |
||
Rellik Profil |
#3 · Zasláno: 29. 10. 2011, 18:34:01 · Upravil/a: Rellik
Myslím že ze stránek ze kterých jsi čerpal najdeš i odpověď... Je to pořád stejné, jen tam máš víc položek...
navíc v tomto kódu máš na řádku 18 pevně nastavenou úpravu řádku s ID 9. Navíc tam máš za tím id='9'; navíc ten středník. $vloz ="UPDATE zakazky set cislo='".$cislo."', zakaznik='".$zakaznik."', nazev='".$nazev."', popis='".$popis."', datum='".$datum."', doprava='".$doprava."', tisk='".$tisk."', baleni='".$baleni."', fakturace='".$fakturace."' where id='9';"; třeba proto to nefunguje jak má... To tlačítko na úpravu udělej stejně jako je to mazání a nemusíš řešit skryté inputy.. bude to např tak: echo "<a href='edit.php?id=".$row["id"]."'>EDITOVAT</a>"; nebo echo "<a href='index.php?page=edit&id=".$row["id"]."'>EDITOVAT</a>"; http://firstpage.rellik.eu/?page=edit_sql |
||
Quish Profil * |
#4 · Zasláno: 29. 10. 2011, 19:29:12
Moc dekuji vsem za odpovedi. Pouzil jsem reseni Jenika Kozaka, ktere funguje presne tak, jak jsem potreboval. Jeste jednou dekuji.
|
||
Časová prodleva: 12 let
|
0