Willekeurige volgorde
roelh - 25/01/2007 16:23
PHP 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.
<?
$nederland = array('Ado Den Haag', 'Ajax', 'AZ', 'Excelsior', 'FC Groningen', 'FC Twente', 'FC Utrecht', 'Feyenoord',
'Heracles Almelo', 'NAC', 'NEC', 'PSV', 'RKC', 'Roda JC', 'SC Heerenveen', 'Sparta', 'Vitesse', 'Willem2');
$aantalned = count($nederland);
$randomned = array_rand($nederland, 3);
for($i=0; $i <= 3; $i++){
echo $nederland[$randomned[$i]];
echo ", ";
}
echo "<br>";
$spanje = array('Barcelona', 'Sevilla', 'Real Madrid', 'Valencia', 'Atletico Madrid', 'Zaragoza', 'Recreativo', 'Getafe', 'Osasuna', 'Espanyol',
'Villareal', 'Racing Santader', 'Deportivo', 'Celta', 'Mallorca', 'Athletic', 'Levante', 'Betis', 'Real Sociedad', 'Gimnastic');
$aantalspanje = count($spanje);
$randomspanje = array_rand($spanje, 3);
for($i=0; $i <= 4; $i++){
echo $spanje[$randomspanje[$i]];
echo ", ";
}
echo "<br>";
$frankrijk = array('Olympique Lyon', 'Olympique Marseille', 'RC Lens', 'Lille OSC', 'FC Sochaux', 'Saint-Etienne', 'AS Nancy', 'Bordeaux', 'Toulouse', 'Le Mans',
'Auxerre', 'Rennes', 'Lorient', 'Valenciennes', 'AS Monaco', 'FC Nantes', 'PSG', 'Troyes', 'OGC Nice', 'Sedan' );
$aantalfrankrijk = count($frankrijk);
$randomfrankrijk = array_rand($frankrijk, 3);
for($i=0; $i <= 4; $i++){
echo $frankrijk[$randomfrankrijk[$i]];
echo ", ";
}
?>
<?
$nederland = array ( 'Ado Den Haag' , 'Ajax' , 'AZ' , 'Excelsior' , 'FC Groningen' , 'FC Twente' , 'FC Utrecht' , 'Feyenoord' , 'Heracles Almelo' , 'NAC' , 'NEC' , 'PSV' , 'RKC' , 'Roda JC' , 'SC Heerenveen' , 'Sparta' , 'Vitesse' , 'Willem2' ) ;
$aantalned = count ( $nederland ) ;
for ( $i = 0 ; $i <= 3 ; $i ++ ) {
echo $nederland [ $randomned [ $i ] ] ; }
$spanje = array ( 'Barcelona' , 'Sevilla' , 'Real Madrid' , 'Valencia' , 'Atletico Madrid' , 'Zaragoza' , 'Recreativo' , 'Getafe' , 'Osasuna' , 'Espanyol' , 'Villareal' , 'Racing Santader' , 'Deportivo' , 'Celta' , 'Mallorca' , 'Athletic' , 'Levante' , 'Betis' , 'Real Sociedad' , 'Gimnastic' ) ;
$aantalspanje = count ( $spanje ) ;
for ( $i = 0 ; $i <= 4 ; $i ++ ) {
echo $spanje [ $randomspanje [ $i ] ] ; }
$frankrijk = array ( 'Olympique Lyon' , 'Olympique Marseille' , 'RC Lens' , 'Lille OSC' , 'FC Sochaux' , 'Saint-Etienne' , 'AS Nancy' , 'Bordeaux' , 'Toulouse' , 'Le Mans' , 'Auxerre' , 'Rennes' , 'Lorient' , 'Valenciennes' , 'AS Monaco' , 'FC Nantes' , 'PSG' , 'Troyes' , 'OGC Nice' , 'Sedan' ) ;
$aantalfrankrijk = count ( $frankrijk ) ;
for ( $i = 0 ; $i <= 4 ; $i ++ ) {
echo $frankrijk [ $randomfrankrijk [ $i ] ] ; }
?>
18 antwoorden
Gesponsorde links
Kr4nKz1n - 25/01/2007 16:24 (laatste wijziging 25/01/2007 16:25)
Onbekend
Oei verschillende arrays. Tja 1 array weet ik wel uit me hoofd
<?
$teams = array_rand($nederland, count($nederland);
Misschien even die teams mengen in 1 array, en die vervolgens randen zeg maar.
roelh - 25/01/2007 16:30
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.
Kr4nKz1n - 25/01/2007 16:32 (laatste wijziging 25/01/2007 16:36)
Onbekend
Heb je PHP 5?
http://nl2.php....ombine.php
-Edit-
Ik heb even snel wat gemaakt.
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><?
$nederland = array('Ado Den Haag', 'Ajax', 'AZ', 'Excelsior', 'FC Groningen', 'FC Twente', 'FC Utrecht', 'Feyenoord',
'Heracles Almelo', 'NAC', 'NEC', 'PSV', 'RKC', 'Roda JC', 'SC Heerenveen', 'Sparta', 'Vitesse', 'Willem2');
$spanje = array('Barcelona', 'Sevilla', 'Real Madrid', 'Valencia', 'Atletico Madrid', 'Zaragoza', 'Recreativo', 'Getafe', 'Osasuna', 'Espanyol',
'Villareal', 'Racing Santader', 'Deportivo', 'Celta', 'Mallorca', 'Athletic', 'Levante', 'Betis', 'Real Sociedad', 'Gimnastic');
$frankrijk = array('Olympique Lyon', 'Olympique Marseille', 'RC Lens', 'Lille OSC', 'FC Sochaux', 'Saint-Etienne', 'AS Nancy', 'Bordeaux', 'Toulouse', 'Le Mans',
'Auxerre', 'Rennes', 'Lorient', 'Valenciennes', 'AS Monaco', 'FC Nantes', 'PSG', 'Troyes', 'OGC Nice', 'Sedan' );
$teams = array_merge($nederland, $spanje, $frankrijk);
$teamss = array_rand($teams, count($teams));
for($i = 0; $i <= count($teamss); $i++)
echo $teamss[$i]."<br />";
?>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><?
$nederland = array ( 'Ado Den Haag' , 'Ajax' , 'AZ' , 'Excelsior' , 'FC Groningen' , 'FC Twente' , 'FC Utrecht' , 'Feyenoord' , 'Heracles Almelo' , 'NAC' , 'NEC' , 'PSV' , 'RKC' , 'Roda JC' , 'SC Heerenveen' , 'Sparta' , 'Vitesse' , 'Willem2' ) ;
$spanje = array ( 'Barcelona' , 'Sevilla' , 'Real Madrid' , 'Valencia' , 'Atletico Madrid' , 'Zaragoza' , 'Recreativo' , 'Getafe' , 'Osasuna' , 'Espanyol' , 'Villareal' , 'Racing Santader' , 'Deportivo' , 'Celta' , 'Mallorca' , 'Athletic' , 'Levante' , 'Betis' , 'Real Sociedad' , 'Gimnastic' ) ;
$frankrijk = array ( 'Olympique Lyon' , 'Olympique Marseille' , 'RC Lens' , 'Lille OSC' , 'FC Sochaux' , 'Saint-Etienne' , 'AS Nancy' , 'Bordeaux' , 'Toulouse' , 'Le Mans' , 'Auxerre' , 'Rennes' , 'Lorient' , 'Valenciennes' , 'AS Monaco' , 'FC Nantes' , 'PSG' , 'Troyes' , 'OGC Nice' , 'Sedan' ) ;
for ( $i = 0 ; $i <= count ( $teamss ) ; $i ++ ) echo $teamss [ $i ] . "<br />" ;
?>
De functie http://nl2.php....-merge.php
Die breaks komen door de reclame van lycos.
http://members.lycos.nl/kr4nkz1n/a.php
Mad_Mike - 25/01/2007 20:24 (laatste wijziging 25/01/2007 20:25)
PHP beginner
Dat kan, je moet dan alleen een dynamische query opbouwen:
<?
$strQuery = "INSERT INTO `je_tabel` (`kolom_naam`) VALUES ";
$arrQuery = array();
for($i = 0; $i <= count($teamss); $i++)
{
$arrQuery[] = "('".$teamss[$i]."')";
}
$strQuery .= implode($arrQuery, ", ");
mysql_query($strQuery) or die(mysql_error());
?>
<?
$strQuery = "INSERT INTO `je_tabel` (`kolom_naam`) VALUES " ;
for ( $i = 0 ; $i <= count ( $teamss ) ; $i ++ ) {
$arrQuery [ ] = "('" . $teamss [ $i ] . "')" ;
}
$strQuery .= implode ( $arrQuery , ", " ) ; ?>
Niet getest, maar zou ong moeten werken
roelh - 25/01/2007 20:40 (laatste wijziging 25/01/2007 20:54)
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?
<?
$strQueryr = "INSERT INTO `uitslag` (`teamroel`) VALUES ";
$arrQueryr = array();
for($i = 0; $i <= 19; $i++)
{
$arrQueryr[] = "('".$teams[$roel[$i]]."')";
}
$strQueryr .= implode($arrQueryr, ", ");
mysql_query($strQueryr) or die(mysql_error());
$strQueryj = "INSERT INTO `uitslag` (`teamjelle`) VALUES ";
$arrQueryj = array();
for($i = 0; $i <= 19; $i++)
{
$arrQueryj[] = "('".$teams[$jelle[$i]]."')";
}
$strQueryj .= implode($arrQueryj, ", ");
mysql_query($strQueryj) or die(mysql_error());
?>
<?
$strQueryr = "INSERT INTO `uitslag` (`teamroel`) VALUES " ;
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
$arrQueryr [ ] = "('" . $teams [ $roel [ $i ] ] . "')" ;
}
$strQueryr .= implode ( $arrQueryr , ", " ) ;
$strQueryj = "INSERT INTO `uitslag` (`teamjelle`) VALUES " ;
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
$arrQueryj [ ] = "('" . $teams [ $jelle [ $i ] ] . "')" ;
}
$strQueryj .= implode ( $arrQueryj , ", " ) ; ?>
Kr4nKz1n - 25/01/2007 21:02 (laatste wijziging 25/01/2007 21:04)
Onbekend
Hoe moeten ze in de DB worden opgeslagen? Achter elkaar, gescheiden met een , ?
<?
$arrQueryr = "";
for($i = 0; $i <= 19; $i++)
{
$arrQueryr .= $teams[$roel[$i]].", ";
}
mysql_query("INSERT INTO `uitslag` (`teamroel`) VALUES ('".$arrQueryr."')") or die(mysql_error());
<?
$arrQueryr = "" ;
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
$arrQueryr .= $teams [ $roel [ $i ] ] . ", " ;
}
roelh - 25/01/2007 22:18 (laatste wijziging 25/01/2007 22:40)
PHP gevorderde
Neen moeten per ID aangemaakt worden.
Nu word alles 1 ID
Dus exploden?
Mad_Mike - 25/01/2007 22:53
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
roelh - 25/01/2007 23:35
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
Kr4nKz1n - 26/01/2007 08:49
Onbekend
Je wilt elk team apart een id geven.
Dan zet jij dit neer
<?
$strQueryr .= implode($arrQueryr, ", ");
<?
$strQueryr .= implode ( $arrQueryr , ", " ) ;
Dat snap ik dat weer niet.
roelh - 26/01/2007 11:55
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?
Kr4nKz1n - 26/01/2007 11:58
Onbekend
En daarvoor gebruik je deze coding?
<?
$strQueryr = "INSERT INTO `uitslag` (`teamroel`) VALUES ";
$arrQueryr = array();
for($i = 0; $i <= 19; $i++)
{
$arrQueryr[] = "('".$teams[$roel[$i]]."')";
}
$strQueryr .= implode($arrQueryr, ", ");
mysql_query($strQueryr) or die(mysql_error());
$strQueryj = "INSERT INTO `uitslag` (`teamjelle`) VALUES ";
$arrQueryj = array();
for($i = 0; $i <= 19; $i++)
{
$arrQueryj[] = "('".$teams[$jelle[$i]]."')";
}
$strQueryj .= implode($arrQueryj, ", ");
mysql_query($strQueryj) or die(mysql_error());
?>
<?
$strQueryr = "INSERT INTO `uitslag` (`teamroel`) VALUES " ;
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
$arrQueryr [ ] = "('" . $teams [ $roel [ $i ] ] . "')" ;
}
$strQueryr .= implode ( $arrQueryr , ", " ) ;
$strQueryj = "INSERT INTO `uitslag` (`teamjelle`) VALUES " ;
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
$arrQueryj [ ] = "('" . $teams [ $jelle [ $i ] ] . "')" ;
}
$strQueryj .= implode ( $arrQueryj , ", " ) ; ?>
Of heb je alweer wat aangepast?
roelh - 26/01/2007 13:12 (laatste wijziging 26/01/2007 13:20)
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
<?$arrQueryr = "";
$arrQueryj = "";
for($i = 0; $i <= 19; $i++)
{
$arrQueryr .= $teams[$roel[$i]].", ";
$arrQueryj .= $teams[$jelle[$i]].", ";
}
mysql_query("INSERT INTO `uitslag` (`teamroel`, `teamjelle`) VALUES ('".$arrQueryr."', '".$arrQueryj."')") or die(mysql_error());?>
<? $arrQueryr = "" ;
$arrQueryj = "" ;
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
$arrQueryr .= $teams [ $roel [ $i ] ] . ", " ;
$arrQueryj .= $teams [ $jelle [ $i ] ] . ", " ;
}
mysql_query ( "INSERT INTO `uitslag` (`teamroel`, `teamjelle`) VALUES ('" . $arrQueryr . "', '" . $arrQueryj . "')" ) or
die ( mysql_error ( ) ) ; ?
>
Kr4nKz1n - 26/01/2007 13:23
Onbekend
<?
for($i = 0; $i <= 19; $i++)
{
mysql_query("INSERT INTO `uitslag` (`teamroel`) VALUES('".$teams[$roel[$i]]."')");
mysql_query("INSERT INTO `uitslag` (`teamjelle`) VALUES('".$teams[$jelle[$i]]."')");
}
<?
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
mysql_query ( "INSERT INTO `uitslag` (`teamroel`) VALUES('" . $teams [ $roel [ $i ] ] . "')" ) ; mysql_query ( "INSERT INTO `uitslag` (`teamjelle`) VALUES('" . $teams [ $jelle [ $i ] ] . "')" ) ; }
roelh - 26/01/2007 13:26 (laatste wijziging 26/01/2007 13:29)
PHP gevorderde
Hmm bijna, hij pakt nu om en om ID.
Maar hij pakt wel per ID een team.
edit:
Opgelost, thanks allemaal
// Hier begint de query
for($i = 0; $i <= 19; $i++)
{
mysql_query("INSERT INTO `uitslag` (`teamroel`, `teamjelle`) VALUES('".$teams[$roel[$i]]."', '".$teams[$jelle[$i]]."')");
}
// EInde query
// Hier begint de query
for ( $i = 0 ; $i <= 19 ; $i ++ )
{
mysql_query ( "INSERT INTO `uitslag` (`teamroel`, `teamjelle`) VALUES('" . $teams [ $roel [ $i ] ] . "', '" . $teams [ $jelle [ $i ] ] . "')" ) ; }
// EInde query
Gesponsorde links
Dit onderwerp is gesloten .