Updaten van waarde in database
bijvorrbeeld;
je klikt op het plaatje van cola, en vervolgens update hijdde waarde van het soort cola met 1 in mysql, kan iemand mij misschien helpen???
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$soort = "cola";
$aantal = "2";
$table=test;
$query = "SELECT * FROM test WHERE soort = cola";
$result = mysql_query($query) or die ("mysql_error())";
$row = mysql_fetch_array($result) or die ("FOUT!");
echo "Soort: ";
echo $row['soort'];
echo "<br />";
echo "Aantal:";
echo $row['aantal'];
echo "<br />";
?>
$aantal = "2";
$table=test;
$query = "SELECT * FROM test WHERE soort = cola";
$result = mysql_query($query) or die ("mysql_error())";
$row = mysql_fetch_array($result) or die ("FOUT!");
echo "Soort: ";
echo $row['soort'];
echo "<br />";
echo "Aantal:";
echo $row['aantal'];
echo "<br />";
?>
Topic titel aangepast. Kies in het vervolg zelf een duidelijke titel.[/modedit]
Gewijzigd op 20/09/2010 16:03:20 door Joren de Wit
Waarom kies je voor select, als je wilt updaten?
Gewijzigd op 20/09/2010 13:41:42 door christiaan de kleine
Verzin eens een normale topic titel
Je weet niet hoe je moet updaten ofwat?
Toevoeging op 20/09/2010 13:45:37:
Dus mijn eigenlijke vraag:
hoe kan ik het het makkelijkst aanpakken?
Toevoeging op 20/09/2010 14:08:37:
niemand een idee??
Een UPDATE query is alles wat je nodig hebt, het enige wat jij daarvan nodig hebt is de SET en WHERE clause.
Wat je wil is dus een query die zegt "update mijn tabel, stel het aantal 1 hoger in, alleen op de plek waar de naam 'cola' is."
Heb de acties daar zelfs al in de goede volgorde gezet! En dan denk ik dat je zelf een heel eind kan komen
Edit: "Probleem" is inderdaad ook niet de meest duidelijke topic titel ;-)
Gewijzigd op 20/09/2010 14:21:45 door niek s
maar hoe kom ik dand e waarde te weten die al in de database staat.
Christiaan de kleine op 20/09/2010 14:20:54:
maar hoe kom ik dand e waarde te weten die al in de database staat.
Hoeft niet.
Google eens op iets van "sql increase column value". Je kan namelijk de waarde die er al in staat gebruiken in je query.
Maar verder ga ik je niet helpen, mijn vorige reply geeft je voldoende informatie om er met Google uit te kunnen komen.
Anyway.
nooit berekening door php laten doen als je het de database zelf kunt laten doen. Is ook veel veiliger. Je krijgt dus eerst een update en daarna een select gedeelte om je data weer te geven. In je update krijg je dan iets als cola = cola + 1 de tweede cola staat dan voor de huidige stand zullen we maar zeggen.
Kijk eens op http://www.phptuts.nl/view/41/ voor meer informatie.
EDIT: beetje te laat al zie ik.
Gewijzigd op 20/09/2010 14:24:02 door - Mark -
maar he kan ik dan erin kzetten dat de waarde 1 hoger meot?
table name = test
db structuur: id | soort | aantal
het gaat over de colum cola die geupdate moet worden 1
wordt eht dan:
Karl Karl op 20/09/2010 13:42:50:
Verzin eens een normale topic titel
Verzin eens een normale topic titel
Karl Karl op 20/09/2010 14:46:48:
Verzin eens een normale topic titel
Karl Karl op 20/09/2010 13:42:50:
Verzin eens een normale topic titel
Verzin eens een normale topic titel
+Ga eens Nederlands typen
De topictitel is aangepast, vanaf nu graag weer on-topic!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// Gegevens van je database
$dbhost= "localhost"; // Meestal localhost
$dbuser= "root"; // Voer hier je username in
$dbpass= ""; // Voer hier je wachtwoord in
$dbname= "test"; // Voor hier de database naam in
//Connection with the mysql
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ("Kan geen verbinding maken met de database");
$dbconn = mysql_select_db ($dbname, $conn);
// Het eigenlijke script
$sql = "UPDATE frisdrank SET aantal=aantal + 1, WHERE soort = cola;";
?>
// Gegevens van je database
$dbhost= "localhost"; // Meestal localhost
$dbuser= "root"; // Voer hier je username in
$dbpass= ""; // Voer hier je wachtwoord in
$dbname= "test"; // Voor hier de database naam in
//Connection with the mysql
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ("Kan geen verbinding maken met de database");
$dbconn = mysql_select_db ($dbname, $conn);
// Het eigenlijke script
$sql = "UPDATE frisdrank SET aantal=aantal + 1, WHERE soort = cola;";
?>
wat gaat er fout, of wat doe ik fout?
je moet je query nog laten uitvoeren en die komma achter aantal+1 mag weg
das toch met mysql_query($sql);
Moe BE op 20/09/2010 17:30:10:
je moet je query nog laten uitvoeren en die komma achter aantal+1 mag weg
het is niet mogen maar moeten! En voor de rest dient de ; achterwege gelaten te worden, want je kan een ; alleen gebruiken als je een multi_query afvuurt
En je dient strings te quoten
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = "UPDATE frisdrank
SET aantal=aantal + 1
WHERE soort = 'cola'";
if (($result = mysql_query($sql)) === false) {
echo mysql_error().'<br />'.$sql;
}
?>
$sql = "UPDATE frisdrank
SET aantal=aantal + 1
WHERE soort = 'cola'";
if (($result = mysql_query($sql)) === false) {
echo mysql_error().'<br />'.$sql;
}
?>
Christiaan de kleine op 20/09/2010 17:58:06:
das toch met mysql_query($sql);
Probeer het?