Gå til innhold

Hjelp med å oppdatere flere brukere samtidig?


Anbefalte innlegg

Hei.

Har laget en auksjon-funksjon, på spillet mitt. Og har kommet ditt brukeren kan akseptere budene den har fått.

Og da er det jo mange andre brukere som også har gitt bud. Man kan akseptere 1 bud.

 

Mitt spørsmål:

Hvordan skal jeg kunne oppdatere de andre brukerene som allerede har gitt bud?

Slik at de får igjen pengene sine osv..

Endret av Rematusen
Lenke til kommentar
Videoannonse
Annonse

Dette hører vel hjemme i databaser...

 

Kanskje denne kan virke? Har ikke testet. Kan være veldig treigt hvis det virker...

 

update user as u, bids as b, auction as a

set u.money = u.money + b.bid, b.transfered = true

where u.user_id = b.bidder_id and b.transfered = false and a.auction_id = b.auction_id and a.winner_user_id = u.user_id;

 

eller

 

a.winner_bid_id = b.bid_id;

Endret av OISNOT
Lenke til kommentar
Dette hører vel hjemme i databaser...

 

Kanskje denne kan virke? Har ikke testet. Kan være veldig treigt hvis det virker...

 

update user as u, bids as b, auction as a

set u.money = u.money + b.bid, b.transfered = true

where u.user_id = b.bidder_id and b.transfered = false and a.auction_id = b.auction_id and a.winner_user_id = u.user_id;

 

eller

 

a.winner_bid_id = b.bid_id;

 

 

Kan du forklare litt mer, om hvva som skjer i den spørringen? :p

Lenke til kommentar
Kan du forklare litt mer, om hvva som skjer i den spørringen? :p

 

Den er utestet...

basert på at du har en tabell for brukere, en for auksjoner og en for bud, og trekker fra bud fra budgivers konto (som i dette tilfellet er på brukertabellen).

denne overfører ikke penger til auksjonisten og gir ikke penger tilbake til budvinneren.

 

update user as u, bids as b, auction as a

set u.money = u.money + b.bid, b.transfered = true

where u.user_id = b.bidder_id and b.transfered = false and a.auction_id = b.auction_id and a.winner_bid_id = b.bid_id

for en spesifikk auksjon legg til id

a.auction_id = $auctionId

eller sammenlign på dato for å behandle alle

a.end_time < now()

 

transfered er bool som sier om pengene er overført til mottaker eller ikke.

Lenke til kommentar
Kan du forklare litt mer, om hvva som skjer i den spørringen? :p

 

Den er utestet...

basert på at du har en tabell for brukere, en for auksjoner og en for bud, og trekker fra bud fra budgivers konto (som i dette tilfellet er på brukertabellen).

denne overfører ikke penger til auksjonisten og gir ikke penger tilbake til budvinneren.

 

update user as u, bids as b, auction as a

set u.money = u.money + b.bid, b.transfered = true

where u.user_id = b.bidder_id and b.transfered = false and a.auction_id = b.auction_id and a.winner_bid_id = b.bid_id

for en spesifikk auksjon legg til id

a.auction_id = $auctionId

eller sammenlign på dato for å behandle alle

a.end_time < now()

 

transfered er bool som sier om pengene er overført til mottaker eller ikke.

 

 

 

:hmm: Skal se litt på det nå..

Lenke til kommentar
Er det ikke bedre at man oppdaterer tabellen for auksjoner med brukernavn (id) fra han som la inn siste budet?, hvis får godtatt budet sitt, så blir det trukket fra kontoen, istedenfor og trekke beløpet med en gang...

Det spørs ka man vil til slutt.

  • alle budene er skjult for andre budgivere
  • det skal legges til støtte for å gi bud med annet en penger (eller i tillegg)

Og det er greit å trekke beløpet med en gang, så er du sikker på at de kan betale hvis de vinner.

Legger også begrensning på kor mange auksjoner man kan delta i (spesielt hvis man skal bruke de samme ressursene på annet enn auksjoner).

 

Så å trekke beløpet før eller etter auksjonen spørs jo helt på ka du er ute etter.

Endret av OISNOT
Lenke til kommentar
Og det er greit å trekke beløpet med en gang, så er du sikker på at de kan betale hvis de vinner.

Legger også begrensning på kor mange auksjoner man kan delta i (spesielt hvis man skal bruke de samme ressursene på annet enn auksjoner).

 

Kan jo sjekke med databasen om han har penger nokk før man registrerer budet, og man kan registrere med sessions i databasen om hvor mange auksjoner man deltar i... som slettes når auksjonen er avsluttet..

 

Bare ser for meg at det blir enklere, men alt for hver sin smak ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...