Hoi Allemaal,

Ik heb een pagina met lijst met allemaal checkboxes. Een memo veld en weer een lijst met checkboxes.

Ik wil dat er per afgevinkt checkvox (regel checks) een regel in de database wordt aangemaakt, met de gegevens van de memo en de afgevinkte checkboxes informatie.

Ik krijg nu de foutmelding
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

Mijn code ziet er zo nu uit


<head>
<title> BovenIJ Ziekenhuis Afdeling Automatisering Service Desk</title>
<link rel="stylesheet" type="text/css"
href="http://127.0.0.1/cockpitcheck/default_css.css" />
<style type="text/css">
<!--
.style2 {font-size: 10px}
.style4 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
}
.style5 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
</head>
<body>

<table cellspacing="0" cellpadding="0" width="100%">

<tr>

<td class="headertdtop" colspan="2"></td>

</tr>

<tr>

<td class="headertdmenu" colspan="2">&nbsp;</td>

</tr>

<tr>

<td class="headertdbottomleft">&nbsp;</td>

<td class="headertdbottomright"><span class="style2">Afdeling Automatisering Servicedesk</span>&nbsp;&nbsp;</td>

</tr>

</table>

<div align="center">





<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");

if (empty($_POST)){
echo ("vul eerst <a href=\"oef_1201.php\"> gegevens voor de medewerker </a> in");
exit ();

}
else {

$memo = $_POST['memo_omschrijving'];
$employees_id = $_POST['employees'];
//$department_id = $_POST['department'];
$query= "INSERT INTO cc_incidents (memo, employees_id_insert) VALUES ('$memo' , '$employees_id')";

$result = mysql_query($query) or die (mysql_error());
}
?>




<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");

$query = "INSERT INTO cc_incidents (check_id, incidents_id) VALUES ";
foreach($_POST['check_id'] AS $key => $id)
{
$query .= "(" . $insertid . ",'". $id ."'),";
}
$query = substr($query, 0, -1);
$result = mysql_query($query) or die (mysql_error());

echo "$query";


?>






<html>
<head>
<title>Een nieuwe check toevoegen aan de cockpitcheck </title>
</head>
<body>
<h2>Gelukt! </h2>
<h4>De volgende check is ingevoerd </h4>
<?php



//echo ("Query die wordt uitgevoerd: <b> $query</b> <hr>\n");
echo ("De volgende gegevens zijn ingevoerd: <br>\n");

echo ("Controle omschrijving: <b> " . $_POST["check_description"] . " </b> <br> <br><br>");






?>
<a href=http://127.0.0.1/cockpitcheck/beheer.php>Terug </a>

<?php

echo "$query";

?>



</body>
</html>


Vast bedankt.
Yep, ik blijf de zelfde foutmelding krijgen...
Laat de code die je nu gebruikt eens zien dan?
<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");

if (empty($_POST)){
echo ("vul eerst <a href=\"oef_1201.php\"> gegevens voor de medewerker </a> in");
exit ();

}
else {

$memo = $_POST['memo_omschrijving'];
$employees_id = $_POST['employees'];
//$department_id = $_POST['department'];
$query= "INSERT INTO cc_incidents (memo, employees_id_insert) VALUES ('$memo' , '$employees_id')";

$result = mysql_query($query) or die (mysql_error());
}

if(!$result)
{
trigger_error(mysql_error().' In query: '.$query);
}
?>




<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");


$query = "INSERT INTO cc_incidents (check_id, incidents_id) VALUES ";
foreach($_POST['check_id'] AS $key => $id)
{
$query .= "(" . $insertid . ",'". $id ."'),";
}
$query = substr($query, 0, -1);
$result = mysql_query($query) or die (mysql_error());

//echo "$query";
if(!$result)
{
trigger_error(mysql_error().' In query: '.$query);
}



?>

Je hebt door dat de query in je tweede stuk, de eerste keer totaal geen zin heeft? Je definieert hem, en vervolgens schrijf je hem gewoon over.
Wat wil je precies bereiken met je query's, en geef je wel een wachtwoord aan bij het connecten met de DB?

Ik wil gewoon dat als de post (check_id) is aan gevinkt een database regel wordt aanmaakt. En als er 2 checkboxes (check_id) zijn aangevinkt 2 regels maakt in de database. Voor elke afgevinkte checkbox een aparte regel aanmaken.

Ik heb geen wachtwoord ingesteld.
zoiets ?

$sql = '';
foreach ($_POST['checkbox'] as $value)
{
  $sql .= "INSERT INTO <table> ( `veld` ) VALUES ( '$value' );\n";
}

mysql_query($sql);
Ik denk dat je inderdaad de code van MikeY eens moet proberen, geef je checkboxen in de vorige pagina dan wel de naam checkbox, of verander de naam hier.

Als je iets anders bedoelt, dan moet je even iets duidelijker uitleggen :)
Daar ben ik weer... Er wordt geen waarde meegegeven.

Dit is de pagina die er voor zit (voor een deel)


<?php
$checkbox='<input type="checkbox" name="check_id[]" value="'.$row['check_id'].'" />';


while($row = mysql_fetch_assoc($res)){
echo ("<tr><td> " . $row["description"] . "</td> " .
" <td> " . $checkbox . " </td></tr>\n");
}

?>

Zo ziet de code er nu uit (die van Mikey)


<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");


foreach ($_POST['check_id'] as $value)
{
$sql .= "INSERT INTO cc_incidents (check_id) VALUES ('$value');\n";
}

mysql_query($sql);

echo "$sql";


?>



Wat ik wil?
Er is een lijst op een pagina die bestaat uit regels, elke regel heeft een eigen checkbox.

Ik wil graag bij elke checkbox die is afgevinkt een id er aan hangen in de database. Dus als er 3 regels worden afgevinkt dat er 3 database id's worden aangemaakt.

Er is ook een memo veld wat wordt meeverstuurd. Er is maar 1 memoveld. Dus als er 3 id's worden verstuurd en een memo dan moet de memo bij alle id's het zelfde zijn.

Ik hoop dat het nu een beetje duidelijk is wat ik wil........

Reageren