logo   PHP - Query-modulet (Delete).




DELETE-kommandoen anvendes til at slette eksisterende data i databasen.


DELETE-programmer kan være ret så simple, eller mere komplekse, alt efter den opgave der skal løses.


Ved DELETE er det nødvendigt, at være meget påpasselig med WHERE-delen af queryen. Bliver der slettet forkerte data, er de tabt. Der er ingen 'skraldespand' at lede i.


Simpel


<?php
if (isset ($_GET['URL-parameter'])) // start GET
{
$variabel = $_GET['URL-parameter'];
$query = "DELETE FROM DBtabel WHERE feltnavn = $variabel ";
$result = mysqli_query ($db_link, $query) or die (mysqli_error() );
header ("Location: filnavn.php");
exit;
}
else
{
echo "<p>Der problemer med URL-parameter i adresselinien</p>";
echo "<p><a href='programnavn.php'>Gå tilbage til oversigtssiden</a></p>";
} // slut isset GET ?>




Kompleks


Komplekse DELETE-programmer kan være komplekse af 2 årsager:
- nogle andre data skal være slettede med andre programmer før de aktuelle data kan slettes.
- andre data, der har et eller andet sammenhæng med de aktuelle data, skal slettes samtidig med de aktuelle data.


I eksemplet nedenfor skal der tages højde for tilhørende billeder.


<?php
$fejlbeskeder = "";

if (isset ($_GET['URL-parameter'])) // start GET
{
$variabel = $_GET['URL-parameter'];

$query = "SELECT * FROM billed WHERE feltnavn = $variabel";
$result = mysqli_query($db_link, $query)or die (mysqli_error (db_link));
$antal = mysqli_num_rows ($result);

if($antal > 0)
{
$fejlbeskeder .= "Billeder er ikke slettet for planten.<br />";
$fejlbeskeder .= "plantestam_delete.php"; //kan udelades
echo "
";
echo "Fejltekster";
echo $fejlbeskeder;
echo "
";
}
else
{
$query = "DELETE FROM DBtabelnavn WHERE feltnavn = $variabel ";
$result = mysqli_query ($db_link, $query) or die (mysqli_error() );
header ("Location: filnavn.php");
exit;
}
}
else
{
echo "<p>Der problemer med URL-parameter i adresselinien</p>";
echo "<p><a href='vare_admin.php'>Gå tilbage til oversigtssiden</a></p>";
} // slut isset GET
?>

























x
x