Avatar billede jacobs1 Nybegynder
21. maj 2006 - 16:41 Der er 4 kommentarer og
1 løsning

PHP MYSQL update problem

Hej..
Jeg har et lille problem.
Det er meningen at nedestående script skal se hvor mange points brugeren har og så trække det fra $pris. Det fungere også fint. Problemet er at det kun opdateres nogengange i databasen? Jeg er ikke en haj til php, men er det ikke UPDATE SQL sætningen den er gal med?


$pointupdate = mysql_query("UPDATE Bruger SET points = '10' WHERE password = 'gul'");


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>

<?php



$password = "gul";
$downloadID = 1;
$db=mysql_connect("localhost", "****", "*****");
mysql_select_db("****", $db);

// Eksempel på en forespørgsel
$resultat = mysql_query("SELECT * from Billeder WHERE id = $downloadID");
while ($raekke = mysql_fetch_array($resultat)) {
$pris = $raekke['points'];

echo "<br>"."<a href=".$raekke['stortbillede'].">Download</a>";

}


$resultat = mysql_query("SELECT points from Bruger");
while ($raekke = mysql_fetch_array($resultat)) {
$brugerpoints = $raekke['points'];
echo $brugerpoints;
if ($brugerpoints < $pris) {
echo "Du har ik nok points";
}else{
$pointstilbage = $brugerpoints - $pris;
$pointupdate = mysql_query("UPDATE Bruger SET points = $pointstilbage WHERE password = $password");
$updatedb =  mysql_fetch_array($pointupdate);
echo $pointstilbage;
echo $password;
echo $brugerpoints;
}
}

mysql_close();
?>

</body>
</html>
Avatar billede jacobs1 Nybegynder
21. maj 2006 - 16:42 #1
ignorer lige den øverste $pointupdate sætning.
Avatar billede erikjacobsen Ekspert
21. maj 2006 - 16:58 #2
"SELECT points from Bruger"  - er der kun een bruger i tabellen, eller skal du have fat på en speciel. Det sidste synes mest sandsynligt på baggrund af din update.
Avatar billede jacobs1 Nybegynder
21. maj 2006 - 17:05 #3
Svaret var at der i SQL-sætningen skulle være '' om sidste variabel:
UPDATE Bruger SET points = $pointstilbage WHERE password = '$password'"

Hvis der er nogen der kan optimere overstående er der dog stadig 60 points på højkant.
Avatar billede jacobs1 Nybegynder
21. maj 2006 - 17:59 #4
nåå jeg lukker igen
Avatar billede erikjacobsen Ekspert
21. maj 2006 - 18:17 #5
Jeg vil stadig mene din SELECT er forkert.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester