pb affichage en double

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb affichage en double

par Augure » 11 juil. 2005, 18:51

Si tu veux tous les id tu dois :

- soit faire 2 requêtes ; une avec distinct l'autre sans
- soit un requête sans distinct et filtrer toi même les doublons applicativement en php.

par Justone » 11 juil. 2005, 18:47

ah ah ah
mais id je m'en sers pour autre chose dans la suite du code

par Augure » 11 juil. 2005, 18:36

je voudrais afficher mes taches mais je veux
tache1
tache2
mais j'ai besion de laisser id et statut dans mon select
OK ..... pour la ligne "tache 1" tu veux quel id ? 1 ou 2 ou 1,5 ou autre ou PI ou le premier id (plus petit) ou plus grand ??????????????????? :?

par Justone » 11 juil. 2005, 18:31

par exemple jai
(1, tache1, invalide)
(2, tache1, invalide)
(3, tache2, invalide)

je voudrais afficher mes taches mais je veux
tache1
tache2
et pas:
tache1
tache1
tache2

mais j'ai besion de laisser id et statut dans mon select

par Augure » 11 juil. 2005, 18:24

DISTINCT et DISTINCTROW sont synonymes et indique que les doublons doivent être éliminés du résultat.

Si tu as ('tache1' , 10 , A) et ('tache1' , 11 , A ) il s'agit de deux enregistrements différents. Donc les deux enregistrements sont affichés.

Question si tu as les enregistrements suivant dans ta table :
('tache1' , 10 , A)
('tache1' , 11 , B)
('tache1' , 12 , B)
('tache2' , 13 , A)
('tache2' , 14 , B)
tu voudrais voir s'afficher quoi avec ta requête ?

Est ce que ceci repondrai pas un peu plus à ton souhait

Code : Tout sélectionner

SELECT tache , id , statutFROM liste WHERE periodicite = 'Six-Monthly'" ORDER BY tache

par Justone » 11 juil. 2005, 18:14

J'ai besoin de faire select sur id et statut aussi!!

par Augure » 11 juil. 2005, 17:56

$str_requete = "SELECT DISTINCT tache FROM liste WHERE periodicite = 'Six-Monthly'"; 
Ton modéle physique de base de données est étrange.

J'ai aussi supprimer "statut" de la requête.

C'est ok pour toi comme ça ?

par Justone » 11 juil. 2005, 17:38

Et bien j'ai des id différents a chaque fois mais des taches qui ont le meme nom, c a d qu'une tache a plusierus id

Lorsque je veux afficher toutes les taches de ma table, je ne veux pas de doubles.

Voila!

par Augure » 11 juil. 2005, 17:38

DISTINCT permet d'afficher les ligne doublons (ou plus) qu'une seul fois, c'est à dire les lignes ayant ayant le même id ET tache ET status

Dis nous ce que tu veux afficher, car un DISTINCT sur une seul colonne je ne comprend pas.

par Augure » 11 juil. 2005, 17:35

DISTINCT permet d'afficher les ligne doublons (ou plus) qu'une seul fois, c'est à dire les lignes ayant ayant le même id ET tache ET status

Dis nous ce que tu veux afficher, car un DISTINCT sur une seul colonne je ne comprend pas.

par Justone » 11 juil. 2005, 17:32

Je l'avais fait et j'ai obtenu une erreur, c'est pour ca que j'ai posté sur ce forum!!

Erreur SQL !
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT(tache),statut FROM liste WHERE periodicite LIKE 'Six-M

par zeus » 11 juil. 2005, 17:31

$str_requete = "SELECT id, DISTINCT(tache),statut FROM liste WHERE periodicite LIKE 'Six-Monthly'";

par Justone » 11 juil. 2005, 17:27

merci je savais que DISTINCT existais, je l'ai meme essayé mais ca ne fonctionne pas comme je veux!!

le probleme est que je voudrais distinct seulement sur le champ tache
$str_requete = "SELECT id,tache,statut FROM liste WHERE periodicite='Six-Monthly'";

par zeus » 11 juil. 2005, 17:20

Dans ta requete SELECT, tu utilise DISTINCT

Code : Tout sélectionner

SELECT DISTINCT(champ) FROM table
http://dev.mysql.com/doc/mysql/fr/disti ... ation.html

pb affichage en double

par Justone » 11 juil. 2005, 17:14

Bonjour

Alors voila j'ai plusieurs enregistrments dans un champ de ma bdd.

Certains de ces enregistrements sont identiques.

J'ai écrit un script permettant d'affiche ma bdd, or je voudrais que les enregistrements qui sont identiques ne soint affichés qu'une seule fois

Cmt faire??