Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Mysql row DELETE

Parašė IPaulius· 2011 Bir. 8 13:06:07
#1

Sveiki. Pasirašiau DELETE kodą.

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("cb_db", $con);

mysql_query("DELETE FROM dienorastis WHERE Id='79'");

mysql_close($con);
?>


ir nežinau kaip padaryt ,kad Trinimo mygtukas "<a href='dienorastis_delete.php'>Trinti</a>" trintų tik jam skirtą id. Čia kur raudonai apibrėžiau yrašius ištrina tą id ,bet nesvarbu kokį trinu, kad ir id=25 trinu vistiek ištrina 79. Kaip padaryt ,kad kiekvienas atskiras trinimo mygtukas trintų būtent tą id ,kuriam jis skirtas?

Parašė Pakartoti slaptažodį· 2011 Bir. 8 13:06:03
#2

trinimas.php

<?php
 
mysql_connect("localhost", "root", "") or die("Neįmanoma prisijungti. Klaida: ".mysql_error());
 
mysql_select_db("cb_db");
 
if (!isset($_GET) || !is_num($_GET['id'])) { die("debilas hakeris"); }
 
if (mysql_query("DELETE FROM `dienorastis` WHERE Id='".$_GET['id']."'")) {
die("Sekmingai istryniau");
} else {
die("kazkas negerai");
}
 
?>


Mygtukas:

<a href="trinimas.php?id=x">Istrinti</a>

Parašė Ponas24· 2011 Bir. 8 13:06:19
#3

Daryk taip.

Sukurk faila pvz trinti.php, jame rasai:


<?php
//prisijungimas
if ($_GET["id"] != "") {
$istrinti = dbquery("DELETE FROM dienorastis WHERE id = $_GET[id]");
header( 'Location: index.php' ) ;
}
?>


Ir tada mygtukas:


<a href=trinti.php?id=ID>Trinti</a>

Parašė weberiz· 2011 Bir. 8 13:06:23
#4


<?php
if (isset($_POST['id'])) {
	$con = mysql_connect("localhost","root","");
	if (!$con) {
		die('Could not connect: ' . mysql_error());
	}
	mysql_select_db("cb_db", $con);
	$trinti = mysql_query("DELETE FROM dienorastis WHERE Id='".$_POST['id']."'");
	if ($trinti) { echo "Istrinta"; } else { echo "klaida"; }
	mysql_close($con);
} else {
echo "<form action=\"trinti.php\" method='post'>
  id: <input type='text' name='id' /><br />
  <input type=\"submit\" value=\"trinti\" />
</form>";
}
?>

va :)
viska i trinti.php

Redagavo weberiz· 2011 Bir. 8 13:06:33

Parašė IPaulius· 2011 Bir. 8 13:06:36
#5

Tylesburg : Call to undefined function is_num().

Redagavo IPaulius· 2011 Bir. 8 13:06:25

Parašė Pakartoti slaptažodį· 2011 Bir. 8 13:06:57
#6

Ups, ne is_num o is_numeric. :)

Parašė Faitas.· 2011 Bir. 8 13:06:06
#7

naudok !empty(...) :)

Parašė IPaulius· 2011 Bir. 8 13:06:50
#8

Tylesburg : aš debilas hakeris. :D

Parašė Pakartoti slaptažodį· 2011 Bir. 8 13:06:09
#9

Ten turi tikrint ar iš vis gauta GET reikšmė ir paskiau ar tai skaičius.

Parašė IPaulius· 2011 Bir. 8 13:06:09
#10

Naudoju šitą kodą.

<?php
 
 
 
mysql_connect("localhost", "root", "") or die("Neimanoma prisijungti. Klaida: ".mysql_error());
 
 
 
mysql_select_db("cb_db");
 
 
 
if (!isset($_GET) || !empty($_GET['id']))
	{ 
	die("debilas hakeris"); 
	}
 
 
 
if (mysql_query("DELETE FROM `dienorastis` WHERE Id='".$_GET['id']."'")) {
 
die("Sekmingai istryniau");
 
} else {
 
die("kazkas negerai");
 
}
 


Rašo ,kad sėkmingai ištryniau ,bet neištrina.

Parašė Pakartoti slaptažodį· 2011 Bir. 8 14:06:20
#11


mysql_query("DELETE FROM `dienorastis` WHERE Id='".$_GET['id']."'") or die(mysql_error());


parodys klaidą.

Parašė IPaulius· 2011 Bir. 8 14:06:00
#12


<?php
 
 
 
mysql_connect("localhost", "root", "") or die("Neimanoma prisijungti. Klaida: ".mysql_error());
 
 
 
mysql_select_db("cb_db");
 
 
 
if (!isset($_GET) || !empty($_GET['id']))
	{ 
	die("debilas hakeris"); 
	}
 
mysql_query("DELETE FROM `dienorastis` WHERE Id='".$_GET['id']."'") or die(mysql_error());
 
?>


Nieko nerodo.

Parašė mNm.· 2011 Bir. 8 14:06:05
#13

weberiz, taip nepatogu... ;)

Parašė Pakartoti slaptažodį· 2011 Bir. 8 18:06:59
#14

Jei nieko nerodo, Pauliau, reiškia turėjo ištrint.

Parašė IPaulius· 2011 Bir. 9 11:06:00
#15

Viskas sutvarkyta. Ačiū visiems. Panaudojau Tylesburg kodą ,o sutvarkyti jį padėjo Avice.