Archief - PHP: Probleem met rows te verwijderen uit database

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

T-b0

Legacy Member
Dag allemaal,

Ik wil graag de rows in de database weergeven met een delete functie erlangs.
Wanneer er dan op geklikt wordt, wordt die bepaalde rij uit de database verwijderd. Heel basic dus maar ik krijg de juiste output "behandeling verwijderd", maar er is namelijk niets verwijderd.
Code:
<? 
include('dbconnect.php');

if(!isset($cmd)) 
{

   $result = mysql_query("select * from yourtable"); 
   

   while($r=mysql_fetch_array($result)) 
   { 

      $title=$r["titlefield"];
      $id=$r["idfield"];
     
	
      echo "<a href='delete.php?cmd=delete&idfield=$id'>$title - Delete</a>";
      echo "<br>";
    }
}
?>
<?
if($cmd=="delete")
{
    $sql = "DELETE FROM yourtable WHERE idfield='$id'";
    $result = mysql_query($sql);
    echo "Behandeling verwijderd!";
}
?>

De links worden goed weergegeven alleen het verwijderen zelf lukt niet. Er zit dus enkel een fout in de onderste code...
Dank bij voorbaat.

Tyfius

Legacy Member
Natuurlijk zit daar een fout in. Hij hebt de variabele $id niet want je wijst die nergens toe als $cmd == "delete".
WHERE idfield = '$_POST[idfield]'"; iets in die aard moet het zijn.

T-b0

Legacy Member
'$_POST[idfield]' helpt niet. En $id is er toch wel anders zouden de links ook niet goed weergegeven worden....

Tyfius

Legacy Member
Neen. Jij controleert of $cmd geen waarde bevat, dan geef je die links weer.
Dan refresh je de pagina, $cmd bevat een waarde dus de links worden niet meer weergegeven en $id wordt dus ook niet geinstantieerd, en hij gaat vervolgens naar de delete sectie.
Daar moet $id wel worden toegewezen aan de waarde die uit de post variabele komt (&idfield die jij aan je url meegeeft).

T-b0

Legacy Member
Damn ik krijg de fout echt niet gerepareerd.

Kun je iets specifieker zijn met de code?

Dank bij voorbaat

Tyfius

Legacy Member
PHP:
<?php // gebruik de juiste tags aub
include('dbconnect.php');

if(!isset($cmd)) 
{

   $result = mysql_query("select * from yourtable"); 
   

   while($r=mysql_fetch_array($result)) 
   { 

      $title=$r["titlefield"];
      $id=$r["idfield"];
     
	
      echo "<a href='delete.php?cmd=delete&idfield=$id'>$title - Delete</a>";
      echo "<br>";
    }
}
?>
<?php // Waarom je hier sluit is mij een raadsel eigelijk.
if($cmd=="delete")
{
    $id = $_POST['idfield']; // AANPASSING
    $sql = "DELETE FROM yourtable WHERE idfield='$id'";
    $result = mysql_query($sql);
    echo "Behandeling verwijderd!";
}
?>
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan