login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Optellen van mysql waarden

Offline kenzo - 02/05/2007 20:32
Avatar van kenzoPHP beginner Hallo,

ik heb een soort marktplaatssysteempje waarbij je kunt bieden.

ik heb dat als er nog niet geboden is, een formpje staat met waarde van bod: 0,00

als er wel geboden is staat het laatste (hoogste) bod, maar ik wil dat bod, maar dan bijvoorbeeld 5 euro erbij opgeteld. Dat als het hoogste bod 25,- is, er in het formpje staat: 30,-

ik heb dit, maar hij geeft de fout die erachter staat:

  1. If($aantal == 0)
  2. {
  3. $startbod = "0,00";
  4. }
  5. Else
  6. {
  7. while($list = mysql_fetch_assoc($querybiedingen))
  8.  
  9. $bod = "".$list['bod']."";
  10. $standaard = $bod + $5
  11.  
  12. $startbod = "$standaard";
  13. }


Fout:
  1. Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/kenzo/domains/deknagertjes.nl/public_html/modules/markt/bieden.php on line 28


Regel 28: $bod = "".$list['bod']."";

16 antwoorden

Gesponsorde links
Offline nielsvdwal - 02/05/2007 20:34
Avatar van nielsvdwal PHP gevorderde $5 moet je 5 van maken..

$startbod = "$standaard"; moet je trouwens ook
$startbod = $standaard; van maken..

en
$bod = "".$list['bod']."";
moet zijn
$bod = $list['bod'];
Offline phpfreak - 02/05/2007 20:35
Avatar van phpfreak PHP beginner een kommagetal moet met een . geschreven worden dus 0.00
Offline ikkedikke - 02/05/2007 20:35
Avatar van ikkedikke PHP expert $bod = "".$list['bod']."";
$standaard = $bod + $5
moet dat niet zijn:
$standaard = $list['bod']+ 5
Offline kenzo - 02/05/2007 20:37
Avatar van kenzo PHP beginner Parse error: syntax error, unexpected T_VARIABLE in /home/kenzo/domains/deknagertjes.nl/public_html/modules/markt/bieden.php on line 31


regel 31 is:

  1. $startbod = $standaard;
Offline nielsvdwal - 02/05/2007 20:37
Avatar van nielsvdwal PHP gevorderde laat is zien wat je nu hebt dan..
Offline ikkedikke - 02/05/2007 20:38
Avatar van ikkedikke PHP expert ; op regel 30 vergeten?
Offline kenzo - 02/05/2007 20:39 (laatste wijziging 02/05/2007 21:00)
Avatar van kenzo PHP beginner bedankt, dat was het ikkedikke!


heb nu nog een probleem..

Ik wil de biedingen sorteren van laag naar hoog, en de laatste 5 weergeven.

ik heb deze code, maar hij sorteert de biedingen niet van laag naar hoog in phpmyadmin...

  1. $query2 = mysql_query("SELECT * FROM markt_bieden WHERE ad_id='".$fetch['id']."' ORDER BY bod ASC LIMIT 5");


dit pakt hij in phpmyadmin als ik sorteer op Bod:

95,00
80,00
100,00


niet 80,00 - 95,00 - 100,00


de code die ik heb werkt dus, maar in phpmyadmin pakt hij het anders?
Offline letscode - 02/05/2007 21:03
Avatar van letscode HTML beginner Je kunt beter je biedingen in centen opslaan in de database als int dus:
€ 80,00 wordt 8000 en dan met PHP.net: number_format het op de pagina weergeven
Offline kenzo - 02/05/2007 21:04
Avatar van kenzo PHP beginner maar als iemand in het formpje 80,- of 80,00 invoert, hoe voegt hij dat dan in de database?
Offline letscode - 02/05/2007 21:07 (laatste wijziging 02/05/2007 21:09)
Avatar van letscode HTML beginner dan kun je met php de ',' weghalen en de - vervangen door 2 nullen.

Dus iig
  1. <?hp
  2. $var = str_replace(",","",$var); //komma weghalen
  3. $var = str_replace("-","00",$var); // voor het '-' -je
  4. ?>


edit:

het is nog mooier om 2 formveldjes te maken:

  1. Voer uw prijs in:[00],[00]
Offline kenzo - 02/05/2007 21:11 (laatste wijziging 02/05/2007 21:18)
Avatar van kenzo PHP beginner ok

inderdaat...

bedankt!


edit:
kan ik het form ook een waarde geven dat alleen cijfers ingevuld kunnen worden?
Offline phpfreak - 02/05/2007 22:50 (laatste wijziging 02/05/2007 22:53)
Avatar van phpfreak PHP beginner Dit kan je wel met php checken, gewoon:
  1. <?
  2. if (is_numeric($getal)){
  3. //hier word het opgeslagen
  4. }else{
  5. echo "Je mag enkel een getal invullen";
  6. }
  7. ?>


Misschien gaat het in html ook, dat weet ik niet

EDIT:
Zie net nog een fout staan in je script, bij die while lus zet je geen { en } dat wil zeggen dat hij enkel de while lus uitvoert tot de eerste ; en ik denk niet dat dat de bedoeling is, of wel?
Offline kenzo - 03/05/2007 10:28
Avatar van kenzo PHP beginner jawel...

hij moet de biedingen invoeren, en alleen daar kijken wat het hoogste bod is, en er 5 bij optellen... (het werkt, dus laat ik het maar staan?)


En nog een vraagje...

Als er 35,- euro geboden is, is het eigenlijk raar dat je ook nog 27,- euro ofzo kunt bieden.

Hoe kan ik kijken wat het hoogste bod is, en dat ze daar niet onder kunnen gaan?
Offline Rens - 03/05/2007 10:31
Avatar van Rens Gouden medaille

Crew algemeen
  1. if($_POST['bod'] < $hoogste_bod)
  2. {
  3. } else
  4. {
  5. }
Offline kenzo - 03/05/2007 10:34
Avatar van kenzo PHP beginner ok

bedankt


eigenlijk best simpel... dat ik daar niet aan gedacht heb 
Offline letscode - 03/05/2007 14:45
Avatar van letscode HTML beginner je kunt beter PHP.net: ctype_digit gebruiken ipv is_numeric. Bij isnumeric laat hij ook getallen door in de vorm van 12e334 en dat is niet de bedoeling lijkt me
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.287s