Php :affichage de données contenu dans 1 base
mmd
-
david_wklw Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
david_wklw Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Php :affichage de données contenu dans 1 base
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
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.
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.
peux-tu mettre ton code ?
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....
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....
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
?>
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
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
$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