MYSQL delete btn
Hoe programeer je een btn waarmee je een specifieke row kan verwijderen uit je database.
Ik weet dat je dit kan doen met:
Nu dacht ik dit te koppelen aan de ID van het bericht en dan met Jquery een knop functie geven.
Het laatste deel werkt niet nu verwijderd hij constant alles dat in de database staat
Ik weet dat je dit kan doen met:
Nu dacht ik dit te koppelen aan de ID van het bericht en dan met Jquery een knop functie geven.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
<script>
$("#delete").click(function() {
[code]<? mysql_query("DELETE FROM `activiteiten` WHERE `id` LIKE '" . $id . "'"); ?>
});
</script>
?>
<script>
$("#delete").click(function() {
[code]<? mysql_query("DELETE FROM `activiteiten` WHERE `id` LIKE '" . $id . "'"); ?>
});
</script>
?>
Het laatste deel werkt niet nu verwijderd hij constant alles dat in de database staat
Dit gaat niet direct via jQuery, want de opdracht wordt direct uitgevoerd. PHP kan niet kijken naar jQuery.
Je moet het dan via AJAX uitvoeren.
Je moet het dan via AJAX uitvoeren.
Dat gaat nie werken php kan niet in javascript. Hij voert nu gewoon de php code uit als je die pagina laad.
@Aar
Je was me voor XD
@Aar
Je was me voor XD
Gewijzigd op 12/10/2012 13:44:24 door Joey Drieling
zou je me kunnen uitleggen hoe?
Of kijk eens naar $.ajax() in jquery.
Ik heb nu dit gevonden:
upload.php
<form action="delete.php" method="post">
<input type="hidden" name="delete_id" value="" />
<input type="submit" value="Delete" />
</form>
delete.php
maar krijg deze melding Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /Applications/XAMPP/xamppfiles/htdocs/scouting/delete.php on line 2
upload.php
<form action="delete.php" method="post">
<input type="hidden" name="delete_id" value="" />
<input type="submit" value="Delete" />
</form>
delete.php
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if(isset($_POST['delete_id'] && !empty($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
header('Location: upload.php');
}
?>
if(isset($_POST['delete_id'] && !empty($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
header('Location: upload.php');
}
?>
maar krijg deze melding Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /Applications/XAMPP/xamppfiles/htdocs/scouting/delete.php on line 2
het moet zijn:
je was een ) vergeten.. maar je hoeft niet te controleren of hij empty is, dat doet isset al...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if(isset($_POST['delete_id']) && !empty($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
header('Location: upload.php');
}
?>
if(isset($_POST['delete_id']) && !empty($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
header('Location: upload.php');
}
?>
je was een ) vergeten.. maar je hoeft niet te controleren of hij empty is, dat doet isset al...
Gewijzigd op 12/10/2012 14:02:20 door Marvin H
Marvin Houweling op 12/10/2012 14:01:39:
... maar je hoeft niet te controleren of hij empty is, dat doet isset al...
Of omgekeerd.
Als empty een meerwaarde is, gebruik dan enkel empty en geen isset. empty doet zelf ook een isset check
Kris Peeters op 12/10/2012 14:10:00:
Of omgekeerd.
Als empty een meerwaarde is, gebruik dan enkel empty en geen isset. empty doet zelf ook een isset check
Marvin Houweling op 12/10/2012 14:01:39:
... maar je hoeft niet te controleren of hij empty is, dat doet isset al...
Of omgekeerd.
Als empty een meerwaarde is, gebruik dan enkel empty en geen isset. empty doet zelf ook een isset check
Haha, dat kan ook :)
Ik heb het aangepast nu is de foutmelding weg maar hij verwijderd me row niet...
upload.php
<form action="delete.php" method="post">
<input type="hidden" name="delete_id" value="" />
<input type="submit" value="verwijder" />
</form>
delete.php
Weet iemand waarom?
upload.php
<form action="delete.php" method="post">
<input type="hidden" name="delete_id" value="" />
<input type="submit" value="verwijder" />
</form>
delete.php
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if(isset($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM activiteiten WHERE `id`=".$delete_id);
header('Location: upload.php');
}
?>
if(isset($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM activiteiten WHERE `id`=".$delete_id);
header('Location: upload.php');
}
?>
Weet iemand waarom?
Omdat foutafhandeling ontbreekt op je query? Vergeet ook niet de single-quotes in de WHERE-waarde.
Heeft je hidden veld wel een value?... kijk eens in je delete.php wat voor $_POST hij ontvangt door dit bovenaan je php te zetten >
hij kijgt een waarde mee.
Array ( [delete_id] => 30 )
Array ( [delete_id] => 30 )
en wat -Aar- bedoelt is:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if(isset($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM activiteiten WHERE id = '".$delete_id."' ") or die('Error, query failed' . mysql_error());
header('Location: upload.php');
}
?>
if(isset($_POST['delete_id'])) {
$delete_id = mysql_real_escape_string($_POST['delete_id']);
mysql_query("DELETE FROM activiteiten WHERE id = '".$delete_id."' ") or die('Error, query failed' . mysql_error());
header('Location: upload.php');
}
?>
Gewijzigd op 12/10/2012 14:25:22 door Marvin H
Dat is geen goede foutafhandeling... Een script hoort niet te stoppen.
dank je daardoor kon ik achterhalen wat de fout was nu doet hij het perfect bedankt voor de hulp (ik moest de DB connect nog toevoegen erg dom :S)
- Aar - op 12/10/2012 14:30:00:
Dat is geen goede foutafhandeling... Een script hoort niet te stoppen.
Doorgaan na een fout ook niet, helemaal niet na een redirect, want dan zie je de foutmelding niet...




