Mod edit
PHP tags toegevoegd


kan iemand mij hiermee helpen.
ik krijg deze foutmelding:
Fout bij verwijderen van bericht You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1: DELETE FROM offerte WHERE offerte_id IN ()fffff

grt rilm


<?
case 'verwijder' :

$_CONFIG["Username"] = 'root'; // gebruikersnaam

$_CONFIG["Password"] = '...';

// wachtwoord

$_CONFIG["Host"] = 'localhost';
// servernaam

// maak verbinding
$Verbinding = MySql_connect($_CONFIG["Host"], $_CONFIG["Username"], $_CONFIG["Password"]);
if($Verbinding == false) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}

if ( $_SERVER['REQUEST_METHOD'] == 'POST')
{
mysql_select_db("offertes"); // selecteer database

// Indien nodig eerst even controle uitvoeren om te kijken of het goede formulier is gepost
// if(isset($_POST['verwijder']))
// {
//$lijst = implode( ',', $_POST['verwijder']);
//{
// Verwijderen maar
$sql = "DELETE FROM offerte WHERE offerte_id IN (".implode( ',', $_POST['verwijder']).")";
$res = mysql_query($sql);
echo "verwijdert";
if($res == false) echo 'Fout bij verwijderen van bericht '.mysql_error() . ': '.$sql;
} echo "fffff";
// }
break;

}
?>
Wat zit er in $_POST['verwijder'], waarschijnlijk niks.
nee hier zou het offerte_id nr. in moeten staan.
dat offerte_id nr. zou dan in onderstaande code het geselecteerde selectievakje moeten zijn.


<?php
echo "<table border='1'>"; // mysql inlog gegevens

mysql_connect("localhost", "root", "");
mysql_select_db("offertes");

$query = "SELECT * FROM offerte order by faktuurdatum DESC";
$resultaat = mysql_query($query);
if(!$resultaat) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}
else
{
while($record = mysql_fetch_object($resultaat))
{
echo '<tr><td><input type=checkbox name="" value="$record[offerte_id]"></td>'; // zet selectievakje neer
echo '<td>'.$record->offerte_id.'<td>'. $record->faktuurdatum . '&nbsp&nbsp</td><td>'.$record->teeltsoort .'</td></tr>'; // zet gegevens neer

}


}
echo "</table>";
?>
Het name attribuut van je checkbox is leeg.
het name attribuut is nu name="verwijder" en ik krijg nog de zelfde melding
Je moet hem een arraynaam geven. Daar ga je namelijk (zo te zien aan je implode in je DELETE query) wel van uit. Dus:

name="verwijder[]"

echo de query nog even naar het scherm voor de zekerheid:
<?php
$sql = "DELETE FROM offerte WHERE offerte_id IN (".implode( ',', $_POST['verwijder']).")";
echo htmlentities ($sql);
?>
oke top het werkt.
thanks

Reageren