Avatar billede menagoom Nybegynder
30. april 2012 - 12:36 Der er 3 kommentarer

Auktion autobud, 1000 kr. belønnes

Hej,
jeg forsøger, at lave et cronjob, som køres hvert 10 sekundt, som skal tjekke hvilken bruger der har budt højest.

Eksempel:
Du ser en mobiltelefon med startpris 1,00 kr., som du maksimalt vil betale 500,00 kr. for.
Du afgiver et maksimumbud på 500,00 kr. Dit første reelle bud bliver 1,00 kr. indtil der er en anden byder, som byder højere end dig.
Næste byder afgiver et bud på 100,00 kr.. Nu vil systemet - på dine vegne - automatisk byde 100,00 kr, så du vil stå som højstbydende på auktionen.
Dit bud vil nu være 100,00 kr.. Kommer der endnu et bud, vil systemet automatisk fortsætte med at byde for dig,
indtil der ikke er andre, som overbyder eller indtil dit maksimumbud er nået.

Bemærk: Den byder, som først har afgivet et maksimumbud, byder højest. Hvis en anden byder afgiver et maksimumbud på 500,00 kr efter dit bud,
så vil du være højestbydende. Har byderen et maksimumbud på 525,00 kr., vil vedkommende naturligvis vinde over dit maksimumbud.


Kan i hjælpe mig? Hvis nogen kan få det til at dutte, sender jeg af hjertens gerne 1000 kr..

$_GET['aid'] er id på auktionen.
$_GET['bid'] er det bud brugeren vælger. F.eks 500.

Resten har jeg snust mig frem til, via. bl.a: http://www.phpfreaks.com/forums/index.php?topic=229533.0 (dog uden held, kan ike finde rundt i det)...

men håber i kan hjælpe, her er min kode hvor jeg slap..

[code lang="PHP"]$o = mysql_query("select * from bud where aid = '".$_GET['aid']."' ORDER BY cbud DESC LIMIT 0,1");
$oo=mysql_fetch_assoc($o);

$startBud = (mysql_num_rows($o)==0) ? $row['startbud'] : $oo['cbud'];


//Mit bud, som måske er 500, tjek om tallet er højere end det højeste bud ("max_bid").
//Hvis der er et højere tal i databasen end ens bud, så sæt alle der har over mit bud, til +50 i nuværende bud indtil det når den enkeles max_bud.
//Hvis ingen har budt, og en sætter max_bud til 500 kr. og en anden gør det samme, så kom med en fejlmeddelse "Der er allerede en der har autobudt 500 kr." - men kun ved første bud.



//Indsæt række.
$check = mysql_query("select id from bud where session = '".$_SESSION['id']."' and aid = '".$_GET['aid']."'");
if ( mysql_num_rows($check) == 0) {
mysql_query("INSERT INTO bud (session, max_bud, aid) values ('".$_SESSION['id']."','".$_GET['bid']."','".$_GET['aid']."')");
} else {
mysql_query("update bud set max_bud = '".$_GET['bid']."' WHERE session = '".$_SESSION['id']."' and aid = '".$_GET['aid']."'");
}


//Hent alle

$hent = mysql_query("select * from bud where aid = '".$_GET['aid']."'");
while($row=mysql_fetch_assoc($hent)) {
  if ( $row['max_bud'] > $_GET['bid']) {
        if ( $row['max_bud'] >= $_GET['bid'] && (($_GET['bid']+$auto) <= $row['max_bud'])) {
                mysql_query("update bud set cbud = '".$_GET['bid']."' WHERE id = '".$row['id']."'");
          } else {
              mysql_query("update bud set cbud = '".$_GET['bid']."' WHERE id = '".$row['id']."'");
          }
        }else if ( $row['max_bud'] <= $startBud) {
              mysql_query("update bud set cbud = '".$_GET['bid']."' WHERE id = '".$row['id']."'");
         
        }
}
[/code]
Avatar billede The_Buzz Novice
30. april 2012 - 13:39 #1
kan du ikke bare køre en php funktion som checker om der er sat et maksimum bud, hver gang der bydes på auktion id 32 - skal den checke en tabel og se om der er et maksbud på auktion id 32, og hvis der er dette - skal der stadig være maksbud på f.eks. 101kr ved et bud på 100.

Crontabs syns jeg du skal holde dig fra, desuden kører de som hovedregl ikke hver sekund, men hvert minut, time, dag, måned osv. http://en.wikipedia.org/wiki/Cron
Avatar billede menagoom Nybegynder
30. april 2012 - 15:15 #2
Det jo det jeg forsøger med min kode, dog uden held. Vil gerne have noget kodeeksempel fremfor.
Avatar billede vagnk Juniormester
01. maj 2012 - 04:26 #3
Jeg synes det er en fornærmelse ud over det almindelige at blive tilbudt penge. Bvadr.
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