Rij verwijderen
Het invoeren en tonen van de lijst is gelukt, alleen nu wil ik dat er achter een rij een link komt waarmee ik de desbetreffende rij kan verwijderen. Ik heb het nu op onderstaande manier gedaan, maar het wil niet echt werken. Dus hopelijk kan iemand me wat advies geven. In functies.php staat het connecten met de database etc.
lijst.php
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
34
35
36
37
38
39
40
41
42
43
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
34
35
36
37
38
39
40
41
42
43
<?
include 'functies.php';
echo "<div align='center'>";
echo "<table width='700' style='border: 1 ridge white'>";
echo "<tr><b>";
echo "<th>Bandnaam</th>";
echo "<th>Album</th>";
echo "<th>Label</th>";
echo "<th>Jaar</th>";
echo "<th>Genre</th>";
echo "<th>Formaat</th>";
echo "<th>Overig</th>";
echo "</b></tr>";
$query="SELECT * FROM databasecd";
if (!($temp = mysql_query($query, $connection)))
showerror();
while ($cdlijst = mysql_fetch_array($temp)){
$band=$cdlijst["band"];
$album=$cdlijst["album"];
$label=$cdlijst["label"];
$jaar=$cdlijst["jaar"];
$genre=$cdlijst["genre"];
$formaat=$cdlijst["formaat"];
$overig=$cdlijst["overig"];
echo "<tr>";
echo "<td class='lstd'>" . $band. "</td>";
echo "<td class='lstd'>" . $album . "</td>";
echo "<td class='lstd'>" . $label . "</td>";
echo "<td class='lstd'>" . $jaar . "</td>";
echo "<td class='lstd'>" . $genre . "</td>";
echo "<td class='lstd'>" . $formaat . "</td>";
echo "<td class='lstd'>" . $overig . "</td>";
echo "<td class='lstd'><a href="delete.php?'.$row['id'].'">Verwijderen</a></td>";
echo "</tr>";
}
echo "</table>";
echo "</div>";
?>
include 'functies.php';
echo "<div align='center'>";
echo "<table width='700' style='border: 1 ridge white'>";
echo "<tr><b>";
echo "<th>Bandnaam</th>";
echo "<th>Album</th>";
echo "<th>Label</th>";
echo "<th>Jaar</th>";
echo "<th>Genre</th>";
echo "<th>Formaat</th>";
echo "<th>Overig</th>";
echo "</b></tr>";
$query="SELECT * FROM databasecd";
if (!($temp = mysql_query($query, $connection)))
showerror();
while ($cdlijst = mysql_fetch_array($temp)){
$band=$cdlijst["band"];
$album=$cdlijst["album"];
$label=$cdlijst["label"];
$jaar=$cdlijst["jaar"];
$genre=$cdlijst["genre"];
$formaat=$cdlijst["formaat"];
$overig=$cdlijst["overig"];
echo "<tr>";
echo "<td class='lstd'>" . $band. "</td>";
echo "<td class='lstd'>" . $album . "</td>";
echo "<td class='lstd'>" . $label . "</td>";
echo "<td class='lstd'>" . $jaar . "</td>";
echo "<td class='lstd'>" . $genre . "</td>";
echo "<td class='lstd'>" . $formaat . "</td>";
echo "<td class='lstd'>" . $overig . "</td>";
echo "<td class='lstd'><a href="delete.php?'.$row['id'].'">Verwijderen</a></td>";
echo "</tr>";
}
echo "</table>";
echo "</div>";
?>
delete.php
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if(is_numeric($_POST['id'])){
mysql_query("DELETE FROM databasecd WHERE id = '".mysql_real_escape_string($_POST['id'])."' ");
}
?>
if(is_numeric($_POST['id'])){
mysql_query("DELETE FROM databasecd WHERE id = '".mysql_real_escape_string($_POST['id'])."' ");
}
?>
En vervolgens is mysql_real_escape_string() in delete.php nutteloos. Het id is neem ik aan toch een integer, dus dan controleer je die input met is_numeric() of ctype_digit().
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<a href="?id=<?php echo $id;?>delete=yes">delete</a>
----
if($_GET['delete'] == "yes"){
//query delete
mysql_query("DELETE FROM databasecd WHERE id = '".mysql_real_escape_string($_POST['id'])."' ");
}
----
if($_GET['delete'] == "yes"){
//query delete
mysql_query("DELETE FROM databasecd WHERE id = '".mysql_real_escape_string($_POST['id'])."' ");
}
Ik zou eens in de script lib kijken daar staan een aantal cd/dvd scripts met vast wel die delete functie. Daarvan kan je ff spieken hoe ze dat daardoen.
Ik zal eens kijken wat ik kan verbeteren.