Iets delete uit mysql DB met HREF
Beste phpers,
Ik heb een tabel waar achter elke regel staat: EDIT|DELETE.
Klik ik hierop dan word ik doorgelinked naar een script. Eenmaal als ik op de EDIT|DELETE druk komt er in mijn URL balk het volgende:
Naar mijn kennis neemt de url het ID mee, in dit geval 26.( ik heb dus op DELETE gedrukt!)
Dit is Delete2.php( het script wat het ID 26 zou moeten verwijderen, misschien een raar script maar probeer het een beetje simpel te houden :P)
Wat mijn probleem nou is is dat de localhost zegt RECORDS DELETED :1 maar als ik dan naar MYsql ga dan zie ik het ID nog steeds.
Ik heb een tabel waar achter elke regel staat: EDIT|DELETE.
Klik ik hierop dan word ik doorgelinked naar een script. Eenmaal als ik op de EDIT|DELETE druk komt er in mijn URL balk het volgende:
Naar mijn kennis neemt de url het ID mee, in dit geval 26.( ik heb dus op DELETE gedrukt!)
Dit is Delete2.php( het script wat het ID 26 zou moeten verwijderen, misschien een raar script maar probeer het een beetje simpel te houden :P)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$username="root";
$password="";
$database="Verzameling";
$con=mysql_connect(localhost,$username,$password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
$ID = $_POST['ID'];
$mysql_query =("DELETE * FROM cds WHERE ID='$ID'") or die ('Error Updating Data! <br />' .mysql_error());
printf("Records deleted: %d\n", mysql_affected_rows());
?>
$username="root";
$password="";
$database="Verzameling";
$con=mysql_connect(localhost,$username,$password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
$ID = $_POST['ID'];
$mysql_query =("DELETE * FROM cds WHERE ID='$ID'") or die ('Error Updating Data! <br />' .mysql_error());
printf("Records deleted: %d\n", mysql_affected_rows());
?>
Wat mijn probleem nou is is dat de localhost zegt RECORDS DELETED :1 maar als ik dan naar MYsql ga dan zie ik het ID nog steeds.
moet het niet $_GET['id'] zijn ipv van $_POST ?
Als het ID een int is in de database dan moet je er geen aanhalingstekens omzetten (WHERE ID=$ID ipv WHERE ID='$ID'). En het is geen DELETE * FROM maar gewoon DELETE FROM.
ik zie nog een fout, waar voer je de qeury uit? ik zie nergens mysql_query staan ... alleen een variabele heet zo + het is handiger om met een ifje te werken
dat is een betere manier
ps: kunnen schrijffouten in zitten
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if(isset($_GET['ID'])){
if(!empty($_GET['id'])){
$sql = mysql_query("DELETE FROM cds WHERE id = '".msql_real_escape_string($_GET['id'])."'");
if(mysql_affected_rows($sql) > 0){
echo 'succesvol verwijderd';
}
}
}
?>
if(isset($_GET['ID'])){
if(!empty($_GET['id'])){
$sql = mysql_query("DELETE FROM cds WHERE id = '".msql_real_escape_string($_GET['id'])."'");
if(mysql_affected_rows($sql) > 0){
echo 'succesvol verwijderd';
}
}
}
?>
dat is een betere manier
ps: kunnen schrijffouten in zitten
Gewijzigd op 19/01/2011 11:24:30 door Teun Hesseling
Dankje Teun,
Hij doet het nu, maar kan iemand mij uitleggen,duidelijk maken waarom ie het niet met mij script deed?
is dit vanwage het IF?
Ohja nu ik toch bezig ben :P
Zou het mogelijk zijn om in dit script een soort warningbutton te maken, waar je JA of NEE kan kiezen als je het geselcteerde ID wil verwijderen. Jullie hoeven niet het script kant en klaar te geve maar een beetje op weg te helpen zou nice zijn!
nogmaals bedankt!
Hij doet het nu, maar kan iemand mij uitleggen,duidelijk maken waarom ie het niet met mij script deed?
is dit vanwage het IF?
Ohja nu ik toch bezig ben :P
Zou het mogelijk zijn om in dit script een soort warningbutton te maken, waar je JA of NEE kan kiezen als je het geselcteerde ID wil verwijderen. Jullie hoeven niet het script kant en klaar te geve maar een beetje op weg te helpen zou nice zijn!
nogmaals bedankt!
Gewijzigd op 19/01/2011 12:22:11 door lol kid
Jij had dit:
Teun had dit:
bij jou was mysql_query geen functie maar een variabele.
(Ja Nee gedoe)
google op confirm javascript
Teun had dit:
bij jou was mysql_query geen functie maar een variabele.
(Ja Nee gedoe)
google op confirm javascript
bedankt man
kan eventueel ook nog anders
je kunt ook dit doen:
iets in die richting kan ook
ps: weet niet zeker of ik dat met die button goed heb geschreven
je kunt ook dit doen:
Code (php)
iets in die richting kan ook
ps: weet niet zeker of ik dat met die button goed heb geschreven
Gewijzigd op 19/01/2011 16:57:33 door Teun Hesseling
Waarom allemaal zo moeilijk?
Hier een oplossing...
Hier een oplossing...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// #########################################################################
function FilterText($str, $advanced=false) {
if($advanced == true){ return mysql_real_escape_string($str); }
$str = mysql_real_escape_string(htmlspecialchars($str));
return $str;
}
// #########################################################################
if($_GET['cataid'] && $rank == "admin"){
$p_id = FilterText($_GET['paginaid']);
$c_id = FilterText($_GET['cataid']);
mysql_query("DELETE FROM cms WHERE pageid = '".$p_id."' LIMIT 1") or die(mysql_error());
$msg = "";
}
// #########################################################################
$getem = mysql_query("SELECT pageid,pagename FROM cms LIMIT 1") or die(mysql_error());
$check = mysql_num_rows($getem);
if($check < 1){
echo "Geen Pagina`s gevonden.";
} else {
if($rank == "admin"){ $delete = "BLABLA"; }
while ($row = mysql_fetch_array($getem, MYSQL_NUM)) {
printf("<a href='index?page=%s'>%s</a> %s",$row[0],$row[1],$delete);
}
// #########################################################################
?>
// #########################################################################
function FilterText($str, $advanced=false) {
if($advanced == true){ return mysql_real_escape_string($str); }
$str = mysql_real_escape_string(htmlspecialchars($str));
return $str;
}
// #########################################################################
if($_GET['cataid'] && $rank == "admin"){
$p_id = FilterText($_GET['paginaid']);
$c_id = FilterText($_GET['cataid']);
mysql_query("DELETE FROM cms WHERE pageid = '".$p_id."' LIMIT 1") or die(mysql_error());
$msg = "";
}
// #########################################################################
$getem = mysql_query("SELECT pageid,pagename FROM cms LIMIT 1") or die(mysql_error());
$check = mysql_num_rows($getem);
if($check < 1){
echo "Geen Pagina`s gevonden.";
} else {
if($rank == "admin"){ $delete = "BLABLA"; }
while ($row = mysql_fetch_array($getem, MYSQL_NUM)) {
printf("<a href='index?page=%s'>%s</a> %s",$row[0],$row[1],$delete);
}
// #########################################################################
?>
Gewijzigd op 19/01/2011 15:45:23 door Marco Bos
Teun Hesseling op 19/01/2011 15:08:08:
Blijft leuk zo'n typo: REQEUST
- SanThe - op 19/01/2011 16:53:12:
Blijft leuk zo'n typo: REQEUST
Teun Hesseling op 19/01/2011 15:08:08:
Blijft leuk zo'n typo: REQEUST
zal het wel even veranderen. was mij nog niet eens opgevallen. merci ;)




