Requête SQL

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

FrenchKiss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Mer Oct 06, 2004 0:59

Requête SQL

Message le Dim Jan 16, 2005 13:51

Hello à tous
J'essaie de sortir différentes lignes d'une table, et de mettre chacune d'entre elle dans un array.

En gros, il faudrait que j'arrive au résultat suivant :
Code: Tout sélectionner
$search = array ('champ 1 ligne 1', ''champ 1 ligne 2', 'champ 1 ligne 3', etc);

J'ai essayé un mysq_fetch_array mais ça semble coincer.

Par ailleurs, je ne souhaite pas récupérer QUE le champ 1 de chaque ligne (en récupérer plusieurs, mais ne mettre que ce premier champ en array) ...

Qqun peut-il m'éclairer ?
++

tradjus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Sam Avr 03, 2004 23:22

Message le Dim Jan 16, 2005 13:54

Peut-être parce que la commande est: mysql_fetch_array
Pour uniquement le premier champs, change la requête SQL
"select col1 from tablex"

mysql_fetch_array ne feed que le premier row, il faut faire une boucle:
Exemple:
Code: Tout sélectionner
<?php
   function mysql_table($query, $db) {
       $a = mysql_query($query, $db);
       $c = array();
       while($b = mysql_fetch_row($a)) {
           $c[] = $b;
       }
       return $c;
   }
?>

FrenchKiss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Mer Oct 06, 2004 0:59

Message le Dim Jan 16, 2005 14:02

Peut-être parce que la commande est: mysql_fetch_array
Oui j'ai oublié le "l" mais c'est pas ça...

Pour uniquement le premier champs, change la requête SQL
"select col1 from tablex"
-->
FrenchKiss a écrit:Par ailleurs, je ne souhaite pas récupérer QUE le champ 1 de chaque ligne (en récupérer plusieurs, mais ne mettre que ce premier champ en array) ...

donc d'après toi, faire deux requêtes ? ca me parait un peu lourd...
merci quand mm
Dernière édition par FrenchKiss le Dim Jan 16, 2005 14:15, édité 1 fois.

tradjus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Sam Avr 03, 2004 23:22

Message le Dim Jan 16, 2005 14:07

Pardon, j'avais mal lu. Change le code en
Code: Tout sélectionner
<?php

       $a = mysql_query($query, $db);
       $c = array();
       while($b = mysql_fetch_row($a)) {
           $c[] = $b['col1'];
           // do something with the other columns
           // ...
       }
?>

FrenchKiss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Mer Oct 06, 2004 0:59

Message le Dim Jan 16, 2005 14:15

Hum je teste mais apparement ça ne fonctionne pas :
Code: Tout sélectionner
$search = array();
       while($b = mysql_fetch_row($liste)) {
           $search[] = $b['word'];
           // do something with the other columns
           // ...
       }


Code: Tout sélectionner
$search[] = $b['word'];
ne réinitialise-t'il pas $search[] à chaque itération ?

par ailleurs, mysql_fetch_row met dans un tableau les champs d'UNE ligne donnée.
Or ce que j'essaie de faire, c'est de mettre un champ donné pour TOUTES les lignes de ma table dans un array.

genre
$search = ('e-mail_1', 'e-mail_2', 'e-mail_2', 'e-mail_2');

Je sais pas si je me fais bien comprendre...
Dernière édition par FrenchKiss le Dim Jan 16, 2005 14:21, édité 1 fois.


totoro
WRInaute passionné
WRInaute passionné
 
Messages: 908
Inscription: Mer Juil 28, 2004 14:12

Message le Dim Jan 16, 2005 14:19

nan, il ajoute l'élément en bout de ton tableau $search

FrenchKiss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Mer Oct 06, 2004 0:59

Message le Dim Jan 16, 2005 14:25

tjs pas :(

tradjus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Sam Avr 03, 2004 23:22

Message le Dim Jan 16, 2005 14:59

Change en :
Code: Tout sélectionner
$search[] = $b[0];

FrenchKiss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Mer Oct 06, 2004 0:59

Message le Dim Jan 16, 2005 15:07

$b[...] est censé indiquer le champ qui m'intéresse, indépendamment de la ligne, exact ?
Dans ce cas, je ne comprends pas très bien pkoi changer
$b['monchamp'] en $b[o] ...

Cela dit j'ai essayé, ça ne fonctionne pas
Code: Tout sélectionner
$search = array();
   while($search = mysql_fetch_assoc($liste))
   {
   $search[] = $b[0];
   // do something with the other columns
   }

tradjus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Sam Avr 03, 2004 23:22

Message le Dim Jan 16, 2005 15:11

Si tu utilises mysql_fetch_assoc alors il faut utiliser le nom de la colonne mais avec mysql_fetch_row, c'est le numéro de la colonne.

Code: Tout sélectionner
$search = array();
   while($b = mysql_fetch_row($liste))
   {
   $search[] = $b[0];
   // do something with the other columns
   }

sinon poste plus d'infos sur le résultat, fait des echos dans ton code, etc...
Dernière édition par tradjus le Dim Jan 16, 2005 18:16, édité 1 fois.

FrenchKiss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Mer Oct 06, 2004 0:59

Message le Dim Jan 16, 2005 15:57

C'est bon j'y suis finalement arrive :
Code: Tout sélectionner
while ($row = mysql_fetch_assoc($liste))
{
$search[] = $row["word"];
}


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités