11. august 2004 - 19:59Der er
18 kommentarer og 1 løsning
købe system til community
Hey er der nogle der ligger inde / kan lave så et system tjekker om brugeren har nok credits (i en database) hvis brugeren har nok så kan den købe en skrifttype? og hvis brugeren har under det en skrifttype koster så står der at brugeren ik har råd?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
11. august 2004 - 20:05#1
Det skulle vel ikke være så svært.
$query = mysql_query("SELECT credits FROM tabel WHERE user = '$username'") or die(mysql_error()); $row = mysql_fetch_array($query);
if($row['credits'] <= $pris) { echo "Du kan købe skrifttypen!"; } else { echo "Desværre, du har ikke råd."; }
Synes godt om
Slettet bruger
11. august 2004 - 20:05#2
Hov - det skal selvfølgelig være:
if($row['credits'] >= $pris) {
Synes godt om
Slettet bruger
11. august 2004 - 20:06#3
if($row['credits'] <= $pris) {
skal vist være
if($row['credits'] >= $pris) {
:)
Synes godt om
Slettet bruger
11. august 2004 - 20:08#4
heh jeps. En lille tastefejl, som kunne have givet store problemer.
Synes godt om
Slettet bruger
11. august 2004 - 20:10#5
MEGET store problemer! Men kunne faktisk være sjovt :)
Får den her fejl: Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/home/whitehat_dk/users/kdp/bruger/butik.php on line 13
$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid].") or die(mysql_error()); $row = mysql_fetch_array($query);
if($row['kroner'] <= 10) { $query = mysql_query("UPDATE users SET farve=#ff0000 WHERE id=".$_SESSION[userid]."") or die(mysql_error()); echo "Du har nu købt farven!"; } else { echo "Desværre, du har ikke råd."; } } ?>
Synes godt om
Slettet bruger
11. august 2004 - 20:26#7
Prøv med.
$query = mysql_query("UPDATE users SET farve='#ff0000' WHERE id='$_SESSION[userid]'") or die(mysql_error());
$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid].") or die(mysql_error()); $row = mysql_fetch_array($query);
$kroner = $row[kroner];
if($kroner <= 10) { $query = mysql_query("UPDATE users SET farve='#ff0000',kroner='kroner-10' WHERE id='$_SESSION[userid]'") or die(mysql_error()); echo "Du har nu købt farven!"; } else { echo "Desværre, du har ikke råd."; } } ?>
får denne fejl:
Parse error: parse error in /usr/home/whitehat_dk/users/kdp/bruger/butik.php on line 16
Synes godt om
Slettet bruger
11. august 2004 - 20:48#13
hmm, jeg skal vist snart have noget kaffe :)
Fejlen må ligge her: $query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid].") or die(mysql_error());
ret den til: $query = mysql_query("SELECT kroner FROM users WHERE id='$_SESSION[userid]'") or die(mysql_error());
underligt, du ikke fik en sql error, i første omgang.
Synes godt om
Slettet bruger
11. august 2004 - 20:49#14
Hvis dette ikke virker, så må du have en fejl et andet sted i din menu.php eller sql.php
$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid]."") or die(mysql_error()); $row = mysql_fetch_array($query);
$kroner = $row[kroner];
if($kroner <= 10) { echo "Du har nu købt farven!"; } else { $query = mysql_query("UPDATE users SET farve='#ff0000',kroner='kroner-10' WHERE id='$_SESSION[userid]'") or die(mysql_error()); echo "Desværre, du har ikke råd."; } } ?>
men den fjlernede alle kroner
Synes godt om
Slettet bruger
11. august 2004 - 21:24#17
Det skal vel også være.
if($kroner >= 10) { echo "Du har nu købt farven!"; $kredit = $kroner - 10; $query = mysql_query("UPDATE users SET farve='#ff0000',kroner='$kroner' WHERE id='$_SESSION[userid]'") or die(mysql_error()); } else { echo "Desværre, du har ikke råd."; }
datatyper er vigtige. kroner='kroner-10' ved at skrive anførselstegn rundtom gør du det indimellem til en STRENG. dvs en sekvens af bogstaver. så der prøver du at sætte feltet kroner til en streng der indeholder de der 9 bogstaver, det går galt hvis feltet kroner er af typen INT (et tal)
med cypermann's sidste forslag vil det måske gå godt, men kun fordi mysql prøver at omdanne strengen '123' (eller hvad tallet nu er indimellem) til et tal. det kan mySQL hitte ud af hvis de bogstaver der står ikker er andet end cifre. Men det er misbrug af sproget.
Du bør vide hvad dine datatyper er, og bruge dem ordentligt.
$query = mysql_query("SELECT * FROM users WHERE id=".$_SESSION[userid]."") or die(mysql_error()); $row = mysql_fetch_array($query);
$kroner = $row[kroner];
if(100 <= $kroner) { $pris = $kroner - 100; $query = mysql_query("UPDATE users SET farve='#ff0000',kroner='$pris' WHERE id='$_SESSION[userid]'") or die(mysql_error()); echo "Du har nu købt farven!"; } else {
echo "Desværre, du har ikke råd."; } } ?>
Synes godt om
Ny brugerNybegynder
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.