Hallo leden,

Ik ben bezig met een garage systeem voor een klant.
Maar ik wil er graag een checkbox in hebben die meerdere dingen kan verwijderen.

Alleen de probleem is hij doet helemaal niks :S
wat doe ik fout ?:S

ik gebruik deze checkbox er voor en deze submit


<input type=checkbox name=id[] value={$id}>
<input type=submit name=del value=Delete style=\"font-size: 10pt\">



<?php
$id = $b["id"];
elseif($_GET['m'] == "del") {
  if(isset($_GET['id'])){
    $_POST['id'] = $_GET['id'];
  }
  foreach($_POST['id'] as $msgid) {
	  
	  $dbres = mysql_query("SELECT * FROM `garage` WHERE `id`='$msgid' AND `login`='$data->login' AND `stad`='$data->stad'") or die(mysql_error());
$b = mysql_fetch_object($dbres);
$c = mysql_num_rows($dbres);
    if($aha = mysql_fetch_object($dbres)) {
      if($aha->stad != $b->stad){
		  mysql_query("DELETE FROM `garage` WHERE `id`='$msgid'");
      }
	  else{
        echo"Je hebt een auto geselecteerd die in een andere stad staat!";
		exit;
      }
	}
  }
  echo"Je hebt de geslecteerde auto's verwijdert!";
}
?>




Gebruik eens quotes in je HTML, dat kan vaak helpen. Dit is trouwens ook niet xHTML valid.
Maar de rest van de script werkt ook allemaal zonder quotes ?
waarom zou dat stukje dan helpen met quotes maar even proberen


--- EDIT ---

Nee werkt zo ook nog nie ik heb toch echt wel alles goed toch ?

andy schreef op 15.01.2009 18:13
Maar de rest van de script werkt ook allemaal zonder quotes ?
waarom zou dat stukje dan helpen met quotes maar even proberen
Ga de boel dan maar eens heel erg goed testen, dikke kans dat het her en der goed fout gaat.

Die quotes zijn onmisbaar, dat blijkt nu ook weer. Ga dus eerst maar eens leren hoe je enigzins correcte html moet schrijven, scheelt je een hoop ellende.

Ps. je kunt jouw pagina's ook eenvoudig valideren op www.w3.org
Overigens:

$id = $b["id"];
<input type=checkbox name=id[] value={$id}>
<input type=submit name=del value=Delete style=\"font-size: 10pt\">

Dat klopt volgens mij niet. Vergeet je geen echo?
Nee vergeet geen echo ;)

die $id staat per ongeluk op verkeerde plek sorry.
<?php
$dbres = mysql_query("SELECT * FROM `garage` WHERE `id`='$msgid' AND `login`='$data->login' AND `stad`='$data->stad'") or die(mysql_error());
$b = mysql_fetch_object($dbres);
$c = mysql_num_rows($dbres);
if($aha = mysql_fetch_object($dbres)) {
if($aha->stad != $b->stad){
?>
Dit kan ook nooit kloppen. Je fetch'd je query eerst al, en dan ga je hem nog eens fetchen in een while, terwijl deze query altijd maar één waarde terug kan geven ("id = $msgid"). Overigens gebruik [php]mysql_fetch_assoc[/php](), haal die backtics uit je query en gebruik een foutafhandeling!

<?php
$query = "SELECT * FROM garage WHERE id = ".(int)$msgid." AND login = '".$data['login']."' AND stad = '".$data['stad']."'";
$result = mysql_query($query);

if($result) {
if(mysql_num_rows($result) > 0) {
$rij = mysql_fetch_assoc($result);
// doe wat je wilt doen
} else {
echo 'Geen records gevonden.';
}
} else {
echo mysql_error().' in query: '.$query;
}
?>

Zo.

Reageren