verwijderen via form met checkbox

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Richard Penning

Richard Penning

22/12/2004 11:46:00
Quote Anchor link
Voor een kennis heb ik een scriptje gemaakt zodat ie makkelijk agendapunten toe kan voegen aan z'n site, maar nu ben ik met een scriptje dat ie ze ook weer kan verwijderen met de keuzeoptie van wat er weg moet erbij.

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>"
;
        }

?>

<input type="submit" name="submit" value="Delete Record">
</form>

En

**** delete.php *****

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!";

?>


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
 
PHP hulp

PHP hulp

22/12/2024 03:16:44
 
Micha

Micha

22/12/2004 12:28:00
Quote Anchor link
In delete.php kan dit niet:

$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
 
Richard Penning

Richard Penning

22/12/2004 13:13:00
Quote Anchor link
delete.php schijnt nu wel goed te zijn na de aanpassing, krijg nu de melding:

you have an error in your SQL syntax near "FROM agenda WHERE id="" at line 1
 
Richard Penning

Richard Penning

22/12/2004 14:10:00
Quote Anchor link
ik heb nu $id = $_GET["id"]; toegevoegd aan de agendaverwijder.php pagina, maar dat schijnt niet te helpen.

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
 
DaeDaluz

DaeDaluz

22/12/2004 14:32:00
Quote Anchor link
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"]
 
Richard Penning

Richard Penning

22/12/2004 14:41:00
Quote Anchor link
helaas, het blijft dezelfde foutmelding
 
Micha

Micha

22/12/2004 14:46:00
Quote Anchor link
bestaat in je database het veld id in de tabel agenda wel?
 
Richard Penning

Richard Penning

22/12/2004 14:49:00
Quote Anchor link
jazeker !
 
Richard Penning

Richard Penning

22/12/2004 15:28:00
Quote Anchor link
ik gebruik trouwens wel $object->id maar hoe definieer ik die op de juiste manier ?
 
Winston Smith

Winston Smith

22/12/2004 18:02:00
Quote Anchor link
while($object = mysql_fetch_object($query))

Dan moet je ipv $row['wat'] wel schrijven $object->wat
 
Richard Penning

Richard Penning

22/12/2004 18:29:00
Quote Anchor link
nog maar ff voor de volledigheid dan:

*** agendaverwijder.php *****
<form method="GET" action="delete.php">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>"
;
        }

?>

<input type="submit" name="submit" value="Punt(en) verwijderen" class="btn">
</form>

en

**** delete.php ****

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!";

?>


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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.