Mauvais affichage boucle PHP
Résolu
Solar13
Messages postés
204
Date d'inscription
Statut
Membre
Dernière intervention
-
Solar13 Messages postés 204 Date d'inscription Statut Membre Dernière intervention -
Solar13 Messages postés 204 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un affichage php qui affiche plusieurs fois les mêmes champs de mes tables et je ne comprend pas pourquoi.
Pouvez vous me donner un coup de main ?
J'ai un affichage php qui affiche plusieurs fois les mêmes champs de mes tables et je ne comprend pas pourquoi.
Pouvez vous me donner un coup de main ?
<?php require("admin/connexion/localhost.php"); $conn = mysql_connect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET CHARACTER SET 'utf8';")or die(mysql_error()); mysql_select_db($database_localhost, $conn); //requête SQL: $sql = "SELECT * FROM categories, produits"; //exécution de la requête: $requete = mysql_query($sql) or die( mysql_error()); //affichage des données: $result = mysql_fetch_array($requete); while($result = mysql_fetch_array($requete)) {?> <?php echo nl2br($result['nom_categorie']); ?> <?php echo nl2br($result['nom_produit']); ?> <?php } ?>
A voir également:
- Mauvais affichage boucle PHP
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
- Expert php pinterest - Télécharger - Langages
10 réponses
Bonjour.
Ici vous affichez tous les nom_categorie et nom_produit de vos 2 tables.
Que voulez-vous faire?
Ici vous affichez tous les nom_categorie et nom_produit de vos 2 tables.
Que voulez-vous faire?
Merci pour vos réponses, désolé cela n'a pas marché.
En fait, mon but final, serait d'afficher une sorte de liste, avec comme titre la catégorie et en dessous les produits associés ( mes deux tables sont liés par l'ID ).
En fait, mon but final, serait d'afficher une sorte de liste, avec comme titre la catégorie et en dessous les produits associés ( mes deux tables sont liés par l'ID ).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
tes résultats sont en double et c'est normal
exemple :
ce code affichera une seule fois les enregistrements
si maintenant tu met 2 noms de table
ce code va afficher tous les enregistrements des 2 tables 2 fois
(autant de fois que de le nombre de table)
il faut en fait lié les deux tables :
la requete ressemblera a un truc comme çà
en remplacant les noms des champs souligné par tes champs correspondants
tes résultats sont en double et c'est normal
exemple :
SELECT * FROM table";
ce code affichera une seule fois les enregistrements
si maintenant tu met 2 noms de table
SELECT * FROM categories, produits
ce code va afficher tous les enregistrements des 2 tables 2 fois
(autant de fois que de le nombre de table)
il faut en fait lié les deux tables :
SELECT * FROM produits INNER JOIN categories ON produits .IdCategorie = categorie.id
la requete ressemblera a un truc comme çà
en remplacant les noms des champs souligné par tes champs correspondants
Merci pour la réponse.
J'ai fait la requête suivente:
Mais je n'ai qu'une seule entrée ( la dernière ) de ma table catégorie qui s'affiche, mais avec les bons produits correspondant.
En gros j'ai ça:
Catégorie3
Poduit1
Produit2
Produit3
Il m'occulte la catégorie 1 et 2.
J'ai fait la requête suivente:
"SELECT * FROM produits INNER JOIN categories ON produits.ID_produit = categories.ID_categorie";
Mais je n'ai qu'une seule entrée ( la dernière ) de ma table catégorie qui s'affiche, mais avec les bons produits correspondant.
En gros j'ai ça:
Catégorie3
Poduit1
Produit2
Produit3
Il m'occulte la catégorie 1 et 2.
Sinon pour eviter les doublons (ce n' est pas la solution la plus propre), la fonction DISTINCT dans a requete.
Merci beaucoup pour la réponse,
C'est bon je n'ai plus de doublons, mais par contre il ne m'affiche que la dernière entrée des catégories, la 3.
C'est bon je n'ai plus de doublons, mais par contre il ne m'affiche que la dernière entrée des catégories, la 3.