Problème requete


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Problème requete

Message le Sam Mai 01, 2010 14:44

Bonjour,

Comment je peux faire pour afficher les résultat d'une requête dans un while et en dehors en même temps ?
Code: Tout sélectionner
$elementsquery = mysql_query("SELECT name, type FROM elements WHERE (type= 3 OR type= 4) AND id_element='1' LIMIT 2");
   
      while ($elementsrow = mysql_fetch_assoc($elementsquery)) {
               
         echo $elementsrow['map']; // 2 resultats
      }

echo $elementsrow['type']; // 1 resultat.


Merci


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3835
Inscription: 14 Sep 2006

Re: Problème requete

Message le Sam Mai 01, 2010 15:27

T'as le choix entre plusieurs trucs:

- Refaire ta base de données correctement pour ne pas être limité et faire n'importe quoi coté programmation.
- Ou bien tu t'en fou et tu peux bricoler avec http://php.net/manual/fr/function.mysql-data-seek.php pour te déplacer dans ta ressource.


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Re: Problème requete

Message le Sam Mai 01, 2010 17:06

Qu'est ce que tu veux dire par refaire ta base de donnée ?

En quoi elle n'est pas bien ?

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2687
Inscription: 13 Fév 2004

Re: Problème requete

Message le Dim Mai 02, 2010 11:53

La question c'est surtout... Quelle ligne tu voudrais afficher?

Une fois que tu as déterminé ça, la solution simple c'est dans ta boucle de faire un test pour déterminer si tu es en train de traiter la ligne que tu veux, et de copier le résultat dans une autre variable, que tu pourras alors utiliser après.

Jacques.


NxtGen
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 24 Oct 2006

Re: Problème requete

Message le Dim Mai 02, 2010 13:27

Il faudrait savoir ce que tu veux exactement récupérer et ce que tu veux en faire, mais en l'état actuel de ton code, $elementsrow['type'] retourne le dernier type de la base. Si tu veux récupérer les autres, il suffit de les stocker dans un tableau :

Code: Tout sélectionner
$resultats = array();
$elementsquery = mysql_query("SELECT name, type FROM elements WHERE (type= 3 OR type= 4) AND id_element='1' LIMIT 2");
      while ($elementsrow = mysql_fetch_assoc($elementsquery)) {
         $resultats[] = array(
              'map' => $elementsrow['map'],
              'type' => $elementsrow['type']
              );
         echo $elementsrow['map']; // 2 resultats
      }

// Affiche le type #1
echo $resultats[0]['type'];

// Affiche la map #2
echo $resultats[1]['map'];


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité