Php :affichage de données contenu dans 1 base

Fermé
mmd - 27 nov. 2010 à 11:39
david_wklw Messages postés 41 Date d'inscription jeudi 15 juillet 2010 Statut Membre Dernière intervention 29 juin 2012 - 27 nov. 2010 à 23:16
Bonjour,

débutante en php, je cherche à afficher des éléments de ma base dans ma page de cette manière :
dans ma base "xxxxx" j'ai des catégories redondantes : 3 données "a", 4 données "b", 6 données "c"....
Pour chaque catégorie j'ai deux informations : type et descriptif.

Je souhaite afficher le nom de la catégorie une seule fois avec tous les types et les descritpif correspondant :
a
type descritpif
type descritpif
type descritpif

b
type descritpif
type descritpif

c
type descritpif
type descritpif
....

comment faut-il que je fasse ?

je vous remercie.

A voir également:

5 réponses

canarder Messages postés 1714 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
27 nov. 2010 à 13:06
tu peux redire ça dans un (espèce de) tableau ? et avec les vrais valeurs
0
Merci de prendre le temps de me répondre. Ma base de données contient les champs :
categories, type, descriptif qui comprennent les données suivantes :
Sport, équitation, niveau 6
Sport, boxe, gant jaune
Langue, anglais, professionnel
Langue, espagnol, scolaire
Langue, italien, scolaire
Art, cirque, loisir
Art, photo, amateur
....

Je voudrais que sur ma pages loisir.php s'affiche la liste comme ci-dessous :
Langue :
- anglais, professionnel
- espagnol, scolaire
- italien, scolaire

Sport :
- équitation, niveau 6
- boxe, gant jaune

Art :
- cirque, loisir
- Art, photo, amateur

j'arrive à afficher une catégorie et sa liste (avec la fonction select while) mais pas les autres. J'imagine qu'il faut que je créais une condition mais j'avoue que depuis deux jours j'essaye et cela marche pas.
0
devweb Messages postés 26 Date d'inscription vendredi 2 avril 2010 Statut Membre Dernière intervention 23 août 2020 10
27 nov. 2010 à 13:47
peux-tu mettre ton code ?
0
Je n'ai toujours pas résolu mon problème. Aux vues de mon niveau en php je ne sais même pas si je dois créer un tableau ou utiliser des conditions.... et dans ce cas je ne sais pas faire...
mon code actuel affiche toute la liste car je ne sais pas arrêter la boucle et redémarrer avec une autre condition :
<div class="postd">
<h1 class="bleu">Langue</h1>
<ul><li>
<?php // On récupère tout le contenu de la table loisirs ou essayer SELECT categories, categories.descriptif, categories.niveau FROM loisirs WHERE categories = categories;
$reponse = $bdd->query('SELECT * FROM Loisirs');

$rep1 = $bdd->query('SELECT * FROM Loisirs WHERE categories="Langue"');
$rep2 = $bdd->query('SELECT * FROM Loisirs WHERE categories="Sport"');


// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())


if($rep1="Langue")
{
echo $donnees ['descriptif'] . '. ' . $donnees['niveau'] . '<br> ';
}
elseif($rep2 == "Sport")
{
$donnees ['descriptif'] . '. ' . $donnees['niveau'] . '<br> ';

}
else
{
echo '';
}



$reponse->closeCursor(); // Termine le traitement de la requête

?>

</div>

Merci d'avance si vous pouvez au mois m'orienter....
0
Cela était mon dernier essaie, j'avais essayé avec des if mais ça ne marchais pas, j'ai supprimé.
dans l'idée je voudrais que mon : <h1 class="bleu">Langue</h1> s'affiche avec le contenu de la base. Si j'ai 30 catégories à la fin... Je sais c'est une catastrophe !

<h1 class="bleu">Langue</h1>
<ul><li>
<?php // On récupère tout le contenu de la table loisirs ou essayer SELECT categories, categories.descriptif, categories.niveau FROM loisirs WHERE categories = categories;
$reponse = $bdd->query('SELECT * FROM Loisirs WHERE categories="Langue"');


// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())

{
echo $donnees ['descriptif'] . '. ' . $donnees['niveau'] . '<br> ';
}


$reponse->closeCursor(); // Termine le traitement de la requête

?>

<h1 class="bleu">Sport</h1>
<ul><li>
<?php // On récupère tout le contenu de la table loisirs ou essayer SELECT categories, categories.descriptif, categories.niveau FROM loisirs WHERE categories = categories;
$reponse = $bdd->query('SELECT * FROM Loisirs WHERE categories="Sport"');


// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())

{
echo $donnees ['descriptif'] . '. ' . $donnees['niveau'] . '<br> ';
}


$reponse->closeCursor(); // Termine le traitement de la requête

?>
0

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

Posez votre question
david_wklw Messages postés 41 Date d'inscription jeudi 15 juillet 2010 Statut Membre Dernière intervention 29 juin 2012 4
27 nov. 2010 à 23:16
si tu comprends bien ceci ($resultat est le résultat d'une requete):

$nombre_de_reponse = mysql_num_rows($resultat);

// Pour lister l'ensemble des réponses à ta question
for ($i = 0, $i < $nombre_de_reponse, $i++) {
$un_record = mysql_fetch_row($resultat) ;
$champ_1 = $un_record[0] ; // ou mettre un nom de var plus clair évidemment
$champ_2 = $un_record[1] ; // id.
$champ_3 = $un_record[2] ; // id.
...
echo champ_1." ".$champ_2." ".$champ_3."<BR>" ; // avec mis en forme appropriée
}

Ca pourrait t'aider, bien qu'il y ait bien d'autres méthodes
0