[Php/Mysql] array verschillende bedragen selecteren uit een

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,
Ik heb een probleem. Ik za; het zo duidelijk mogelijk omschrijven.

Ik ben bezig met een script waar men een aantal checkboxen kan aanvinken.
Deze checkboxen hebben allemaal de naam speler[] en tussen de [] staat dan het id van die bepaalde speler.

Als men op submit drukt komt men op een pagina waar ik wil gaan controleren hoeveel spelers ze gekocht hebben (werkt al), maar ik wil ook controleren aan de hand van het geld wat ze nog in hun account hebben of ze deze aangevinkte spelers wel kunnen kopen.

Ik heb nu het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['koop'])) {
        if (sizeof($_POST['spelers']) > $max) {     
            echo "Je kan niet meer dan 3 spelers kopen! Je hebt al ".$gekocht." spelers in je bezit.";
        } else {
            foreach ($_POST['spelers'] as $aankoop) {
                $select = $db->query("SELECT * FROM spelers WHERE id = '".$aankoop."'");
                $list = $db->fetch($select);
                $db->query("INSERT INTO aankopen (user_id, speler_id, waarde, aankoop_datum) 
                VALUES ('".$_SESSION['user_id']."', '".$list['id']."', '".$list['waarde']."', now())"); 
            } 
            echo "Spelers zijn toegevoegd aan je account!"; 
        }
    } else {
                //formulier!


Nu zit ik dus met het probleem hoe kan ik van de id's die ze gekocht hebben gaan controleren of ze wel genoeg geld hebben. Ik heb een spelers tabel met daarin de id van de speler en de waarde. Hoe kan ik nu aan de hand van die array gaan kijken hoeveel al die geselecteerde spelers bij elkaar kosten? Dus een array bevat bijv. de volgende id's 1, 6, 9 nu moet ik die id's gebruiken om de bedragen te selecteren uit de tabel spelers en adt bij elkaar optellen. Hoe doe ik dit. Ik kan er zelf niet uikomen.

Ik hoop dat ik me probleem zo duidelijk genoeg uitgelegd heb. Anders hoor ik het graag.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
1
$query = 'SELECT SUM(kosten) AS geld FROM tabel WHERE id IN ('.implode(',', $_POST['spelers']).')';

Zoiets?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor je antwoord.
Ik heb het even toegepast op me script maar krijg de volgende error als ik uitvoer:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array').')' at line 1
Ik gebruik nu de volgende query:
PHP:
1
$get = $db->query("SELECT SUM(waarde) AS geld FROM spelers WHERE id IN ('.implode(',', '".$_POST['spelers']."').')");


Kheb hem nu wel werkenden, maar als ik $list['geld'] doe laat ie helaas niks zien.

[ Voor 19% gewijzigd door Verwijderd op 29-11-2004 19:30 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Kijk eens goed naar de kleurtjes van je code, en dan naar die van mij, dan zie je vanzelf wat je fout doet. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ah idd fout van mij. Werkt nu perfect. Ik ben je dankbaar :).