Ik heb zoals bijna altijd, een vraagje:
Ik heb een soort marktplaats waar je kan bieden op kleding.
Maar hoe kan ik ervoor zorgen dat een bod niet lager kan zijn dan het laatst geplaatste bod? (ik werkt natuurlijk met mysql databases)
Ja, maar dit is natuurlijk geen juiste controle. Ik neem aan dat je met die eerste query de gegevens van de huidige bieder ophaalt. En ja, natuurlijk heeft die nog geen prijs ingevuld (je eigen controle op regel 4) en dus kun je alle prijzen invullen...
Je moet zodra de ingevulde prijs bekend is in de database controleren of dit wel de hoogste prijs van alle geboden prijzen is. En daar kun je bijvoorbeeld de query van Leroy voor gebruiken...
Dat gaat nog niet werken aangezien je nog steeds alleen de geboden prijs van de huidige adverteerder ophaalt. En die bestaat gewoonweg nog niet.
Gebruik gewoon een query als:
SELECT
COUNT(*)
FROM
tabel
WHERE
prijs > [geboden prijs]
Waarbij '[geboden prijs]' natuurlijk voor een variabele staat die door de gebruiker ingevuld is.
Vervolgens kun je met de functie mysql_result() de waarde ophalen en controleren of deze 0 is. Als deze 1 of groter is, betekent dat dat er al een hoger bod in de database zit.
Ja, maar of je nou mijn query of de jouwe gebruikt, je moet daarna met PHP nog steeds checken. Bij mij vergelijk je de waarde, bij jouw kijk je of er een record bestaat. Werkt allebei, je zou nog kunnen kijken welke sneller is, maar verder boeit het niet.
<?php
if($_POST["Prijs"]+0 < $Bieder->Prijs) {
echo "<b style=\"color:red\">De Prijs moet wel hoger zijn dan het laatste bod!</b><br>";
$_POST["Prijs"] = ""; $Formulier = true;
}
?>
[quote='niek schreef op 10.06.2007 17:57']omg! Leer netjes scripten iks dee!
<?php
if($Formulier) {
echo 'hooi ... is gedroogd gras! (ofnie Webmakerij)';
}
// spaties na iedere lus. Learn it. Code indenting!
?>
Al vind ík dat ook nog steeds niet netjes.
Mij lijkt..
<?php
if($Formulier)
{
echo '..dit..';
}
?>
..netter. ;)[/quote]
ow em gee
spam
iks dee
Dat ligt eraan. Dat is iedereens eigen keuze.
Maar dit is de standaard:
<?php
/*
* Commentaar
* is
* rlxt
* ofnie?
*/
function spam()
{
return 'SPAM!';
}
echo spam();
if($mongool->readinguser() == "Boris") {
echo "Kip";
} else {
echo "piK";
}
// Dat is dus bij functies wel een enter, en bij ifs op 1 lijn. Zo programmeer
// ik overigens niet, ik doe alles op 1 lijn. maps spam iks dee iks dee
?>
<?php
if($_POST["Prijs"]+0 < $Bieder->Prijs) {
echo "<b style=\"color:red\">De Prijs moet wel hoger zijn dan het laatste bod!</b><br>";
$_POST["Prijs"] = ""; $Formulier = true;
}
?>