Requete dans un tableau

pif
Invité n'ayant pas de compte PHPfrance

08 oct. 2005, 19:32

Bonjour à tous,

voila mon probleme :
j'aimerai mettre tous résultats de ma requete dans un tabelau, pour me permettre ensuite d'en choisir un (id_site_mois) au hasard.. j'ai fais ca mais ca marche pas.

$req_site_mois = "SELECT id_site_mois FROM site_mois WHERE site_actif = 1";
$site_mois = mysql_query($req_site_mois);
$a=array();
while($data=mysql_fetch_array($site_mois))
{
$a=$data["id_site_mois"];
}
//$input=$test[ligne];

$rand_keys = array_rand($a);

print $a[$rand_keys[0]];

en faire l'erreur doit venir là ou j'essaille de mettre chque elements dans mon tabelau a. Ca doit pas etre comme ca ? :cry:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 oct. 2005, 19:36

Salut, remplace
 $a=$data["id_site_mois"]; 
par
 $a[]=$data["id_site_mois"]; 
a noter l'ajout de [] apres $a, pour affecter au tableau

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

pif
Invité n'ayant pas de compte PHPfrance

08 oct. 2005, 19:41

Ouai merci ! mais g déjà essaillé mais .. ca marche mais..
ca me genere des chiffre incorrect !
voila au final le truc :

$req_site_mois = "SELECT id_site_mois FROM site_mois WHERE site_actif = 1";
$site_mois = mysql_query($req_site_mois);
$a=array();
while($data=mysql_fetch_array($site_mois))
{
$a[]=$data["id_site_mois"];
}
//$input=$test[ligne];

$rand_keys = array_rand($a);
//print $rand_keys;
//print $rand_keys;
print $rand_keys;

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 oct. 2005, 19:52

un oubli de paramètre dans => array_rand($a,1);
$req_site_mois = "SELECT id_site_mois FROM site_mois WHERE site_actif = 1";
			$site_mois = mysql_query($req_site_mois);
			$a=array();
			while($data=mysql_fetch_array($site_mois))
			{
			$a[]=$data["id_site_mois"];
			} 
			
			
			$rand_keys = array_rand($a,1);
echo $a[$rand_keys];

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

pif
Invité n'ayant pas de compte PHPfrance

08 oct. 2005, 20:08

Merci ca marche !
mais en fait quand tu fais array_rand($a, 1) ca focntionne pas ! ca me genere des valeurs fausses !
docn ce que j'ai fais fais :

$req_site_mois = "SELECT id_site_mois FROM site_mois WHERE site_actif = 1";
$site_mois = mysql_query($req_site_mois);
$a=array();
while($data=mysql_fetch_array($site_mois))
{
$a[]=$data["id_site_mois"];
}
//$input=$test[ligne];

$rand_keys = array_rand($a,2);

$val1 = $a[$rand_keys[0]]."\n";
$val2 = $a[$rand_keys[1]]."\n";

et donc je n'utilise qu'une valeur $val1.. c'est un peu bidouile mais comme ya france-suisse 3-0 je suis un peu speed

merci infiniment pour ton aide
pifgadjet

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 oct. 2005, 20:16

Merci ca marche !
mais en fait quand tu fais array_rand($a, 1) ca focntionne pas
parceque j'ai fait la séléction d'un index et donc array_rand() ne retourne pas un tableau mais une valeur "simple"...
$a[$rand_keys];
au lieu de
$a[$rand_keys[0]];
$rand_keys[0] n'existe pas :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute