Mazání řádků v tabulce -> databázi – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Mazání řádků v tabulce -> databázi – PHP – Fórum – Programujte.comMazání řádků v tabulce -> databázi – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
13. 3. 2013   #1
-
0
-

Zdravím vás všechny. Vím, že dotaz na mazání řádku v tabulce, kterou zobrazím SELECTem z databáze, tu už nejednou byl. Nicméně pokaždé se informace přenášeli skrze URL. Chtěl bych se zeptat, jestli je nějaká alternativa pomocí metody POST, když jednotlivé záznamy vypisuji z databáze pomocí cyklu WHILE takto:

<table border="1" width="20%">
<?php
mysql_connect( "localhost", "root" ) or die ( "Zkontrolujte prosím připojení k serveru") ;
mysql_select_db("test");
$vysledek=mysql_query("select*from pokus");
while ($zaznam=mysql_fetch_array($vysledek)):
?>
<tr>
<td><?echo $zaznam["id"]?></td>
<td><?echo $zaznam["jmeno"]?></td>
<td><?echo $zaznam["prijmeni"]?></td>
</tr>
<?
endwhile;
?>
</table>

Za každý řádek bych pak rád přidal tlačítko, pomocí kterého bych spouštěl skript, který by údaj v databázi smazal. Lámu si s tím hlavu, zkoušel jsem to už pomocí formulářů a nastavení jejich akcí, ale výsledek se nedostavil. Napadlo mě zobrazovat hodnoty v klasickém okně formuláře se zakázaným zápise (readonly), ale předpokládám, že by se jistě našlo nějaké elegantnější řešení...

Věděl by někdo, prosím? :-) 

Předem dík, Ondra

Nahlásit jako SPAM
IP: 84.244.117.–
peter
~ Anonymní uživatel
4016 příspěvků
13. 3. 2013   #2
-
0
-

   

echo sprintf('<a href=proved.php?action=smazat&id=%s>%s</a>', $zaznam["id"], 'Smazat');
Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
null_while
~ Moderátor
+6
Věrný člen
13. 3. 2013   #3
-
0
-

   

<?php

	if( isset($_POST['smazat'] && isset($_POST['id']) )
	{
		$id = mysql_real_escape_string($_POST['id']);
		smazat($id);
	}

	function smazat($id)
	{
		$query = "DELETE * FROM ...";
		mysql_query($query);
	}

	// další kus (result, query, apod) ...

	echo "<a href='neco.php?smazat=a&id=$zaznam->id'>Smazat</a>";


?>

Co na tom nechápeš??
Nahlásit jako SPAM
IP: 84.16.103.–
WEBNIA.cz - tvorba webových stránek
crazy
~ Moderátor
+10
Grafoman
13. 3. 2013   #4
-
0
-

#3 null_while
$_POST?

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
Řešení
null_while
~ Moderátor
+6
Věrný člen
13. 3. 2013   #5
-
0
-
Vyřešeno Nejlepší odpověď

#4 crazy
Já ten článek nedočetl.

Výpis tlačítka:

echo"
<form action='neco.php' method='POST'>
<input type='hidden' value='$zaznam->id' name='id'>
<input type='submit' value='Smazat' name='delete'>
</form>
";


Podmínka...
if(isset($_POST['delete']) && isset($_POST['id']))

Inicializace...
$id = mysql_real_escape_string($_POST['id');
Nahlásit jako SPAM
IP: 84.16.103.–
WEBNIA.cz - tvorba webových stránek
13. 3. 2013   #6
-
0
-

<input type='hidden' value='$zaznam->id' name='id'>

Ano, to byl ten kámen úrazu :-)

Díky všem za reakce a Váš čas

Nahlásit jako SPAM
IP: 84.244.117.–
peter
~ Anonymní uživatel
4016 příspěvků
14. 3. 2013   #7
-
+1
-
Zajímavé

#5 null_while
crazy to spis myslel tak, ze tam mas odkaz, jasne GET a ziskavas data pomoci POST :)

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
null_while
~ Moderátor
+6
Věrný člen
14. 3. 2013   #8
-
0
-

#7 peter


Aj, pardon. Psal jsem to rychle. Ač se přiznám používám také více metodu s formem. Už jen proto, že se vyhnu právě psaní nepřehledných a nebezpečných GET, apod. 

Nahlásit jako SPAM
IP: 84.16.103.–
WEBNIA.cz - tvorba webových stránek
14. 3. 2013   #9
-
0
-

#8 null_while
I proto jsem chtěl právě metodu POST, trochu jsem to pozměnil, nicméně problém vyřešen. Díky, snad jednou budu taky tak dobrej, abych někomu mohl poradit :-D

Nahlásit jako SPAM
IP: 193.84.36.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Hledání řádku v tabulce — založil QWERTZ

Mazání podle řádku — založil pawlik

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý