verwijderen via form met checkbox
En daar begint 't ge....... ik kom er niet uit.
Als ik via een query de resultaten van de agenda op laat komen komt er keurig een checkbox voor welke aan te klikken is, maar als ik dan op delete record druk krijg ik de volgende error:
parse error: parse error, expecting 'T_STRING'or 'T_VARIABLE' or 'T_NUM_STRING' in c:\\..\delete.php on line 16.
Dit is m'n formulier
**** agendaverwijder.php *****
<form method="post" action="delete.php">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//--> Verbinden met de database
Mysql_connect('localhost','*******','');
Mysql_select_db('*****');
$result = "SELECT * FROM agenda";
$query = mysql_query($result);
while ($row = mysql_fetch_assoc($query)) {
echo "<Table>
<TR>
<td><input type='checkbox' name='chkverw[]' value='".$object->id."'></td>
<td WIDTH=200>".$row['wat']."</td>
</tr>
</table>";
}
?>
//--> Verbinden met de database
Mysql_connect('localhost','*******','');
Mysql_select_db('*****');
$result = "SELECT * FROM agenda";
$query = mysql_query($result);
while ($row = mysql_fetch_assoc($query)) {
echo "<Table>
<TR>
<td><input type='checkbox' name='chkverw[]' value='".$object->id."'></td>
<td WIDTH=200>".$row['wat']."</td>
</tr>
</table>";
}
?>
<input type="submit" name="submit" value="Delete Record">
</form>
En
**** delete.php *****
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
/* Maak een verbinding met de MySQL Database */
Mysql_connect('localhost','*******','******');
Mysql_select_db('*******');
//--> Delete the record from agenda
$sql = "DELETE * FROM agenda WHERE $_GET['id']";
$query = mysql_query($sql) or die("Cannot delete record.<br>" . mysql_error());
echo "Record Deleted!";
?>
/* Maak een verbinding met de MySQL Database */
Mysql_connect('localhost','*******','******');
Mysql_select_db('*******');
//--> Delete the record from agenda
$sql = "DELETE * FROM agenda WHERE $_GET['id']";
$query = mysql_query($sql) or die("Cannot delete record.<br>" . mysql_error());
echo "Record Deleted!";
?>
Misschien zoek ik 't wel veel te moeilijk, maar ik kom er niet uit zo.
Iemand wat hints, of misschien een simpele manier om via checkboxen iets te verwijderen uit een tabel ?
Gewijzigd op 22/12/2004 14:11:00 door Richard Penning
$sql = "DELETE * FROM agenda WHERE $_GET['id']";
daar moet je dit van maken:
$sql = "DELETE * FROM agenda WHERE id =
'".$_GET['id']."'";
En ik weet niet of in agendaverwijder.php dit stuk klopt:
$object->id
Want ik zie verder $object niet gedefinierd
you have an error in your SQL syntax near "FROM agenda WHERE id="" at line 1
het id uit de tabel wat ie dus moet gebruiken om de geselecteerde records te verwijderen komt dus niet mee in de query van delete.php
?????
Gewijzigd op 22/12/2004 14:12:00 door Richard Penning
met je form gebruik je post... en je probeerd dan wat je post uit de URL te lezen? probeer ipv $_GET[ "id"] eens $_post["id"]
helaas, het blijft dezelfde foutmelding
bestaat in je database het veld id in de tabel agenda wel?
jazeker !
ik gebruik trouwens wel $object->id maar hoe definieer ik die op de juiste manier ?
Dan moet je ipv $row['wat'] wel schrijven $object->wat
*** agendaverwijder.php *****
<form method="GET" action="delete.php">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//--> Verbinden met de database
Mysql_connect('localhost','*','');
Mysql_select_db('*');
$result = "SELECT * FROM agenda";
$query = mysql_query($result);
while ($row = mysql_fetch_assoc($query)) {
echo "<Table>
<TR>
<td><input type='checkbox' name='chkverw[]' value='".$object->id."'></td>
<td WIDTH=200 class=\"agenda\">".$row['wat']."</td>
</tr>
</table>";
}
?>
//--> Verbinden met de database
Mysql_connect('localhost','*','');
Mysql_select_db('*');
$result = "SELECT * FROM agenda";
$query = mysql_query($result);
while ($row = mysql_fetch_assoc($query)) {
echo "<Table>
<TR>
<td><input type='checkbox' name='chkverw[]' value='".$object->id."'></td>
<td WIDTH=200 class=\"agenda\">".$row['wat']."</td>
</tr>
</table>";
}
?>
<input type="submit" name="submit" value="Punt(en) verwijderen" class="btn">
</form>
en
**** delete.php ****
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
/* Maak een verbinding met de MySQL Database */
Mysql_connect('localhost','*','');
Mysql_select_db('*');
//--> Delete the record from agenda
$sql = "DELETE * FROM agenda WHERE id= '".$_GET['id']."'";
$query = mysql_query($sql) or die("Cannot delete record.<br>" . mysql_error());
echo "Record Deleted!";
?>
/* Maak een verbinding met de MySQL Database */
Mysql_connect('localhost','*','');
Mysql_select_db('*');
//--> Delete the record from agenda
$sql = "DELETE * FROM agenda WHERE id= '".$_GET['id']."'";
$query = mysql_query($sql) or die("Cannot delete record.<br>" . mysql_error());
echo "Record Deleted!";
?>
als ik dit dus uitvoer krijg ik op de eerste pagin (agendaverwijder) een overzicht met alle agendapunten met daarvoor een checkbox, zoals de bedoeling is
Als ik een agendapunt aanvink en op verwijderen druk dan krijg ik nog steeds een error namelijk
cannot delete record
you have an error in your SQL syntax near '*FROM agenda WHERE id="" at line 1
Dit is wat ik tot nu toe heb, en ik kom er eigenlijk niet meer uit.
alle bovenstaande dingen geprobeerd maar niets wat oplossing bied behalfe de aanpassing van de $_GET in delete.php, welke volgens mij goed werkt anders kreeg ik niet de foutmelding die ie moet tonen als er iets niet goed gaat.
tabel agenda ziet er als volgt uit:
id, wanneer, wat, extrainfo, hoelaat
id is int(11) auto_increment primary key
rest allemaal varchar
misschien is dit wat betere info
Gewijzigd op 22/12/2004 18:31:00 door Richard Penning