| Autor | Zpráva | ||
|---|---|---|---|
| Jiří Ráb Profil |
#1 · Zasláno: 5. 2. 2019, 17:49:56
Ahoj chtěl jsem se vás zeptat mám rezervace tabulku a a z ní vypisuji tyto rezervace do tabulky a chtěl jsem se jak to udelat abych když jednotlivé rezervace mám na řádku a dal bych na každy řádek dat button na smazaní jak to udělat aby se smazal ten záznam. Dík za pomoc
|
||
| Ikki Profil |
#2 · Zasláno: 5. 2. 2019, 18:14:20
Pokud máš například ID pro každý záznam, tak v případě že vypisuješ záznamy do tabulky, tak pouze přidej klasický HTML button a dodej mu vyvolání funkce pro smazání. Variantou je například i odkaz <a href="smazání?id=$id">Smazat</a> kdy ve funkci vytáhneš id pomocí GET, ale nejspíše bych volil lepší a bezpečnější metodu.
|
||
| Jiří Ráb Profil |
ahoj zkoušel jsem to pomocí formu ale je problém že ve formu nemám pokud dám input do <td></td> tak mi ho to neukazuje ve formu ale mimo nej
foreach ($minule as $value) {
echo"<tr class='zaznam'>";
echo "<form action='rezervace_vyber.php' method='post'>";
if (is_array($value)) {
foreach ($value as $value2) {
echo'<td>'.$value2.'</td>';
}
}
echo "<td><input type='checkbox' required='Vyplnte' name='delete_row' value=".$value["id_rezervace"]."></td>";
echo "<td><input type='submit' name='delete_submit' value='Odeslat'></td>";
echo "</form>";
echo "</tr>";
}i když v kodu je to v nem vee formu tak v prohlízeci je to mimo form [img]file:///C:/Users/jirka/Desktop/php.PNG[/img] drive.google.com/file/d/1lev3oRDtM7n-PqRXTtn-4qu_5qQgWw77/view?usp=sharing posílam cely kod který mi vypisuje tabulku <?php
require_once('uzivatel.class.php');
session_start();
var_dump($_POST);
if (isset($_POST['typ_rezervace'])) {
if ($_POST['typ_rezervace']=='minule_rezervace') {
$minule=$_SESSION['uzivatel']->minuleRezervace();
echo "<table cellspacing='0' id='reservation_table'>
<tr id='main_zaznam'>
<th>ID_rezervace</th>
<th>Letadlo</th>
<th>Pocet osob</th>
<th>Čas a datum odletu</th>
<th>Délka letu</th>
<th>Cena letu (Kč)</th>
<th>Stav rezervace</th>
<th>Výběr</th>
<th>Smazat</th>
</tr>
";
foreach ($minule as $value) {
echo"<tr class='zaznam'>";
echo "<form action='rezervace_vyber.php' method='post'>";
if (is_array($value)) {
foreach ($value as $value2) {
echo'<td>'.$value2.'</td>';
}
}
echo "<td><input type='checkbox' required='Vyplnte' name='delete_row' value=".$value["id_rezervace"]."></td>";
echo "<td><input type='submit' name='delete_submit' value='Smazat'></td>";
echo "</form>";
echo "</tr>";
}
echo "</table>";
}
if ($_POST['typ_rezervace']=='aktualni_rezervace') {
$aktualni=$_SESSION['uzivatel']->aktualniRezervace();
echo "<table cellspacing='0' id='reservation_table'>
<tr id='main_zaznam'>
<th>ID_rezervace</th>
<th>Letadlo</th>
<th>Pocet osob</th>
<th>Čas a datum odletu</th>
<th>Délka letu</th>
<th>Cena letu (Kč)</th>
<th>Stav rezervace</th>
<th>Výběr</th>
<th>Smazat</th>
</tr>
";
foreach ($aktualni as $value) {
echo"<tr class='zaznam'>";
echo "<form action='rezervace_vyber.php' method='post'>";
if (is_array($value)) {
foreach ($value as $value2) {
echo'<td>'.$value2.'</td>';
}
}
echo "<td><input type='checkbox' required='Vyplnte' name='delete_row' value=".$value["id_rezervace"]."></td>";
echo "<td><input type='submit' name='delete_submit' value='Smazat'></td>";
echo "</form>";
echo "</tr>";
}
echo "</table>";
}
}delal jsem to podle videa na youtube www.youtube.com/watch?v=YOkhHdwtDjU |
||
| Ikki Profil |
if (isset($_POST['typ_rezervace'])) {
if ($_POST['typ_rezervace']=='minule_rezervace') {
$minule=$_SESSION['uzivatel']->minuleRezervace();
echo "<table cellspacing='0' id='reservation_table'>
<tr id='main_zaznam'>
<th>ID_rezervace</th>
<th>Letadlo</th>
<th>Pocet osob</th>
<th>Čas a datum odletu</th>
<th>Délka letu</th>
<th>Cena letu (Kč)</th>
<th>Stav rezervace</th>
<th>Výběr</th>
<th>Smazat</th>
</tr>
";
foreach ($minule as $value) {
echo"<tr class='zaznam'>";
if (is_array($value)) {
foreach ($value as $value2) {
echo'<td>'.$value2.'</td>';
}
}
echo "<td><input type='checkbox' required='Vyplnte' name='delete_row' value=".$value["id_rezervace"]."></td>";
echo "<td><a href="?smazat=".$value["id_rezervace"].">Smazat</a></td>"; // Upraveno na odkaz pro lepší přehlednost.
echo "</tr>";
}
echo "</table>";
}a přidám podmínku pro GET if($_GET['smazat']){ $db = "DELETE FROM /Tabulka/ WHERE id=".$_GET['smazat'].""; }Je to řekl bych asi nejjednodušší možné řešení. Každopádně je to pouze ilustrace, nikoli kompletní kód. |
||
| Jiří Ráb Profil |
dík moc ale stejne nechapu proc mi to nejde když mu to na tom video jde?
Vypada to jako by html nepodporovalo mit form v radku tabulky |
||
| Ikki Profil |
#6 · Zasláno: 5. 2. 2019, 22:29:18
Tvůj kód jsem nijak extrémně nestudoval, ale je možné že tam je nějaká chyba ve vyvolání funkce, špatně nastavený form či jiné. Odepisuju z mobilu, tak promiň :D
|
||
| Jiří Ráb Profil |
#7 · Zasláno: 5. 2. 2019, 23:24:55
ok
|
||
| Kajman Profil |
#8 · Zasláno: 6. 2. 2019, 00:21:09
Jiří Ráb:
„Vypada to jako by html nepodporovalo mit form v radku tabulky“ Ano, nepodporuje. a) udělejte jeden form kolem tabulky b) dejte form až do buňky tabulky c) tabulku nepoužívejte a zformátujte data jinak d) nepoužívejte form Ať už použijete formulář nebo jen odkaz, používejte tokeny, např. dle Automatická obrana proti CSRF |
||
| Tomášeek Profil |
#9 · Zasláno: 6. 2. 2019, 08:00:15
Ikki:
Ten tvůj kód je taky peklo. Syntaktické chyby, nedefinovane proměnné, sql injection... |
||
| Ikki Profil |
#10 · Zasláno: 6. 2. 2019, 08:36:36
Tomášeek:
Jaké mé chyby? 1. Upozornil jsem že tam není ochrana ani nic podobného. 2. Opravit to na mobilu s bugem od JPW.cz je taky sranda. 3. To není můj kód, ale jeho a já mu ho pouze názorně upravil, není k užitku, ale k názoru. Pokud tedy nemáš nic objektivního co bych neuvedl v některém z komentářů, tak si odpusť své nízko intelektové dodatky, díky a měj se. |
||
| Tomášeek Profil |
#11 · Zasláno: 6. 2. 2019, 08:44:11
Ikki:
1. pak je to kód na draka. 3. Chyby jsou v te tebou dodané časti. Ad zbytek. Jsi vtipný, radsi si hlídej kvalitu odpovědi. |
||
|
Časová prodleva: 7 let
|
|||
0