Auto bid system (+50)

Tags:    php

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..

Fold kodeboks ind/udPHP kode 




9 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
du kan ikke bruge din bruger's session i et cronjob - eller kan du godt men så skal du lave lidt om :)
hint: session_id

vil dog ikke lave det med sessions hvis det var mig.


find en måde at hente "session id" ud fra databasen istedet, noget ala
Fold kodeboks ind/udPHP kode 

også istedet for $_SESSION["id"] brug $last_session

dog er du nok nød til at lave hele som en løkke som køre alle brugere igennem som har et aktivt bud.



Okay, men nu er det ikke cronjob (endnu), men hver gang en byder, så kaldes den side jeg har kodeeksempel på øverst.

Jeg er helt tom for idéer, håber på at få hjælp via kodestump eller lign.



Er det ikke bare at køre et script som gør det din egen kode gør de førte linjer? Altså returnere det højeste bud?



Nej.. Læs her:
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.

Så hvis en byder 100 kr som maks og en anden byder 1000 kr som maks, skal person b som byder 1000 kr ikke stå som 1000 kr, men kun 150. Dvs. byder en anden (person C) 500 kr, skal person B's bud forhøjes til 550, da hans maksbud er det største.


"Det bliver en live auktion, så det opdateres real-time ned til sidste sekundt, så vigtigt det spiller som jeg skriver :)"



Indlæg senest redigeret d. 30.04.2012 15:19 af Bruger #9820
Jeg forstår godt dit system, men hvad er det helt præcist du skal bruge hjælp til?

Som jeg forstod dit første indlæg skal du bruge et script der tjekker hvem der har budt højest?



Cronjob pr. 10. sekund? Så kan du ligeså godt benytte et AJAX kald til én enkelt linje fremfor en hel fil.

Bare et godt råd :)



Forid man ikke skal sidde og trykke byd hele tiden, skal systemet vide hvem der har budt højest.

F.eks byder jeg 10.000 på den. Nuværende højeste bud er kun 300. Så derfor vil personen der valgte 300 kr. som maks bud ikke være nummer 1 længere, men derimod nummer 2, da jeg har budt 10.000. Så derfor kommer jeg nummer 1 med 350 i bud.

Byder en anden 10.050 kr og derfor 50 kr højere end mig, ryger mit bud op til 10.000 i maks og jeg ryger på 2. pladsen, og personen med 10.050 ryger nummer 1, da han har budt 50 kr. over mig.

Scripet køres når man byder.



Indlæg senest redigeret d. 30.04.2012 15:53 af Bruger #9820
I stedet for at køre et cronjob hvert 10'ende sekund, kunne du lige så godt, starte denne side, hver gang der bliver budt, på et item.

Og, den .php fil der så køre efter buddet, er afgivet ville tjekke om, der var nogle andre, der skulle bude over.

Hvis, du for eksempel har en tabel i din database, hvor du har dem der har budt og hvornår de har budt, og sortere på denne liste, så du får den med det højeste bud, og den der tidligst har afgivet buddet.

Hvis, man laver en case på følgende:
" En bruger(bruger1) byder 1kr. for en mobil"
" En ny bruger(bruger2) byder nu 2kr. og sætter den til autobid med max. 500kr"
"En ny bruger(bruger3) byder nu 3kr. og sætter den til autobid med max. 500kr"

"Aktionen udløber efter dd.tt.mm.ss"
"Auktionen når at udløbe, uden andet sker, og bruger2 får så at vide at han har vundet auktionen med hans maxBid på 500kr"

Ville det ikke være en mulighed at gøre det på den måde ?
Eller har jeg helt misforstået konceptet ?












Du har misforstået det, men prøv læs tråden, mener jeg har uddybet hvad jeg kan.

Kan jeg få noget kodeeksempel der dutter, sender jeg dig 1000

Jeg er nået her til. Kan nogen se om jeg er rigtigt på vej?

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 30.04.2012 20:57 af Bruger #9820
t