delete from database
tot nu toe heb ik dit, maar dat werkt niet:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect("$host", "$dbusername", "$password") or die ("niet gelukt te connecten");
mysql_select_db("$db") or die ("het lukt niet");
?>
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect("$host", "$dbusername", "$password") or die ("niet gelukt te connecten");
mysql_select_db("$db") or die ("het lukt niet");
?>
<html>
<body>
<h2> wat wil je verwijderen</h2>
<form id="form1" name="form1" method="post" >
<label>
<input type="text" id="naam" />
</label>
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
</form>
</body>
</html>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '$naam'";
mysql_query($query) or die("niet geslaagd !!!");
echo "database is bijgewerkt";
?>
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '$naam'";
mysql_query($query) or die("niet geslaagd !!!");
echo "database is bijgewerkt";
?>
Wat krijg ik voor een melding ? gewoon niets.
alvast bedankt.
Gewijzigd op 01/01/1970 01:00:00 door Patrick G
in je query moet je zoiezo $_POST['naam'] gebruiken.
in je input veld van naam ben je name="" vergeten.
en variabelen buiten quotes houden
Maar ik had daar name staan en dat werkte niet.
Kun je me helpen WAAR in de querie dan $_POST['naam'] moet staan ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die ("het lukt niet");
if($_POST['submit'])
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '".mysql_real_escape_string($_POST['naam'])."'";
mysql_query($query) or die(mysql_error());
echo "database is bijgewerkt";
}
?>
<html>
<body>
<h2> wat wil je verwijderen</h2>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
<label>
<input type="text" id="naam" />
</label>
<label>
<input type="submit" name="submit" value="Verwijderen" />
</label>
</form>
</body>
</html>
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die ("het lukt niet");
if($_POST['submit'])
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '".mysql_real_escape_string($_POST['naam'])."'";
mysql_query($query) or die(mysql_error());
echo "database is bijgewerkt";
}
?>
<html>
<body>
<h2> wat wil je verwijderen</h2>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
<label>
<input type="text" id="naam" />
</label>
<label>
<input type="submit" name="submit" value="Verwijderen" />
</label>
</form>
</body>
</html>
Tip: kijk en probeer te begrijpen wat er nu staat, als je iets niet snapt, vraag het dan gelijk ;)
edit: Typo
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
begrijp eigenlijk ook niet .
Wat wordt hier eigenlijk in gewoon hollands gedaan?
Die superglobal verwijst naar het huidige bestand.
Het moet toch kunnen om met een formulier een variabele te benoemen, die vervolgens in een querie zet zonder zoveel poespas ?
Ik heb het volgende gedaan
SELECT FROM namen WHERE naam is "pietjepuk"
Deze Querie op zich is goed, want als ik dit in de querie zet werkt het zelfs zonder op submit te drukken.
Hetgene dat dus nog niet lukt is de variabele aan de querie toe te voegen.
Gewijzigd op 01/01/1970 01:00:00 door patrick G
patrick:
Verwijst naar het bestand of naar de database?
In een form statement noteer je de methode - in dit geval POST - en de file waar hij je informatie naar moet toe sturen. Je kunt dus bijvoorbeeld bij action dit neer zetten:
Maar als je je bestanden gaat verhuizen of je gaat iets anders doen kan de locatie niet meer kloppen. Daarvoor heb je de global:
Die verwijst dus naar jou bestand. In dit geval dus jenaamvanjebestand.php.
Quote:
Het moet toch kunnen om met een formulier een variabele te benoemen, die vervolgens in een querie zet zonder zoveel poespas ?
Ik heb het volgende gedaan
SELECT FROM namen WHERE naam is "pietjepuk"
Deze Querie op zich is goed, want als ik dit in de querie zet werkt het zelfs zonder op submit te drukken.
Hetgene dat dus nog niet lukt is de variabele aan de querie toe te voegen.
Ik heb het volgende gedaan
SELECT FROM namen WHERE naam is "pietjepuk"
Deze Querie op zich is goed, want als ik dit in de querie zet werkt het zelfs zonder op submit te drukken.
Hetgene dat dus nog niet lukt is de variabele aan de querie toe te voegen.
En dit is arabish. Kan je niet een beetje ABN schrijven? Jij wilt dat wij jou helpen, neem dan tenminste de tijd om een fatsoenlijke reactie te schrijven.
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
Ik zal het posten:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die ("het lukt niet");
if($_POST['submit'])
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = 'jones'";
mysql_query($query) or die(mysql_error());
echo "database is bijgewerkt";
}
?>
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die ("het lukt niet");
if($_POST['submit'])
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = 'jones'";
mysql_query($query) or die(mysql_error());
echo "database is bijgewerkt";
}
?>
<html>
<body>
<h2> wat wil je verwijderen</h2>
<form action="" method="post" >
<label>
<input type="text" naam="naam" />
</label>
<label>
<input type="submit" name="submit" value="Verwijderen" />
</label>
</form>
</body>
</html>
Vervolgens gebeurt dit.
De rij van Jones wordt nu verwijderd uit de database.
Voeg ik echter : '".mysql_real_escape_string($_POST['naam'])."'"
In de querie in,in plaats van de naam Jones en typ ik Jones in het formulier, druk op submit dan gebeurt er niets.
Dus het toevoegen van de variabele "Jones", die ik heb ingetypt in het formulier, aan de querie gaat niet goed.
Hopelijk is het zo wel duidelijk,
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
error_reporting(E_ALL);
?>
<html>
<head><title>Database bijwerker</title></head>
<body>
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die(mysql_error());
if($_SERVER["REQUEST_METHOD"] == "POST")
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '".mysql_real_escape_string($_POST['naam'])."'";
mysql_query($query) or die(mysql_error());
echo "Database is bijgewerkt.";
}
else
{
?>
<h2> Wat wil je verwijderen?</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post">
<label>
<input type="text" naam="naam" />
</label>
<label>
<input type="submit" value="Verwijderen" />
</label>
</form>
<?php
}
?>
</body>
</html>
error_reporting(E_ALL);
?>
<html>
<head><title>Database bijwerker</title></head>
<body>
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die(mysql_error());
if($_SERVER["REQUEST_METHOD"] == "POST")
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '".mysql_real_escape_string($_POST['naam'])."'";
mysql_query($query) or die(mysql_error());
echo "Database is bijgewerkt.";
}
else
{
?>
<h2> Wat wil je verwijderen?</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post">
<label>
<input type="text" naam="naam" />
</label>
<label>
<input type="submit" value="Verwijderen" />
</label>
</form>
<?php
}
?>
</body>
</html>
Als het goed is zou dit moeten werken..
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
Parse error: parse error, unexpected T_IF in D:\phpmap\xampp\htdocs\xampp\delete2.php on line 19
Ik wilde dit perse in 1 pagina afhandelen, maar ik vraag me af of dat handig is.
Gewijzigd op 01/01/1970 01:00:00 door patrick G
mysql_select_db($db) or die(mysql_error())
ben je een ; vergeten
dus:
mysql_select_db($db) or die(mysql_error());
Ook nog even :
<input type="text" naam="naam" />
veranderd in ,
<input type="text" name="naam" />
en het werkt !!!
THX allemaal voor het meedenken.
Niels:
achter
mysql_select_db($db) or die(mysql_error())
ben je een ; vergeten
dus:
mysql_select_db($db) or die(mysql_error());
mysql_select_db($db) or die(mysql_error())
ben je een ; vergeten
dus:
mysql_select_db($db) or die(mysql_error());
Achja, het was al laat! :D