authentification

Répondre
keitarosan
le 28/02/2005 à 15:37
keitarosan
le probleme vient très certainement de la jointure.

En general, quand il y a une jointure, avec dans un table un redondance de champs, tu les auras en plusieur fois.

je m'explique avec un exemple simple:

Table partage_id:
Paris - 75000
Rouen - 76000

Table entreprise:
Toto - 75000
Titi - 75000
Tata - 76000

ta requete fait la jointure:
elle ressort un truc du genre:

si tu fais une jointure, tu te retrouve avec:
Titi - 75000 - Paris
Tata - 75000 - Paris
Tata - 76000 - Paris

Le distinct, je pense pas que ca marcheras...

par contre, un GROUP BY devrait donner de meilleurs résultat.

Enfin je dis peut etre des betises...

Enfin essaye un truc comme ca:

<?php
$requete = "
SELECT
entreprise.Nom,
entreprise.id,
entreprise.Adresse,
entreprise.Ville,
entreprise.CP,
entreprise.Admin
FROM
entreprise,
partage_id
WHERE
partage_id.id_code = entreprise.CP AND
partage_id.id_user = '$statut' AND
entreprise.Ville LIKE '$lettre%'
ORDER BY
`id` ASC
GROUP BY entreprise.Ville
";

?>


Parcontre, il faut normalement mettre tous les champs du SELECT dans le GROUP BY, malgré que Mysql accepte si on n'en met qu'un seul.

Voila, je pense que c'est une piste a voir :)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
sonia
le 28/02/2005 à 15:42
sonia
ok, bon ben je suis obliger d'avoir tout les autre champs pour pouvoir les affaicher dans un formmulaire.
Dans ma liste deroulante on peut voir toutes les villes .Ceulement il existe des entreprise qui sont localiser dans la meme ville.
ce qui fait qu'il va y avoir des doublons.
je met donc un distinct pour eviter sa.
mais meme si je fait select distinct entreprise.ville,...........
sa ne veut pas supprimer les doublons de ma liste deroulante.
voila
keitarosan
le 28/02/2005 à 15:51
keitarosan
tu peux pas suprimer les doublons comme ca...

admetton que tu supprime les doublon sur les villes, qu'est ce que mysql te retournerais pour une ligne ?

exemple
entreprise - ville

titi - Paris
tata - Rouen
toto - Paris


si tu fais un distinct, tu vas avoir quoi ?

entreprise - ville

titi - Paris
tata - Rouen
toto - NULL ?????


Ce n'est pas possible...
il est bien obliger de te sortir tout les champs.

Par contre, si tu veux juste une liste de ville, sans avoir les villes, et pas les autres données, tu peut faire:

- "SELECT DISTINCT(Ville) FROM entreprise."

La tu auras toutes les villes differentes ^^

Sinon, tu as peut etre un probleme sur le modele de ta base de données ;)

Ou alors tu manques de comprehension sur ce que tu veux vraiment faire, et dans ce cas, pose toi les bonnes questions pour changer ta requetes :)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
sonia
le 28/02/2005 à 15:54
sonia
jte remercie pour ton aide.
mais sa me fait une erreur:
echo Erreur : Something is wrong in your syntax près de 'GROUP BY entreprise.Ville ' à la ligne 2
Rex
le 28/02/2005 à 15:59
Rex
Sonia, c'est assez symptomatique de ton état d'esprit. Tu n'arrives pas à exprimer clairement ton problème (ça se retrouve dans ton langage) parce que tu n'as pas les idées claires sur ce que tu veux faire.

Obliger quelqu'un à s'exprimer correctement n'est pas pour faire chier, mais pour le forcer à réfléchir un peu plus sur son problème.

Parfois en formulant correctement, on trouve la solution soit-même.

Avant de cliquer sur "Poster" relis tes messages s'il te plait, ça ira mieu :-)
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
keitarosan
le 28/02/2005 à 16:00
keitarosan
faut peut etre mettre le group by avant...

ou alors c'est ce que je te disais, il faut probablement que tu mette tout les champs du select dans la clause group by.
Normalement, la norme sql, c'est comme ca.
J'ai pas tout remis, parce que j'avais un peu la flemme et que j'ai pas trop le temps :(

Regarde la syntaxe du GROUP BY dans la doc mysql ;)
Ca sera plus sûr que les betises que je pourrais dire ;)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
Rex
le 28/02/2005 à 16:03
Rex
Il faut oublier le "group by" car ça n'a rien à voir.
keitarosan, tu as donné la solution en indiquant de faire deux requêtes.
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
sonia
le 28/02/2005 à 16:05
sonia
pourtant sa marche .
jai juste enlever le order by id asc.
qui ne sert a rien puisque je croit que sa par ordre d'id par defaut.
sinon sa marche .merci beacoup pour votre aide
sonia
le 28/02/2005 à 16:09
sonia
je m'excuse rex, maintenent je relirai 3 fois avant de poster.smiley
keitarosan
le 28/02/2005 à 17:09
keitarosan
bah c'est plutot cool si ca marche :)

Mais c'est vrai que parfois, rien que le fait de s'exprimer clairement apporte la reponse...

Combien de fois j'ai pu etre en train d'ecrire un truc, en disant que c'etait super compliquer et que je laissais de coté, pour qu'une ebauche de solution m'apparaisse... smiley

Tu veras, en fesant deja ce petit effort, tu posteras moins souvent ;)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours