03. maj 2008 - 22:01Der er
15 kommentarer og 1 løsning
En slags if funktion
Hej eksperter
Jeg skal bruge en if funktion til min mysql query, men jeg kan ikke helt finde ud af hvordan jeg skal klare den.
Det den skal gøre er at tjekke om det nye tal som er tastet ind i tal boksen er større end det som allerede var i boxen. Hvis det er det samme eller lavere end det tal der allerede står skal den nemlig ikke kunne lave min query. Så kan man ikke lave en slags if funktion til det?
Du kan ikke sætte en WHERE på en INSERT, hvis det er hvad du prøver på. Men hvorfor er det egentlig, at den kontrol skal ske i SQL-en, og ikke i din PHP-kode?
Du bliver nok nødt til at lave et ekstra udtræk, for at chekce det nuværende max. bud, i forbindelse med at du indsætter det nye bud. Det kunne jo være at en anden bruger i mellemtiden har afgivet et højere bud:
mysql_query('BEGIN'); $res = mysql_query('SELECT pricenow FROM action WHERE id =?'); $row = mysql_fetch_assoc($res); if($row['pricenow'] < $bud) { // INSERT // UPDATE }
- Der er lidt rod i dine gåseøjne - BEGIN er ikke strengt taget nødvendig med mysql (jeg bruger selv en anden database - har ikke brugt mysql i 100 år) - Du skal huske at escape dine variable inde i din query med mysql_escape_string()
Hvor skal jeg putte den ind henne? Bare lige efter. mysql_query("UPDATE mmauktion_auction set pricenow = '$bud' WHERE id='$auctionid' AND pricenow<$bud "); mysql_escape_string()
mysql_query("UPDATE mmauktion_auction set pricenow = '"..mysql_escape_string($bud)."' WHERE id='".mysql_escape_string($auctionid)."' AND pricenow < ".mysql_escape_string($bud));
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.