Requete avec utilisation du distinct

cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012 - 5 févr. 2006 à 10:58
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 9 févr. 2006 à 00:08
Bonjour,
Je cherche à faire une requete toute bête... et la manière que j'utilise est tellement complexe... que je pense ne pas avoir la bonne méthode.... si vous avez des conseils, n'hésitez pas ! (pour une utilisation php mysql)
Le but est d'extraire les distinct categories d'une table et d'en même temps extraire l'url qui lui est associée.
Du genre : select distinct categories, url from ma_table

Malheureusement pour moi -vous vous en doutez- ca ne marche pas !

D'avance merci à tous pour votre aide : j'ai des boucles à faire dans mes requètes... et là mon code devient complètement incompréhensible.. et probablement buggé !

H


Le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus

18 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 12:47
un truc dans le genre



// 1ere requete

$sql="select distinct categories from ma_table";

$res = mysql_db_query($base,$sql);



//---et dans une boucle

while ($row=mysql_fecth_array($res)

{

// 2eme requete

$sql2="select categories,url form ma_table where categories=$row['categories']";

$res2 = mysql_db_query($base,$sql2);



$categories=mysql_resutl($res2,0,'catgories');

$url =mysql_resutl($res2,0,'url');



echo $categories;

echo $url;

}
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 12:48
petite erreur

while ($row=mysql_fecth_array($res))
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
5 févr. 2006 à 18:49
Hello,

Grand merci pour ton aide aussi rapide.... malheureusement je n'arrive pas à faire marcher la requete (et ce malgré les changements de parenthèse, form en from et resutl en result).... suis pas sorti de l'auberge quoi :-)

H, honteux de demander encore un coup de main.. d'avance merci pour votre aide !

Entre nous : je suis surpris qu'il n'y ait pas de méthode plus simple que celle proposée par Sidf... et je vous montre pas la mienne qui est bcp plus longue !!!!
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 19:09
// 2eme requete $sql2"select categories,url from ma_table where categories$row['categories']";



je vois pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
5 févr. 2006 à 19:14
Salut,

il nous faudrait la structure de ta table et aussi la forme des données que tu veux récupérer (un exemple quoi) pour t'aider, car là on peut très bien te pondre une table avec un champ catégorie et un champ url et hop c'est fini en une boucle... donc ça veut rien dire pour le moment.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 19:17
select distinct categories, url from ma_table



tu es sur que ça ne marche pas ?
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 19:27
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
5 févr. 2006 à 19:44
select distinct categories, url from ma_table

Ne fonctionne pas chez moi en tout cas (vous aurez compris que requeter n'est pas une chose que je fait depuis tout petit !!)
En tentant de me renseigner j'ai cru comprendre que cette méthode était utilisée en sql... mais pas avec mysql

Confirmé ici ??

http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/courssql/cmd_distinct.html


Je vais vous faire un chti exemple tout de suite avec code et tout histoire de battre le fer tant qu'il est chaud !!

Grand merci pour votre aide !

H
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
5 févr. 2006 à 20:00
Bon d'accord j'ai parlé dans le vent, tant pis.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
5 févr. 2006 à 20:08
euh... newbie que je suis... ca veut dire que c'est seulement sql c'est ca ?
H, qui te remercie !!
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
5 févr. 2006 à 20:10
Comme promis voila les explications.. merci d'avance aux lecteurs : si je suis pas clair (ce serait un coup de bol!!).. faites moi signe
pour ce qui est du sql il est là http://www.7rla.com/allprint/sql.sql

En vous rendant sur
http://www.7rla.com/allprint/ssk_escalade.php
Aller dans le menu "Références"
Vous voyez apparaitre entre autres

sport (est une catégorie)
-eau (est une sous-catégorie)
-plongée (est une sous-sous-catégorie)
-voile (est une sous-sous-catégorie)
-montagne (est une sous-catégorie)
-escalade (est une sous-sous-catégorie)
-ski (est une sous-sous-catégorie)


Pour l'instant dans cette page on peut passer d'une sous-sous-catégorie à une autre
http://www.7rla.com/allprint/ssk_escalade.php
on affiche les sous-sous-catégories une par une
(par ex plongée->voile->escalade->ski....)

Il m'est demandé de faire apparaitre tous les items d'une mm catégorie... et de pouvoir passer à la catégorie suivante
avec un système suivant précédent
http://www.7rla.com/allprint/k_sports.php
(par ex sport->musée->cuisine)

Voila moi ce que j'ai voulu faire :
faire un distinct des catégories (t01 dans la base )
récupérer l'url qui lui est associée (t26 dans la base)
mettre le tout dans un array pour pouvoir ensuite afficher les précédents suivants
avec un truc du type...

$k_actuelle = $tabl_t26[$tabl_actuel];
$n_actuelle = $tabl_t07[$tabl_actuel];

$k_precedente = $tabl_t26[$tabl_actuel-1];
$k_suivante = $tabl_t26[$tabl_actuel+1];
$k_n_precedente = $tabl_t07[$tabl_actuel-1];
$k_n_suivante = $tabl_t07[$tabl_actuel+1];

if($uu=="0") { $k_precedente=$tabl_t26[$num_rows_k_diap_d-1] ; $k_n_precedente=$tabl_t07[$num_rows_k_diap_d-1]; }
if($tabl_actuel==$num_rows_k_diap_d-1) { $k_suivante=$tabl_t26[0] ; $k_n_suivante=$tabl_t07[0]; }
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 févr. 2006 à 10:53
select distinct categories, url from ma_table

pour moi ça marche si categories et url sont dans la même table...
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
7 févr. 2006 à 22:42
Salut,
La requete fonctionne en effet (enfin pas d'erreur en reporting) mais le résultat n'est pas celui escompté :
Le distinct ne se fait pas au niveau de la cathégorie mais au niveau du couple catégorie+url
Ce qui donne :
- catégorie => url
- cuisine => 404.php
- cuisine => k_cuisine.php
- cuisine => s_cuisine.php
- Musées => k_musee.php
- sport => 404.php
- sport => 40sf4.php
- sport => k_sport.php
- sport => k_sports.php
au lieu de
- catégorie => url

- cuisine => 404.php
- Musées => k_musee.php

- sport => 404.php
... m'en vais encore me creuser la tête et je reviens !!
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
7 févr. 2006 à 22:42
Merci quand même pour ton aide !!
H
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 févr. 2006 à 13:09
Hello,

Antho a raison, si tu veux une aide, il nous faut plus d'infos. Par exemple, la structure de tes tables!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 févr. 2006 à 17:12
ça va donc faire trois fois qu'on lui demande j'espère qu'il répondra cette fois ci...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
8 févr. 2006 à 21:43
Ca fait plaisir de ne pas se sentir seul devant du code !
comme je vous le disais plus haut vous pouvez télécharger la structure de ma table ici
http://www.7rla.com/allprint/sql.sql c'est cela que vous appelez structure de la table ??
.. en esperant que ce soit suffisant ?
merci pour votre aide, et au plaisir de vous lire !!
H
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 févr. 2006 à 00:08
oui c'est bien ça merci, et ton champ "catégories" il correspond à quoi dans ta table car je ne le vois nulle part ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Rejoignez-nous