Problème de boucle et sql

krizy
Invité n'ayant pas de compte PHPfrance

20 févr. 2006, 00:13

Voilà,

je fais une boucle pour récupérer des des données de ma table sql. Jusque là rien de sorcier. Mais maintenant, j'ai un petit problème.
Dans ma table il y a plusieurs champs que je veux récupérer qui ont le même contenu et je souhaite les regrouper afin d'éviter les répétition. Quelqu'un aurait-il LA solution ?

Voici la portion de code concernée :

En fait ce code génère une liste déroulant à partir d'une colonne dans la table. Le but étant d'éviter les répétitions en regroupant les même contenus.
<?php
db_connect();
$appeltableform = mysql_query("SELECT pro_cat FROM produits"); // Appel de la table
$nbreslignes = mysql_num_rows($appeltableform);
$i = 0;
?>
  <select name="cat_select" size="1">
    <?php
WHILE ($val = mysql_fetch_array($appeltableform))// Lance la boucle dans la table
 {
 	$catliste = $val["pro_cat"];
	
$i++;
echo ("<option>".$catliste."</option>");//Génération de la liste déroulante

}// fin de la boucle while

mysql_close(); // Déconnexion de la base de données
?>
</select>

Mammouth du PHP | 19672 Messages

20 févr. 2006, 00:21

Modifie légèrement ta requête SQL comme ceci:

Code : Tout sélectionner

SELECT DISTINCT(pro_cat) FROM produits
La clause DISTINCT va extraire les données sans doublons.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: