Page 1 sur 1

array, requete sql

Posté : 10 déc. 2011, 17:38
par damien_55
Bonjour,

je cherche a récuperer des valeurs exacte dans un tableau array d'une requete sql.

J'ai cette requete:
SELECT id, mots, cpt
FROM xxx
ORDER BY `xxx`.`cpt` DESC LIMIT 10 ";

et je cherche a recuperer les valeurs données sous cette forme:
//the tags
    $tags = array(
        'framboise',
        'Apple',
        'Strawberry',
        'Orange',
        'Lemon',
        'Peach',
        'Apricot',
        'Raisin',
        'Tangerine',
        'Passion fruit',
        'Coconut',
        'Lychee',
        'Pineapple'
    );
Donc les 10 premiers mots renvoyé par ma requete.

J'ai essayé:
 //the tags
    $tags = array(
        '$result[0]',
        'Apple',
        'Strawberry',
        'Orange',
        'Lemon',
        'Peach',
        'Apricot',
        'Raisin',
        'Tangerine',
        'Passion fruit',
        'Coconut',
        'Lychee',
        'Pineapple'
    );


mais ça ne marche pas.

Merci de votre aide.

Re: array, requete sql

Posté : 10 déc. 2011, 17:49
par Ryle
Ta requête te ramène plusieurs enregistrements. Il te faut donc parcourir les enregistrements retournés pour récupérer les mots qu'ils contiennent. Tu pourras alors insérer ceux-ci dans ton tableau :
$monTableau = array(); // déclare le tableau
... // exécution de la requête etc.
While ($result = mysql_fetch_assoc(...)) {
  $monTableau[] = $result['mots']; // ajoute le mot dans ton tableau
}
print_r($monTableau); // voir le résultat

Re: array, requete sql

Posté : 10 déc. 2011, 18:06
par damien_55
Nickel, maintenant, j'obtiens bien:

Code : Tout sélectionner

Array ( [0] => bertrand [1] => henri [2] => gerard [3] => alain )
Et comment je prends la valeur bertrand pour la mettre dans le tableau?

Re: array, requete sql

Posté : 10 déc. 2011, 21:21
par Ryle
Euh... Je comprends pas bien ce que tu veux faire... Tu as déjà un tableau dont le premier élément est bertrand, le 2ème henri, etc. :)

Re: array, requete sql

Posté : 11 déc. 2011, 02:43
par damien_55
Oui, tout à fait.

Je dois avoir ceci:

$tags = array(
'valeur=bertrand',
'valeur=henri',
'valeur=gerard,
etc.....
); trés exactement. Et je n'y arrive pas. :?

Re: array, requete sql

Posté : 11 déc. 2011, 04:32
par xTG
foreach($tonArrayDeNom as $index => $valeur)
  $tonArrayDeNom[$index] = 'valeur=' . $valeur;
:| :?:

Re: array, requete sql

Posté : 11 déc. 2011, 12:22
par damien_55
Salut XTg,

En fait, j'ai pas compris. Je suis entrain d'adapter un script. Dans le script, on a au déburt du script:
$tags = array(
        'Apple',
        'Strawberry',
        'Orange',
        'Lemon',
        'Peach',
        'Apricot',
        'Raisin',
        'Tangerine',
        'Passion fruit',
        'Coconut',
        'Lychee',
        'Pineapple'
    );
Sauf que moi, je vais chercher ces valeurs dans ma base de données par la requete précedente. J'en suis arrivé à cette expression:

$monTableau = array(); // déclare le tableau
While ($row = mysql_fetch_assoc($result)) {
$monTableau[] = $row['mots']; // ajoute le mot dans ton tableau
}
print_r($monTableau); // voir le résultat

qui me donne:

Array ( [0] => bertrand [1] => henri [2] => gerard ....)

en fait dans mon script, je souhaite avoir cette expression:
$tags = array(
        'bertrand',
        'henri',
        'gerard'
    );
puisque $tags ets utilisé plus loin dans le script.

Merci de votre aide.

Re: array, requete sql

Posté : 11 déc. 2011, 12:52
par Ryle
Ben... au lieu d'appeler ta variable $monTableau, il te suffit de l'appeler $tags et tu auras un tableau qui contiendra les noms qui se trouvent dans ta base, et qui remplacera ton tableau d'exemple avec des fruits :)

Re: array, requete sql

Posté : 11 déc. 2011, 14:04
par xTG
Boudiou j'ai compris !!!
Ce sont les "[0]=>" qui te gêne ??
Ce n'est que l'affichage des clés !

Fais un print_r() de ton tableau $tags et tu retrouveras la même mise en forme.

Re: array, requete sql

Posté : 14 déc. 2011, 15:08
par damien_55
Résolu merci :)