login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Willekeurige volgorde

Offline roelh - 25/01/2007 16:23
Avatar van roelhPHP gevorderde Hey allemaal,

Dankzij jullie hulp heb ik nu dit.
Nu zou ik graag willen, dat hij de teams kriskras door elkaar gooit.
Dus bijv eerst een Nederlands team pakt, daarn aan frans, daar weer een Nederlands, daarna een Spaanse.
Hoe doe ik dit? En als kan ze NIET in 1 array gooien.

  1. <?
  2. $nederland = array('Ado Den Haag', 'Ajax', 'AZ', 'Excelsior', 'FC Groningen', 'FC Twente', 'FC Utrecht', 'Feyenoord',
  3. 'Heracles Almelo', 'NAC', 'NEC', 'PSV', 'RKC', 'Roda JC', 'SC Heerenveen', 'Sparta', 'Vitesse', 'Willem2');
  4. $aantalned = count($nederland);
  5. $randomned = array_rand($nederland, 3);
  6.  
  7. for($i=0; $i <= 3; $i++){
  8. echo $nederland[$randomned[$i]];
  9. echo ",&nbsp;";
  10. }
  11.  
  12. echo "<br>";
  13.  
  14. $spanje = array('Barcelona', 'Sevilla', 'Real Madrid', 'Valencia', 'Atletico Madrid', 'Zaragoza', 'Recreativo', 'Getafe', 'Osasuna', 'Espanyol',
  15. 'Villareal', 'Racing Santader', 'Deportivo', 'Celta', 'Mallorca', 'Athletic', 'Levante', 'Betis', 'Real Sociedad', 'Gimnastic');
  16. $aantalspanje = count($spanje);
  17. $randomspanje = array_rand($spanje, 3);
  18.  
  19. for($i=0; $i <= 4; $i++){
  20. echo $spanje[$randomspanje[$i]];
  21. echo ",&nbsp;";
  22. }
  23.  
  24. echo "<br>";
  25.  
  26. $frankrijk = array('Olympique Lyon', 'Olympique Marseille', 'RC Lens', 'Lille OSC', 'FC Sochaux', 'Saint-Etienne', 'AS Nancy', 'Bordeaux', 'Toulouse', 'Le Mans',
  27. 'Auxerre', 'Rennes', 'Lorient', 'Valenciennes', 'AS Monaco', 'FC Nantes', 'PSG', 'Troyes', 'OGC Nice', 'Sedan' );
  28. $aantalfrankrijk = count($frankrijk);
  29. $randomfrankrijk = array_rand($frankrijk, 3);
  30.  
  31. for($i=0; $i <= 4; $i++){
  32. echo $frankrijk[$randomfrankrijk[$i]];
  33. echo ",&nbsp;";
  34. }
  35.  
  36. ?>

18 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 25/01/2007 16:24 (laatste wijziging 25/01/2007 16:25)
Avatar van Kr4nKz1n Onbekend Oei verschillende arrays. Tja 1 array weet ik wel uit me hoofd
  1. <?
  2. $teams = array_rand($nederland, count($nederland);


Misschien even die teams mengen in 1 array, en die vervolgens randen zeg maar.
Offline roelh - 25/01/2007 16:30
Avatar van roelh PHP gevorderde Wat ik nu heb werkt.
Hij pakt nu 3 willekeurige teams uit elke array.
Maar nu moeten die 3 teams samen komen eigenlijk en door elkaar gehusselt worden.
Offline Kr4nKz1n - 25/01/2007 16:32 (laatste wijziging 25/01/2007 16:36)
Avatar van Kr4nKz1n Onbekend Heb je PHP 5?
http://nl2.php....ombine.php

-Edit-
Ik heb even snel wat gemaakt.
  1. <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><?
  2. $nederland = array('Ado Den Haag', 'Ajax', 'AZ', 'Excelsior', 'FC Groningen', 'FC Twente', 'FC Utrecht', 'Feyenoord',
  3. 'Heracles Almelo', 'NAC', 'NEC', 'PSV', 'RKC', 'Roda JC', 'SC Heerenveen', 'Sparta', 'Vitesse', 'Willem2');
  4.  
  5. $spanje = array('Barcelona', 'Sevilla', 'Real Madrid', 'Valencia', 'Atletico Madrid', 'Zaragoza', 'Recreativo', 'Getafe', 'Osasuna', 'Espanyol',
  6. 'Villareal', 'Racing Santader', 'Deportivo', 'Celta', 'Mallorca', 'Athletic', 'Levante', 'Betis', 'Real Sociedad', 'Gimnastic');
  7.  
  8. $frankrijk = array('Olympique Lyon', 'Olympique Marseille', 'RC Lens', 'Lille OSC', 'FC Sochaux', 'Saint-Etienne', 'AS Nancy', 'Bordeaux', 'Toulouse', 'Le Mans',
  9. 'Auxerre', 'Rennes', 'Lorient', 'Valenciennes', 'AS Monaco', 'FC Nantes', 'PSG', 'Troyes', 'OGC Nice', 'Sedan' );
  10.  
  11. $teams = array_merge($nederland, $spanje, $frankrijk);
  12.  
  13. $teamss = array_rand($teams, count($teams));
  14.  
  15. for($i = 0; $i <= count($teamss); $i++)
  16. echo $teamss[$i]."<br />";
  17.  
  18. ?>


De functie http://nl2.php....-merge.php

Die breaks komen door de reclame van lycos.
http://members.lycos.nl/kr4nkz1n/a.php
Offline roelh - 25/01/2007 17:02 (laatste wijziging 25/01/2007 18:51)
Avatar van roelh PHP gevorderde Super man, dit is het helemaal, super bedankt! 

edit:
Kan ik deze nu, in de volgorde die er zo uitkomt, in de DB zetten?
Waarschijnlijk zal dat met een for lus gaan, maar hoe precies werkt dit met een query?
Offline Mad_Mike - 25/01/2007 20:24 (laatste wijziging 25/01/2007 20:25)
Avatar van Mad_Mike PHP beginner Dat kan, je moet dan alleen een dynamische query opbouwen:

  1. <?
  2. $strQuery = "INSERT INTO `je_tabel` (`kolom_naam`) VALUES ";
  3. $arrQuery = array();
  4.  
  5. for($i = 0; $i <= count($teamss); $i++)
  6. {
  7. $arrQuery[] = "('".$teamss[$i]."')";
  8. }
  9.  
  10. $strQuery .= implode($arrQuery, ", ");
  11. mysql_query($strQuery) or die(mysql_error());
  12. ?>


Niet getest, maar zou ong moeten werken 
Offline roelh - 25/01/2007 20:40 (laatste wijziging 25/01/2007 20:54)
Avatar van roelh PHP gevorderde Thanks, het werkt helemaal.
Ik kende dit niet...heb vandaag weer wat bijgeleerd 

edit:

Ik gebruik nu deze, omdat ik 2 namen moet bijwerken, maar hij pakt er maar 1. ALleen de eerste.
Wat moet ik eraan veranderen?

  1. <?
  2. $strQueryr = "INSERT INTO `uitslag` (`teamroel`) VALUES ";
  3. $arrQueryr = array();
  4.  
  5. for($i = 0; $i <= 19; $i++)
  6. {
  7. $arrQueryr[] = "('".$teams[$roel[$i]]."')";
  8. }
  9.  
  10. $strQueryr .= implode($arrQueryr, ", ");
  11. mysql_query($strQueryr) or die(mysql_error());
  12.  
  13.  
  14. $strQueryj = "INSERT INTO `uitslag` (`teamjelle`) VALUES ";
  15. $arrQueryj = array();
  16.  
  17. for($i = 0; $i <= 19; $i++)
  18. {
  19. $arrQueryj[] = "('".$teams[$jelle[$i]]."')";
  20. }
  21.  
  22. $strQueryj .= implode($arrQueryj, ", ");
  23. mysql_query($strQueryj) or die(mysql_error());
  24. ?>
Offline Kr4nKz1n - 25/01/2007 21:02 (laatste wijziging 25/01/2007 21:04)
Avatar van Kr4nKz1n Onbekend Hoe moeten ze in de DB worden opgeslagen? Achter elkaar, gescheiden met een , ?

  1. <?
  2. $arrQueryr = "";
  3.  
  4. for($i = 0; $i <= 19; $i++)
  5. {
  6. $arrQueryr .= $teams[$roel[$i]].", ";
  7. }
  8.  
  9. mysql_query("INSERT INTO `uitslag` (`teamroel`) VALUES ('".$arrQueryr."')") or die(mysql_error());
Offline roelh - 25/01/2007 22:18 (laatste wijziging 25/01/2007 22:40)
Avatar van roelh PHP gevorderde Neen moeten per ID aangemaakt worden.
Nu word alles 1 ID
Dus exploden?
Offline Mad_Mike - 25/01/2007 22:53
Avatar van Mad_Mike PHP beginner @roelh:
Je hebt 2x dezelfde code als ik het zo zie... maar alleen de eerste werkt? vaag...

ga ff debuggen dmv var_dump(); en dan een aantal array's erin stoppen om te kijken of deze wel de goede waarden bevatten.

En doe voor de gein maar even een echo $strQuery; Kan je zien wat voor een query er gegenereerd wordt. En of die wel klopt
Offline roelh - 25/01/2007 23:35
Avatar van roelh PHP gevorderde Op 1 of andere manier, als teamroel gevuld is, wil hij teamjelle niet meer vullen.
Heel raar is dit.
En de varchar is groot genoeg, hebhem op gegeven moment zelfs 100 gemaakt, moet goed zijn dus
Offline Kr4nKz1n - 26/01/2007 08:49
Avatar van Kr4nKz1n Onbekend Je wilt elk team apart een id geven.
Dan zet jij dit neer

  1. <?
  2. $strQueryr .= implode($arrQueryr, ", ");


Dat snap ik dat weer niet.
Offline roelh - 26/01/2007 11:55
Avatar van roelh PHP gevorderde K heb het eigenlijk voor elkaar nu.
ALleen hij wil bij teamjelle NIKS toevoegen.
Als ik bij teamroel niks heb staan, doet hij het wel...heel raar.
Weet iemand wat het kan zijn?
Offline Kr4nKz1n - 26/01/2007 11:58
Avatar van Kr4nKz1n Onbekend En daarvoor gebruik je deze coding?

  1. <?
  2. $strQueryr = "INSERT INTO `uitslag` (`teamroel`) VALUES ";
  3. $arrQueryr = array();
  4.  
  5. for($i = 0; $i <= 19; $i++)
  6. {
  7. $arrQueryr[] = "('".$teams[$roel[$i]]."')";
  8. }
  9.  
  10. $strQueryr .= implode($arrQueryr, ", ");
  11. mysql_query($strQueryr) or die(mysql_error());
  12.  
  13.  
  14. $strQueryj = "INSERT INTO `uitslag` (`teamjelle`) VALUES ";
  15. $arrQueryj = array();
  16.  
  17. for($i = 0; $i <= 19; $i++)
  18. {
  19. $arrQueryj[] = "('".$teams[$jelle[$i]]."')";
  20. }
  21.  
  22. $strQueryj .= implode($arrQueryj, ", ");
  23. mysql_query($strQueryj) or die(mysql_error());
  24. ?>
Of heb je alweer wat aangepast?
Offline roelh - 26/01/2007 13:12 (laatste wijziging 26/01/2007 13:20)
Avatar van roelh PHP gevorderde Gebruik nu deze, tenminste...
Hij voegt nu beide namen toe.
Alleen hij maakt maar 1 ID aan en zet daar alle teams in.
Ik wil dat hij de teams per ID aanmaakt.
Dan is het perfect 

  1. <?$arrQueryr = "";
  2. $arrQueryj = "";
  3.  
  4. for($i = 0; $i <= 19; $i++)
  5. {
  6. $arrQueryr .= $teams[$roel[$i]].", ";
  7. $arrQueryj .= $teams[$jelle[$i]].", ";
  8. }
  9.  
  10. mysql_query("INSERT INTO `uitslag` (`teamroel`, `teamjelle`) VALUES ('".$arrQueryr."', '".$arrQueryj."')") or die(mysql_error());?>
Offline Kr4nKz1n - 26/01/2007 13:23
Avatar van Kr4nKz1n Onbekend
  1. <?
  2. for($i = 0; $i <= 19; $i++)
  3. {
  4. mysql_query("INSERT INTO `uitslag` (`teamroel`) VALUES('".$teams[$roel[$i]]."')");
  5. mysql_query("INSERT INTO `uitslag` (`teamjelle`) VALUES('".$teams[$jelle[$i]]."')");
  6. }
Offline roelh - 26/01/2007 13:26 (laatste wijziging 26/01/2007 13:29)
Avatar van roelh PHP gevorderde Hmm bijna, hij pakt nu om en om ID.
Maar hij pakt wel per ID een team.

edit:
Opgelost, thanks allemaal 
  1. // Hier begint de query
  2.  
  3. for($i = 0; $i <= 19; $i++)
  4. {
  5. mysql_query("INSERT INTO `uitslag` (`teamroel`, `teamjelle`) VALUES('".$teams[$roel[$i]]."', '".$teams[$jelle[$i]]."')");
  6. }
  7. // EInde query
Offline Kr4nKz1n - 26/01/2007 13:33 (laatste wijziging 26/01/2007 13:33)
Avatar van Kr4nKz1n Onbekend Oow wou je dit lol 

S6 ;)
Offline roelh - 26/01/2007 13:54
Avatar van roelh PHP gevorderde Haha wou het zo ja, na tis iig gelukt dankzij jullie hulp, superrr 
Hebhem nu klaar.
Kan beginnenmet de competitie
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.326s