Rij verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Galdralag

Galdralag

07/04/2007 13:50:00
Quote Anchor link
Ik ben nog niet zo lang bezig met PHP en ik ben bezig om een script te maken waarmee ik cd's ed. in kan voeren en deze kan weergeven in een lijst.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(is_numeric($_POST['id'])){
    mysql_query("DELETE FROM databasecd WHERE id = '".mysql_real_escape_string($_POST['id'])."' ");
}

?>
 
PHP hulp

PHP hulp

20/11/2024 19:28:02
 
Joren de Wit

Joren de Wit

07/04/2007 13:59:00
Quote Anchor link
Je zet het id in de url, dus dan zul je die op moeten vragen met $_GET['id'] en niet met $_POST['id']. Tevens staat er op regel 38 nog een quotje dat geescaped moet worden.

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().
 
Kalle P

Kalle P

07/04/2007 13:59:00
Quote Anchor link
Heel simpel vb.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'])."' ");
}


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.
 
Galdralag

Galdralag

07/04/2007 15:15:00
Quote Anchor link
Bedankt beiden.
Ik zal eens kijken wat ik kan verbeteren.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.