Autor Zpráva
tomvyb
Profil
Zdravím je to sice asi jednoduchá věc, ale nějak sem se do toho zapletl a nějak si nevím rady...

Potřeboval bych udělat jednoduchou administraci (databáze mysql)

Dejme tomu tabulka v html
<form action="funkce.php" method="POST">
<table>
<?php
// tady je sql dotaz na databázi 
echo "<tr>";
echo "<td><input type='text' name='id' value='$id'><input type='text' name='jmeno' value='$jmeno'></td><td><input type="text" name="smazat" value="Odstranit"><input type="text" name="upravit" value="Změnit"></td>";
echo "</tr>";
</table>
</form>

Po kliknutí na dané tlačítko potřebuji vykonat příslušný sql dotaz...

Podmínky if mě dělali binec tak jsem zkusil switch ale taky mi to nešlo (tady mi nešlo předat aktuální id řádku, které chci změtit, smazat)... poradíte někdo
Slark
Profil
Tohle je lepší řešit přes odkaz. Jednoduše budete odkazovat způsobem:

<a href="funkce.php?do=remove&id=<?=$id?>">Odstranit</a>

Všiměte si předaných parametrů scriptu funkce.php. Parametr do určuje akci a id určuje id řádku pro který je akce vykonávána. Po vykonání akce je idélní přesměrovat pomocí

header("location: /stranka/");
exit;
Lonanek
Profil
Vypisujete pouze jeden záznam nebo celý obsah tabulky?
Např. po smazání záznamů použít checkbox s předáním ID záznamu (lze tak smazat více záznamů najednou), pro editaci stačí přímý link na editaci dle ID záznamu (nepředpokládám, že budete editovat více než jeden záznam současně).
echo '<input type="checkbox" name="del_id[]" value="' . $row['id'] . '" />';

tomvyb:
tady mi nešlo předat aktuální id řádku
Taky jej nikde nepřidáváte.

EDIT:
Slark:
Tohle je lepší řešit přes odkaz. Jednoduše budete odkazovat způsobem:
Nemyslím, že by mazání řádků bylo lepší přes odkaz, už jenom z pohledu požadavku na smazání více řádků (třeba 50 záznamů). Klikat 50x na odkaz není příjemné a navíc lze vše smazat jedním dotazem a ne pak 50 samostatnými.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0