login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Php-Mysql vraagje

Offline finduilas - 29/03/2006 09:34
Avatar van finduilasPHP gevorderde Hallo;

Ik heb een vraag.Hoe zou ik het best doen.Ik heb leden in een database.Ik wil nu dat ze tegen elkaar worden geplaatst.Maar wel maar 1x.Dus niet 2x tegen dezelfde.

24 antwoorden

Gesponsorde links
Offline nielsvdwal - 29/03/2006 09:38
Avatar van nielsvdwal PHP gevorderde tegen elkaar worden geplaatst??:s
Offline finduilas - 29/03/2006 09:39 (laatste wijziging 29/03/2006 16:22)
Avatar van finduilas PHP gevorderde Nou;

Je hebt 4 spelers.
Speler1 vs Speler2
Speler3 vs Speler4

Voorkomen dat ze nog eens tegenover elkaar komen te staan.Dus de match herhaald word.
Offline Martijn1989 - 29/03/2006 16:33
Avatar van Martijn1989 PHP ver gevorderde Maak een nieuwe database tabel aan, ...

zet daar iedereen in, die al gekozen is,...

pak ondertussen 2 random mensen totdat ze niet gelijk zijn aan elkaar, en nog niet in die tabel staan.

Offline Thomas - 29/03/2006 17:01
Avatar van Thomas Moderator Spelers in een arraytje zetten.
En dan speler x speler tegen elkaar uitzetten, en dan de helft (diagonaal) van die tabel wegmikken.
Offline stijnhau - 29/03/2006 17:53 (laatste wijziging 29/03/2006 17:53)
Avatar van stijnhau Onbekend nee,
de besta manier is zo:
maak een eniwue tabel met de leden er in
een met naam 1 en andere rijn naam2
en daar zet je de leden in.
en bij het uithalen laat je er vs tussen zetten.
Offline finduilas - 30/03/2006 10:42 (laatste wijziging 30/03/2006 10:55)
Avatar van finduilas PHP gevorderde @Stijnhau:Ik weet wel hoe ik ze tegenoverelkaar krijg maar hoe VOORKOM ik dat ze 2x tegen elkaar spelen?

@Martijn:Ze moeten tegen iedereen 1x spelen.Dus als ik het zo doe kunnen ze maar 1x spelen.
Offline BramBo - 30/03/2006 12:27
Avatar van BramBo JS gevorderde Een History tabel ?

dus : User_id | Opponent_id | date | bla..

per gespeelde of geplande battle 'n regel aanmaken waar je dus User_id & Opponent_id als index pakt.

Als je weer nieuwe gaat plannen // spelen hoef je alleen in de history te kijken of het reeds is voor gekomen..
Offline finduilas - 30/03/2006 14:19
Avatar van finduilas PHP gevorderde Zoiets had ik ook al in gedachten maar wat als dit gebeurt:

user_id: Finduilas
Opponent_Id: Cardena

Dan kan nog altijd
user_id: Cardena
Opponent_id: Finduilas
Offline BramBo - 30/03/2006 14:25 (laatste wijziging 30/03/2006 14:25)
Avatar van BramBo JS gevorderde hmm je kan de id's in beide velden checken dus als we het dmv 'n sql query zouden checken, als volgt :

  1. $id = 'jan';
  2. $id2 = 'sjaak';
  3.  
  4. $query = "SELECT * FROM history WHERE
  5. (Opponent_id='{$id}' AND User_id='{$id2}') OR
  6. (Opponent_id='{$id2}' AND User_id='{$id}')";
Offline finduilas - 30/03/2006 14:40 (laatste wijziging 30/03/2006 15:27)
Avatar van finduilas PHP gevorderde Apart kan ik het maar samenvoegen lukt me niet.:s.

  1. <?php
  2. include 'connect.php'; //connecten naar database
  3.  
  4. if(isset($_POST['verzenden']))
  5. {
  6. $sspeler1 = addslashes($_POST['speler1']);
  7. $sspeler2 = addslashes($_POST['speler2']);
  8. $idatum = addslashes($_POST['datum']);
  9.  
  10. mysql_query("INSERT INTO matches (speler1, speler2, datum) VALUES ('".$sspeler1."', '".$sspeler2."', '".$idatum."')") or die (mysql_error());
  11.  
  12. echo 'De wedstrijd is toegevoegd';
  13. }
  14. else
  15. {
  16. ?>
  17. Wedstrijd toevoegen aan de cup:
  18. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  19. Speler1: <input type="text" name="speler1"><br />
  20. Speler2: <input type="text" name="speler2"><br />
  21. Datum: <input type="text" name="datum"><br />
  22. <input type="submit" name="Toevoegen" value="verzenden">
  23. </form>
  24. <?
  25. }
  26. ?>

Hoe moet ik dit nu combineren met die controle?
Offline BramBo - 30/03/2006 15:32
Avatar van BramBo JS gevorderde Zoiets dan ..

  1. <?php
  2. include 'connect.php'; //connecten naar database
  3.  
  4. if(isset($_POST['verzenden']))
  5. {
  6. $sspeler1 = addslashes($_POST['speler1']);
  7. $sspeler2 = addslashes($_POST['speler2']);
  8. $idatum = addslashes($_POST['datum']);
  9.  
  10. $qry = mysql_query("SELECT * FROM matches WHERE
  11. (speler1='{$sspeler1}' AND speler2='{$sspeler2}') OR (speler1='{$sspeler2}' AND speler2='{$sspeler1}')") or die (mysql_error());
  12.  
  13. if (mysql_num_rows($qry) > 0) { print "Deze match is al beslist"; exit;}
  14.  
  15. mysql_query("INSERT INTO matches (speler1, speler2, datum) VALUES ('".$sspeler1."', '".$sspeler2."', '".$idatum."')") or die (mysql_error());
  16.  
  17. echo 'De wedstrijd is toegevoegd';
  18. }
  19. else
  20. {
  21. ?>
  22. Wedstrijd toevoegen aan de cup:
  23. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  24. Speler1: <input type="text" name="speler1"><br />
  25. Speler2: <input type="text" name="speler2"><br />
  26. Datum: <input type="text" name="datum"><br />
  27. <input type="submit" name="Toevoegen" value="verzenden">
  28. </form>
  29. <?
  30. }
  31. ?>
Offline finduilas - 30/03/2006 20:52
Avatar van finduilas PHP gevorderde Ik kan er blijven toevoegen.Dus werkt niet helemaal 
Offline Simon - 30/03/2006 20:57
Avatar van Simon PHP expert
  1. <?php
  2. include 'connect.php'; //connecten naar database
  3.  
  4. if(isset($_POST['verzenden']))
  5. {
  6. $sspeler1 = addslashes($_POST['speler1']);
  7. $sspeler2 = addslashes($_POST['speler2']);
  8. $idatum = addslashes($_POST['datum']);
  9.  
  10. $qry = mysql_query("SELECT * FROM matches WHERE (speler1='".$sspeler1."' AND speler2='".$sspeler2."') OR (speler1='".$sspeler2."' AND speler2='".$sspeler1."')") or die (mysql_error());
  11.  
  12. if (mysql_num_rows($qry) > 0) {
  13. echo "Deze match is al toegevoegd";
  14. }
  15. else {
  16. mysql_query("INSERT INTO matches (speler1, speler2, datum) VALUES ('".$sspeler1."', '".$sspeler2."', '".$idatum."')") or die (mysql_error());
  17.  
  18. echo 'De wedstrijd is toegevoegd';
  19. }
  20. }
  21. else
  22. {
  23. ?>
  24. Wedstrijd toevoegen aan de cup:
  25. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  26. Speler1: <input type="text" name="speler1"><br />
  27. Speler2: <input type="text" name="speler2"><br />
  28. Datum: <input type="text" name="datum"><br />
  29. <input type="submit" name="Toevoegen" value="verzenden">
  30. </form>
  31. <?
  32. }
  33. ?>
zo mss?
Offline finduilas - 31/03/2006 13:15
Avatar van finduilas PHP gevorderde
  1. <?php
  2. include 'connect.php'; //connecten naar database
  3.  
  4. if(isset($_POST['verzenden']))
  5. {
  6. $sspeler1 = addslashes($_POST['speler1']);
  7. $sspeler2 = addslashes($_POST['speler2']);
  8. $idatum = addslashes($_POST['datum']);
  9.  
  10. $qry = mysql_query("SELECT * FROM cupmatcheshis WHERE (speler1='".$sspeler1."' AND speler2='".$sspeler2."') OR (speler1='".$sspeler2."' AND speler2='".$sspeler1."')") or die (mysql_error());
  11.  
  12. if (mysql_num_rows($qry) > 0) {
  13. echo "Deze match is al toegevoegd";
  14. }
  15. else {
  16. mysql_query("INSERT INTO cupmatches (speler1, speler2, datum) VALUES ('".$sspeler1."', '".$sspeler2."', '".$idatum."')") or die (mysql_error());
  17.  
  18. echo 'De wedstrijd is toegevoegd';
  19. }
  20. }
  21. else
  22. {
  23. ?>
  24. Wedstrijd toevoegen aan de cup:
  25. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  26. Speler1: <input type="text" name="speler1"><br />
  27. Speler2: <input type="text" name="speler2"><br />
  28. Datum: <input type="text" name="datum"><br />
  29. <input type="submit" name="verzenden" value="verzenden">
  30. </form>
  31. <?
  32. }
  33. ?>


Ik kan er nog steeds blijven toevoegen 
Offline Simon - 31/03/2006 16:33
Avatar van Simon PHP expert
  1. $qry = mysql_query("SELECT * FROM cupmatcheshis WHERE (speler1='".$sspeler1."' AND speler2='".$sspeler2."') OR (speler1='".$sspeler2."' AND speler2='".$sspeler1."')") or die (mysql_error());

verander die ff in:
  1. $qry = mysql_query("SELECT * FROM cupmatcheshis WHERE speler1='".$sspeler1."' AND speler2='".$sspeler2."'") or die (mysql_error());

en voeg dan es in je db toe: spelers1='team1' en spelers2='team2'
en probeer dan dat nog es toe te voegen, als het nog steeds lukt weet ik het ook niet meer 
Offline finduilas - 31/03/2006 18:24 (laatste wijziging 01/04/2006 14:07)
Avatar van finduilas PHP gevorderde Nog steeds hetzelfde 
Offline kokx - 01/04/2006 14:10
Avatar van kokx Onbekend @simon: Dat mag gewoon in mysql.
Offline finduilas - 01/04/2006 16:45
Avatar van finduilas PHP gevorderde Maar hoe moet het nu?
Ik vind het allesinds niet.
Offline MindPrison - 01/04/2006 16:56 (laatste wijziging 01/04/2006 16:58)
Avatar van MindPrison PHP gevorderde Als je tabel 'matches' noemt, zou dit het moeten doen hoop ik:
  1. <?php
  2. include("connect.php"); //connecten naar database
  3.  
  4. if(isset($_POST["verzenden"]))
  5. {
  6. $speler1 = addslashes($_POST["speler1"]);
  7. $speler2 = addslashes($_POST["speler2"]);
  8. $datum = addslashes($_POST["datum"]);
  9.  
  10. $res = mysql_query("SELECT COUNT(*) FROM matches WHERE speler1 = '" . $speler1 . "' OR speler1 = '" . $speler2 . "' OR speler2 = '" . $speler1 . "' OR speler2 = '" . $speler2 . "'") or die(mysql_error());
  11.  
  12. if (mysql_num_rows($res) > 0)
  13. echo "Deze match is al toegevoegd";
  14. else
  15. {
  16. mysql_query("INSERT INTO matches (speler1, speler2, datum) VALUES ('" . $speler1 . "', '" . $speler2 . "', '" . $datum . "')") or die(mysql_error());
  17. echo "De wedstrijd is toegevoegd";
  18. }
  19. }
  20. else
  21. {
  22. ?>
  23. Wedstrijd toevoegen aan de cup:
  24. <form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  25. Speler1: <input type="text" name="speler1"><br />
  26. Speler2: <input type="text" name="speler2"><br />
  27. Datum: <input type="text" name="datum"><br />
  28. <input type="submit" name="verzenden" value="verzenden">
  29. </form>
  30. <?
  31. }
  32. ?>
Offline Simon - 01/04/2006 16:59
Avatar van Simon PHP expert dit zal wss niet werken
want stel:
Team 1 vs Team 2
Team 3 vs Team 4

daarna kun je niet meer Team 1 vs Team 3 doen 
dat zal niet lukken
Offline MindPrison - 01/04/2006 17:00
Avatar van MindPrison PHP gevorderde Is het niet de bedoeling dat iedere speler maar 1 keer voorkomt?
Offline finduilas - 01/04/2006 17:53
Avatar van finduilas PHP gevorderde Nee,Dat een match maar 1x voorkomt.

Dus dit moet kunnen:

Team1 vs Team2
Team3 vs Team4
Team1 vs Team4
Team2 vs Team3
Team1 vs Team3
Team2 vs Team4

Offline MindPrison - 01/04/2006 19:09 (laatste wijziging 01/04/2006 19:14)
Avatar van MindPrison PHP gevorderde
  1. <?php
  2. include("connect.php"); //connecten naar database
  3.  
  4. if(isset($_POST["verzenden"]))
  5. {
  6. $speler1 = addslashes($_POST["speler1"]);
  7. $speler2 = addslashes($_POST["speler2"]);
  8. $datum = addslashes($_POST["datum"]);
  9.  
  10. $res = mysql_query("SELECT COUNT(*) AS aantal FROM matches WHERE (speler1 = '" . $speler1 . "' AND speler2 = '" . $speler2 . "') OR (speler1 = '" . $speler2 . "' AND speler2 = '" . $speler1 . "')") or die(mysql_error());
  11.  
  12. $row = mysql_fetch_array($res);
  13. if ($row[aantal] >= 1)
  14. echo "Deze match is al toegevoegd";
  15. else
  16. {
  17. mysql_query("INSERT INTO matches (speler1, speler2, datum) VALUES ('" . $speler1 . "', '" . $speler2 . "', '" . $datum . "')") or die(mysql_error());
  18. echo "De wedstrijd is toegevoegd";
  19. }
  20. }
  21. else
  22. {
  23. ?>
  24. Wedstrijd toevoegen aan de cup:
  25. <form action=" <?=$_SERVER["PHP_SELF"]?> " method="POST">
  26. Speler1: <input type="text" name="speler1"><br />
  27. Speler2: <input type="text" name="speler2"><br />
  28. Datum: <input type="text" name="datum"><br />
  29. <input type="submit" name="verzenden" value="verzenden">
  30. </form>
  31. <?
  32. }
  33. ?>


Werkt dit dan?
Offline finduilas - 01/04/2006 20:13 (laatste wijziging 01/04/2006 20:16)
Avatar van finduilas PHP gevorderde Ik heb een grote fout gemaakt .
De database (cupmatcheshis) was leeg.Ik plaatste alle matches in cupmatches.

Dus ik zou eigenlijk moeten kunnen controleren in cupmatcheshis (gespeelde) & cupmatches (niet-gespeelde).

EDIT:Bedankt aan iedereen al.Alle variaties die werden gepost werkten.Gewoon door mij is het een beetje uitgelopen. :-:$
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.349s