Bied systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nick Dijkstra

Nick Dijkstra

08/06/2011 22:16:27
Quote Anchor link
Hoi,

Ik wil een bied systeem maken en als iemand 2 keer heeft geboden op 1 artikel dat in zijn lijst met biedingen het artikel maar 1 keer wordt weergegeven degene met het hoogste bod.

Weet iemand hoe ik dit het beste kan doen?

Alvast bedankt
 
PHP hulp

PHP hulp

05/08/2020 13:24:51
 
- Matt -

- Matt -

08/06/2011 22:49:58
Quote Anchor link
Met PHP.
 
Nick Dijkstra

Nick Dijkstra

08/06/2011 22:58:10
Quote Anchor link
Nee, je meent het. Waarom denk je dat ik het op PHPhulp zet !!
 
Bram Boos

Bram Boos

08/06/2011 23:28:00
Quote Anchor link
Begin eens met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php

?>


En ga dan eens zoeken naar beginnershandleidingen en kom dan terug met gerichte vragen met voorbeelden.
 
Ozzie PHP

Ozzie PHP

09/06/2011 00:23:41
Quote Anchor link
Matthew Keller op 08/06/2011 22:49:58:
Met PHP.


Bram Boos op 08/06/2011 23:28:00:
Begin eens met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php

?>


Sorry, maar ik vind deze reacties echt iets te kort door de bocht. Inderdaad mag de topicstarter zijn vraag misschien wat concreter formuleren, maar als ik dan 2 van dit soort NIETSZEGGENDE antwoorden lees dan zakt mijn broek daar van af. We zitten op dit forum om elkaar te helpen!!!

@Nick: als iemand op een product biedt dan sla je deze bieding op in een database. Als iemand nog een keer op hetzelfde product biedt dan kijk je in de database of hij / zij al eerder op dit product heeft geboden. Zo ja, dan pas je de prijs aan in de database. Dat is ongeveer de basis waar je mee aan de slag zult moeten.
 
Jelmer -

Jelmer -

09/06/2011 00:24:21
Quote Anchor link
Ik zou een tabel maken met aangeboden artikelen. Per artikel minstens een id, naam en een datetime waarna de bieding gesloten is. Daarnaast maak je nog een tabel met biedingen, per bieding de gebruiker die het bod heeft uitgebracht, op welk artikel hij het bod heeft uitgebracht, het bod en een datetime waarop hij het bod heeft uitgebracht.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE "artikelen" (
  "id" int(11) unsigned NOT NULL AUTO_INCREMENT,
  "naam" varchar(255) NOT NULL DEFAULT '',
  "gesloten_op" datetime DEFAULT NULL,
  PRIMARY KEY ("id")
);

CREATE TABLE "biedingen" (
  "id" int(11) unsigned NOT NULL AUTO_INCREMENT,
  "artikel_id" int(11) NOT NULL,
  "user_id" int(11) NOT NULL,
  "bod" decimal(6,2) NOT NULL,
  PRIMARY KEY ("id")
);


Een lijst met artikelen waarop je kan bieden is dan simpelweg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
    a.id,
    a.naam,
    MAX(b.bod) as hoogste_bod
FROM
    artikelen a
LEFT JOIN biedingen b ON
    b.artikel_id = a.id
WHERE
    a.gesloten_op > NOW()
GROUP BY
    a.id,
    a.naam


Een lijst van winnaars kan je ook met één (okee, en een subquery) genereren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
    a.id,
    a.naam,
    b.user_id,
    b.bod
FROM
    artikelen a
INNER JOIN biedingen b ON
    b.id = (SELECT b.id FROM biedingen b WHERE b.artikel_id = a.id ORDER BY b.bod DESC LIMIT 1)
WHERE
    a.gesloten_op < NOW()


Die laatste query kan je ook aanpassen om voor één gebruiker te kijken voor welke artikelen hij allemaal heeft gewonnen. In je PHP script kan je dan nog bouwen dat je nooit op gesloten artikelen kan bieden en dat je alleen biedingen hoger dan het hoogste bod kan uitbrengen etc.

Het is een opzetje, het kan vast ook anders, maar je moet je wel verdiepen in SQL en PHP formulieren wil je op gang komen.
 
Bas IJzelendoorn
Beheerder

Bas IJzelendoorn

09/06/2011 00:46:04
Quote Anchor link
Ik denk dat Jelmer hetzelfde bedoelt (niet helemaal gelezen), maar voor de korte omschrijving:

Je maakt een tabel met een unieke naam of code en daar haal je de laatste hoge waarde (qua bedrag) uit die door die persoon is gemaakt.
 
Nick Dijkstra

Nick Dijkstra

11/06/2011 21:55:23
Quote Anchor link
Bedankt Jelmer ;) Aan jou antwoord heb ik wat. Het werkt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.