Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1578 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] Afficher des enregistrements sans doublon [résolu]

 



 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[php] Afficher des enregistrements sans doublon [résolu]

n°761000
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:03:06  profilanswer
 

VOIR LE PB A RESOUDRE EN BAS DE PAGE  :jap:  
 
 
Bsoir,
 
j'ai fait un formulaire qui lance le code ci-dessous, qui recupere 2 champs dans une table.
Je dois etre fatigués, mais le resultat ne me renvoie qu'un enregistrement (le 1Er), alors que je voudrais qu'ils s'affichent tous
 
Que manque-t-il ?
 

Code :
  1. $niveau = $_POST['niveau'];
  2. $nature = $_POST['nature'];
  3. mysql_connect($host,$user,$pass);
  4. mysql_select_db($bdd);
  5.         $query="SELECT * FROM $table_site WHERE actif=1 AND niveau='$niveau' AND nature='$nature' AND root=-1 ORDER BY niveau DESC";
  6. $result=mysql_query($query);
  7.         $sites_dem=mysql_fetch_object($result);
  8.         $n=mysql_num_rows($result);
  9.         mysql_free_result($result);
  10. if(empty($niveau))
  11. {
  12. echo("<center>Le '<b>niveau</b>' est vide !</center>" );
  13. exit();
  14. }
  15. else
  16. {
  17. echo("niveau=$niveau et nature=$nature<br>" );
  18. echo("$sites_dem->nom<br>" );
  19. echo("$sites_dem->auteur<br>" );
  20. }


Message édité par lulu_merlan le 16-06-2004 à 20:41:37

---------------
JeuneJedi m'a sauver
mood
Publicité
Posté le 12-06-2004 à 00:03:06  profilanswer
 

n°761003
Profil sup​primé
Posté le 12-06-2004 à 00:05:32  answer
 

ben ya pas de while [:chacal_one333]
 
sinon je sais pas si le root=-1 est bien :o
on preferera root="-1" :o

n°761011
simogeo
j'ai jamais tué de chats, ...
Posté le 12-06-2004 à 00:09:56  profilanswer
 

chacal_one333 a écrit :

ben ya pas de while [:chacal_one333]
 
sinon je sais pas si le root=-1 est bien :o
on preferera root="-1" :o



 
 
ben non, dans un cas on a un entier dans l'autre un string mais les 2 sont corrects
 
en plus php il capte rien alors on s'en branle [:xice007]
 
 
edit : a ben ui mais la c'est MySQL ... mais dans ce cas il s'en branle aussi [:xice007]
 
edit 2 : mais on preferes avec des quotes.... t'as raison en fait [:meganne]


Message édité par simogeo le 12-06-2004 à 00:11:20

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°761013
Profil sup​primé
Posté le 12-06-2004 à 00:11:27  answer
 

oui..mais bon...ben...CA VA HEIN !!
 
edit : je savais [:franck75]


Message édité par Profil supprimé le 12-06-2004 à 00:11:43
n°761016
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:12:37  profilanswer
 

avec les guillemets g une erreur, donc je laisse comme ça :)
 
Pour le while, tu peux precier ?


---------------
JeuneJedi m'a sauver
n°761017
simogeo
j'ai jamais tué de chats, ...
Posté le 12-06-2004 à 00:13:05  profilanswer
 

[:itm]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°761019
simogeo
j'ai jamais tué de chats, ...
Posté le 12-06-2004 à 00:13:35  profilanswer
 

precises lui chacal, fait pas l'enculé [:franck75]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°761022
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:15:13  profilanswer
 

$i = 1;
while ($i <= 10):
    echo $i .......
    $i++;
endwhile;


---------------
JeuneJedi m'a sauver
n°761025
simogeo
j'ai jamais tué de chats, ...
Posté le 12-06-2004 à 00:16:34  profilanswer
 

regarde, y'a un exemple ici  
http://www.nexen.net/docs/php/anno [...] object.php
 
:)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°761030
Profil sup​primé
Posté le 12-06-2004 à 00:20:38  answer
 

j'etait partit fumé.
 
non mais ho :o

mood
Publicité
Posté le 12-06-2004 à 00:20:38  profilanswer
 

n°761032
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:20:56  profilanswer
 

j'avais pas vu merci :)


---------------
JeuneJedi m'a sauver
n°761033
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:21:19  profilanswer
 

je vais essayer : je debute :/


---------------
JeuneJedi m'a sauver
n°761036
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:22:10  profilanswer
 

chacal_one333 a écrit :

j'etait partit fumé.
 
non mais ho :o


 
'tain t'es riche  :lol:


---------------
JeuneJedi m'a sauver
n°761037
Profil sup​primé
Posté le 12-06-2004 à 00:22:24  answer
 

les roulées spatrop cher :o

n°761049
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 00:30:01  profilanswer
 

ça marche :)
 

Code :
  1. $niveau = $_POST['niveau'];
  2. $nature = $_POST['nature'];
  3. mysql_connect($host,$user,$pass);
  4. mysql_select_db($bdd);
  5.         $query="SELECT * FROM $table_site WHERE actif=1 AND niveau='$niveau' AND nature='$nature' AND root=-1 ORDER BY niveau DESC";
  6. $result=mysql_query($query);
  7.         while ($sites_dem = mysql_fetch_object($result)) {
  8.         echo $sites_dem->nom;
  9.         echo $sites_dem->auteur;
  10.                             }
  11.         mysql_free_result($result);


---------------
JeuneJedi m'a sauver
n°761051
Profil sup​primé
Posté le 12-06-2004 à 00:32:06  answer
 

c'est fait pour ^^

n°761239
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 13:22:19  profilanswer
 

BOn, maintenant que tous les enregistrements sont bien retournés, je veux que ne soit retournés que les enregistrements uniques (car mon script est un annuaire qui utilise des alias de catégories = champ 'cat')
Quel argument integrer à la requete, pour trier les enregistrements, et ne afficher ceux qui ont un alias?
Ex, j'ai 4 enregistrements aux chmps identiques, sauf le champ CAT, auquel est affecté une valeur (int) qui renvoie à la catégorie ou alias
-> Un seul enregistrement doit etre retourné
 

Code :
  1. $niveau = $_POST['niveau'];
  2. $nature = $_POST['nature'];
  3. mysql_connect($host,$user,$pass);
  4. mysql_select_db($bdd);
  5.         $query="SELECT * FROM $table_site WHERE actif=1 AND niveau='$niveau' OR nature='$nature' AND root=-1 ORDER BY niveau DESC";
  6. $result=mysql_query($query);
  7.         while ($sites_dem = mysql_fetch_object($result))


Message édité par lulu_merlan le 12-06-2004 à 13:35:30

---------------
JeuneJedi m'a sauver
n°761304
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 16:55:37  profilanswer
 

up


---------------
JeuneJedi m'a sauver
n°761329
Profil sup​primé
Posté le 12-06-2004 à 17:47:54  answer
 

select distinct(champ1), champ2, champ3 ...

n°761371
lulu_merla​n
JeuneJedi m'a sauver
Posté le 12-06-2004 à 19:12:25  profilanswer
 

merci à toi !


---------------
JeuneJedi m'a sauver
n°761665
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 10:26:14  profilanswer
 

Mon formulaire est fait à partir de Checkbox : cimment faire pour que le visiteur qui coche 2 boites ou +, puisse obtenir un resultat combinant une variable "niveau" et 2 variables "nature" ou plus, sans refaire une liste de checkbox pour chaque choix supplémentaire ?
 
Une partie de mon formulaire :
 

Code :
  1. <TD width="50%"><div align="left"><? echo $site_niveau ?></div><BR>
  2.                 <input type="checkbox" name="niveau" value="6ème">&nbsp;sixième<BR>
  3.                 <input type="checkbox" name="niveau" value="5ème">&nbsp;cinquième<BR>
  4.           </TD>
  5.           <TD width="50%"><div align="left"><? echo $site_nature ?></div><BR>
  6.             <input type="checkbox" name="nature" value="article">&nbsp;article<BR>
  7.                 <input type="checkbox" value="biographie">&nbsp;biographie<BR>


 
Je veux donc que l'utilisateur puisse choisir Sixième  ET article ET biographie, afin de cumuler les reusltats


Message édité par lulu_merlan le 13-06-2004 à 10:28:33

---------------
JeuneJedi m'a sauver
n°761846
jagstang
Pa Capona ಠ_ಠ
Posté le 13-06-2004 à 16:40:23  profilanswer
 

remets le titre initial stp. Celui qui débarque dans le topic est un peu perdu.  
 
fait un nouveau topic au lieu d'éditer stp.

n°761953
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 19:11:00  profilanswer
 

JagStang a écrit :

remets le titre initial stp. Celui qui débarque dans le topic est un peu perdu.  
 
fait un nouveau topic au lieu d'éditer stp.


 
c'est fait


---------------
JeuneJedi m'a sauver
n°762067
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 21:27:31  profilanswer
 

Rappel de mes codes :
 
extrait du fichier qui contient le formulaire :

Code :
  1. <TR class="lienp">Vous pouvez classer (trier) l'affichage des sites(ordre descendant/ascendant):
  2.           <TD width="50%"><div align="left"><? echo $site_niveau ?></div><BR>
  3.                 <input type="checkbox" name="niveau" value="6ème" />&nbsp;sixième<BR>
  4.                 <input type="checkbox" name="niveau" value="5ème" />&nbsp;cinquième<BR>
  5.                 <input type="checkbox" name="niveau" value="4ème" />&nbsp;quatrième<BR>
  6.                 <input type="checkbox" name="niveau" value="3ème" />&nbsp;troisième<BR>
  7.                 <input type="checkbox" name="niveau" value="brevet" />&nbsp;brevet<BR>
  8.                 <input type="checkbox" name="niveau" value="2de" />&nbsp;seconde<BR>
  9.                 <input type="checkbox" name="niveau" value="1ère" />&nbsp;premiere<BR>
  10.           </TD>
  11.           <TD width="50%"><div align="left"><? echo $site_nature ?></div><BR>
  12.             <input type="checkbox" name="nature" value="article" />&nbsp;article<BR>
  13.                 <input type="checkbox" name="nature" value="biographie" />&nbsp;biographie<BR>
  14.                 <input type="checkbox" name="nature" value="bibliographie" />&nbsp;bibliographie<BR>


 
Extrait du fichier qui traite les données :

Code :
  1. $niveau = $_POST['niveau'];
  2. $nature = $_POST['nature'];
  3. $nature2 = $_POST['nature2'];
  4. ?>
  5. <TABLE class="barre7" width="95%" ALIGN="CENTER"><td class="barre12_1"><a href="../page/index.php?cat="><img src="../im/home.png" border="0" align="absmiddle" alt="\<? echo $accueil ?>\"></a>&nbsp;&nbsp;>&nbsp;<? echo $niveau ?>&nbsp;>&nbsp;<? echo $nature ?> </td>
  6. <?
  7. mysql_connect($host,$user,$pass);
  8. mysql_select_db($bdd);
  9. $query="SELECT DISTINCT ALL * FROM $table_site WHERE actif=1 AND niveau='$niveau' AND nature='$nature' OR nature='$nature2' AND root=-1 ORDER BY niveau DESC";
  10.         $result=mysql_query($query);
  11.         while ($sites_dem = mysql_fetch_object($result))


 
2 diffcultés :  
- les doublons sont retournés  :(  
- il faut que l'on puisse cocher plusieurs $nature  :??:


Message édité par lulu_merlan le 13-06-2004 à 22:53:36

---------------
JeuneJedi m'a sauver
n°762134
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 22:27:19  profilanswer
 

up


---------------
JeuneJedi m'a sauver
n°762137
simogeo
j'ai jamais tué de chats, ...
Posté le 13-06-2004 à 22:30:14  profilanswer
 

nommes tes checkbox comme ceci nature[]
 
ainsi tu recupereras un tableau.
 
pour comprendre ensuite print_r($_REQUEST['nature']); dans la partie traitement


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°762178
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 22:47:47  profilanswer
 

simogeo a écrit :

nommes tes checkbox comme ceci nature[]
 
ainsi tu recupereras un tableau.
 
pour comprendre ensuite print_r($_REQUEST['nature']); dans la partie traitement


 
Ok j'applique et je reviens  Merci  ;)


---------------
JeuneJedi m'a sauver
n°762194
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 22:59:38  profilanswer
 

Bon, ou mettre le print maintenant ?


---------------
JeuneJedi m'a sauver
n°762200
simogeo
j'ai jamais tué de chats, ...
Posté le 13-06-2004 à 23:07:53  profilanswer
 

lulu_merlan a écrit :

Bon, ou mettre le print maintenant ?


 
 dans la partie traitement je t'ai dis


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°762214
lulu_merla​n
JeuneJedi m'a sauver
Posté le 13-06-2004 à 23:22:01  profilanswer
 

ça donne
 

Code :
  1. <?
  2. include('../option.php');
  3. include ('../inc/header.php');
  4. $niveau = $_POST['niveau'];
  5. $nature = $_POST['nature'];
  6. print_r($_REQUEST['nature']);
  7. ?>
  8. <TABLE class="barre7" width="95%" ALIGN="CENTER"><td class="barre12_1"><a href="../page/index.php?cat="><img src="../im/home.png" border="0" align="absmiddle" alt="\<? echo $accueil ?>\"></a>&nbsp;&nbsp;>&nbsp;<? echo $niveau ?>&nbsp;>&nbsp;<? echo $nature ?> </td>
  9. <?
  10. mysql_connect($host,$user,$pass);
  11. mysql_select_db($bdd);
  12. $query="SELECT * FROM $table_site WHERE actif=1 AND niveau='$niveau' AND nature=$nature AND root=-1 ORDER BY niveau DESC";
  13.         $result=mysql_query($query);
  14.         while ($sites_dem = mysql_fetch_object($result))    {
  15. if(empty($niveau))
  16. {
  17. echo("<center>Il faut sélectionner un <b>niveau</b></center>" );
  18. exit();
  19. }
  20. else
  21. {
  22. echo("<TABLE width=95% ALIGN='CENTER'><TD class='barre14'>&nbsp;<img src='../im/fle_top.gif'>&nbsp;<a onclick=\"aff($sites_dem->id)\" class='lienp' href='../gestion/out.php?id=$sites_dem->id' target='_blank'>$sites_dem->nom</a>" );
  23. echo("&nbsp;-&nbsp;<a href='javascript:com($sites_dem->id)'><FONT size='1' class='lien_4' align='right'>&nbsp;&nbsp;[+ d'infos]&nbsp;($sites_dem->nb_com)</FONT></A>" );
  24. echo("&nbsp;-&nbsp;$sites_dem->auteur&nbsp;-&nbsp;<FONT class='visit'>$sites_dem->compt_out clics</FONT></TD></TABLE>" );
  25. }
  26.                                  }
  27. mysql_free_result($result);
  28. ?>


Mais d'autre modifs sont nécéssaires, because of erreur au niveau du mysql_fetch_object


Message édité par lulu_merlan le 13-06-2004 à 23:26:36

---------------
JeuneJedi m'a sauver
n°762398
lulu_merla​n
JeuneJedi m'a sauver
Posté le 14-06-2004 à 08:27:16  profilanswer
 

Je ne trouve pas de pages qui expliquent comment on extrait les valeurs de REQUEST dans la requete :(


---------------
JeuneJedi m'a sauver
n°762438
T509
$job-&gt;GetJob(now)
Posté le 14-06-2004 à 09:52:48  profilanswer
 

C'est un tableau, donc cela se traite comme un tableau (La Palisse n'aurait pas fait mieux...)


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°763475
lulu_merla​n
JeuneJedi m'a sauver
Posté le 14-06-2004 à 22:32:06  profilanswer
 

T509 a écrit :

C'est un tableau, donc cela se traite comme un tableau (La Palisse n'aurait pas fait mieux...)


tout doux mon bon, j'apprends !  :)


---------------
JeuneJedi m'a sauver
n°763484
T509
$job-&gt;GetJob(now)
Posté le 14-06-2004 à 22:36:37  profilanswer
 

lulu_merlan a écrit :

tout doux mon bon, j'apprends !  :)


Je suis cool, la fin de la phrase me faisias rire, c'est tout. Aucun jugement de valeur sur ton niveau.
 
Juste pour le dire autrement :
Tu arrives à traiter le tableau $_POST, $_GET, pour $_SERVER, c'est pareil sauf que tu ne choisi pas les index et qu'ils te sont imposés


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°763500
lulu_merla​n
JeuneJedi m'a sauver
Posté le 14-06-2004 à 22:45:29  profilanswer
 

T509 a écrit :

Je suis cool, la fin de la phrase me faisias rire, c'est tout. Aucun jugement de valeur sur ton niveau.
 
Juste pour le dire autrement :
Tu arrives à traiter le tableau $_POST, $_GET, pour $_SERVER, c'est pareil sauf que tu ne choisi pas les index et qu'ils te sont imposés


 
je plaisantais aussi  :)  
 
auraistu unen url ou je pourrai puiser des exemples ?
 
Lulu


---------------
JeuneJedi m'a sauver
n°763515
T509
$job-&gt;GetJob(now)
Posté le 14-06-2004 à 22:50:51  profilanswer
 

Non, la seule URL c'est la doc php
http://fr3.php.net/manual/fr/reserved.variables.php


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°763527
lulu_merla​n
JeuneJedi m'a sauver
Posté le 14-06-2004 à 22:59:18  profilanswer
 

lulu_merlan a écrit :

je plaisantais aussi  :)  
 
auraistu unen url ou je pourrai puiser des exemples ?
 
Lulu


 
oui, ça j'avais lu, mais j'ai besoin d'exemples pratiques pour voir la syntaxe et les possibilités : je ne cherche pas à ce qu'on me fasse mon code, attention  ;)


---------------
JeuneJedi m'a sauver
n°763538
T509
$job-&gt;GetJob(now)
Posté le 14-06-2004 à 23:04:25  profilanswer
 

$_REQUEST contient $_GET, $_POST, $_COOKIE, et $_FILES.
A mon sens, tu cherches à te compliquer la vie pour rien.
Utilises les 4 autres tableaux : $_GET, $_POST, $_COOKIE, et $_FILES et tu paux faire la même chose.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°763902
lulu_merla​n
JeuneJedi m'a sauver
Posté le 15-06-2004 à 10:50:10  profilanswer
 

j'ai fait :

Code :
  1. print_r($_POST['niveau']);
  2. print_r($_POST['nature']);


 
J'essaie maintenant d'extraire les valeur du tableau pour les passer dans la requete sql
-> quelle syntaxre pour créer par une variable $nature, qui contiendrait un des élément du tableau ?
 
lulu


Message édité par lulu_merlan le 15-06-2004 à 11:02:13

---------------
JeuneJedi m'a sauver
n°763993
lulu_merla​n
JeuneJedi m'a sauver
Posté le 15-06-2004 à 11:34:29  profilanswer
 

Bon, dans ma requete j'ai fait :

Code :
  1. mysql_select_db($bdd);
  2. $query="SELECT * FROM $table_site WHERE actif=1 AND niveau=$_post(niveau) AND nature=$_post(nature) AND root=-1 ORDER BY niveau DESC";
  3.         $result=mysql_query($query);
  4.         while ($sites_dem = mysql_fetch_object($result))    {


 
mais de cette façon, le résultat m'affiche toutes les enregistrements, comme si tout les "niveau" et "nature" étaient cochés :(


Message édité par lulu_merlan le 15-06-2004 à 11:36:07

---------------
JeuneJedi m'a sauver
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] Afficher des enregistrements sans doublon [résolu]

 

Sujets relatifs
forcer date jj/mm/aaaa [Résolu]Pb : Comment afficher un texte dans une état access avec code VBA
[RESOLU][API WIN] List box[résolu]DropDownList: récupération données
[C#] nombre de lignes dans un datagrid ? [résolu][Résolu] Utilisation de getch et getkey
insérer un son sur un site [résolu]Boucle FOR [résolu]
[CSS - Résolu] C'est quoi ce délire sur le :hover ?[php afficher une ]variable
Plus de sujets relatifs à : [php] Afficher des enregistrements sans doublon [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR