Valeur dans un array recup d'une table

rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009 - 4 janv. 2008 à 12:41
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009 - 5 janv. 2008 à 06:46
Bonjour

Je cherche à générer une liste pour l'insérer dans un tableau.
j'ai ce code :
$listegeneree = array (1, 2, 5, 6, 7);
$result = array_rand ($listegeneree, 1);

Ca, ça marche bien mais je rentre dans ce cas les valeur moi même dans le code.

J'aimerai rentrer les valeur de ma table.
j'ai ce code qui me génère 1, 2, 5, 6, 7,:
do {
$liste=$liste.$row_RSmatable['id'].', ';
} while ($row_RSmatable = mysql_fetch_assoc($RSmatable));
//a ce niveau echo $liste donne bien 1, 2, 5, 6 , 7,
//j'intègre donc $liste dans la suite
$listegeneree = array ($liste);
$result = array_rand ($listegeneree, 1);

et j'ai comme résultat :
1, 2, 5, 6 , 7,
c'est à dire qu'il interprete "1, 2, 5, 6 , 7," comme une seule entité semble t il...

Peux t on mettre une variable dans le array() en écrivant autrement :
$liste=$liste.$row_RSmatable['id'].', ';

Ou comment écrire les valeurs dans le array() directement, bref, faut il procéder autrement ?

toutes les idées sont les biens venues, car je sais plus quoi faire :-(
merci

3 réponses

rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009
4 janv. 2008 à 12:47
meilleur mise en page ;)

Bonjour

Je cherche à générer une liste pour l'insérer dans un tableau.

j'ai ce code :

$listegeneree = array (1, 2, 5, 6, 7);

$result = array_rand ($listegeneree, 1);


Ca, ça marche bien mais je rentre dans ce cas les valeur moi même dans le code.


J'aimerai rentrer les valeur de ma table.

j'ai ce code qui me génère 1, 2, 5, 6, 7,:

do {

$liste=$liste.$row_RSmatable['id'].', ';

} while ($row_RSmatable = mysql_fetch_assoc($RSmatable));

//a ce niveau echo $liste donne bien 1, 2, 5, 6 , 7,

//j'intègre donc $liste dans la suite

$listegeneree = array ($liste);

$result = array_rand ($listegeneree, 1);

et j'ai comme résultat :

1, 2, 5, 6 , 7,

c'est à dire qu'il interprete "1, 2, 5, 6 , 7," comme une seule entité semble t il...


Peux t on mettre une variable dans le array() en écrivant autrement :

$liste=$liste.$row_RSmatable['id'].', ';


Ou comment écrire les valeurs dans le array() directement, bref, faut il procéder autrement ?


toutes les idées sont les biens venues, car je sais plus quoi faire :-(

merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2008 à 20:09
Hello,

il fait ce que tu lui dit de faire.
si tu convertis une chaine ($liste) en array, comment veux-tu qu'il comprenne qu'il doit prendre les valeurs séparées par desvirgules dans ta chaîne? Il convertis ta chaîne an tableau ce qui donne :
$listegeneree = array('1,2,5,6,7'); ce qui est tout à fait logique.

do {
$listegeneree[] = $row_RSmatable['id'];
} while ($row_RSmatable = mysql_fetch_assoc($RSmatable));
$result = array_rand ($listegeneree, 1);
0
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009
5 janv. 2008 à 06:46
Sur le coup j'avais pas fait attention, mais c'est logique :-)

merci encore
0
Rejoignez-nous