IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Doublons dans affichage


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Par défaut Doublons dans affichage
    Objectif :Afficher les Infos de tous les Articles d'un Magasin choisi dans un tableau
    Je travaille avec Php et MySQL
    A savoir :

    -- 1 Magasin a plusieurs Articles
    -- 1 Article appartient à 1 Magasin
    -- 1 Article appartient à 1 Modèle d'ArticleS
    -- 1 Modèle d'Articles à plusieurs Articles
    -- 1 Article a 1 ou plusieurs Tailles
    -- 1 Taille à plusieurs Articles
    -- 1 LiaisonArticlesTailles ( Noucelle tables crée par les Cardinalités (1,N)
    entre Articles et Tailles)
    Mes Tables

    magasin( mag_ID, mag_Nom)
    modeles(mod_ID,mod_Nom )
    articles( art_ID, art_Nom, mod_ID, mag_ID)
    tailles(tail_ID, tail_nom)
    liaisonArticlesTailles(art_ID, tail_ID,prixUnitaireArticle)

    Je voufrais Obtenir cela

    en HTML après je vous mets le code PHP)
    SORTIE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table>
      <tr><td>Ici $mod_Nom </td><td>Ici $taille_Nom(toutes les tailles)</td></tr>
      <tr><td>Ici $art_Nom(tousles articles)</td><td>Ici $prixUnitaireArticle</td></tr>
    </table>
    C'est TOUT !

    A savoir que Pour un Modele on a plusieurs Tailles, plusieurs Articles, et leurs Prix

    ex en Sortie

    __________________________________________
    |Modele A | taille 1 | taille 2| taille 3 |
    |_________________________________________|
    |Article 1| 7euros | 12euros | 20euros |
    |_________________________________________|
    |Article 2| 3euros | 13euros | 24euros |
    |_________________________________________|
    |Article 3| 6euros | 12euros | 23euros |
    |_________________________________________|
    |Article 4| 8euros | 15euros | 24euros |
    |_________________________________________|

    __________________________________________
    |Modele B | taille 1 | taille 2| taille 3 |
    |_________________________________________|
    |Article 5| 8euros | 11euros | 19euros |
    |_________________________________________|
    |Article 6| 2euros | 13euros | 17euros |
    |_________________________________________|
    |Article 7| 5euros | 15euros | 23euros |
    |_________________________________________|
    |Article 8| 4euros | 11euros | 24euros |
    |_________________________________________|

    ect ect----> à autant de modèles on aura :
    les tailles
    les Articles
    le prix en fonction de Articles et de la Taille choisie

    pOUR LE Moment je ne cherche que l'Affichage

    Voila mon code Php avec Mysql( Bdd)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>nosArticles.php</title>
    <link href="fichiers/css/choisirArticles.css" rel="stylesheet" type="text/css" />
    </head>
    <body >
    <br /><br />
    <table>
    <tr>
    <?php 
    error_reporting(E_ALL);
    $host = "localhost"; 
    $user = "root";
    $mdp  = "";
    $base = "NajetBoutique";
    $link = mysql_connect($host,$user,$mdp) or die(mysql_error());
    $cnx = mysql_select_db($base,$link) or die(mysql_error());
    $mag_ID = 1;
    $query = ("SELECT DISTINCT mod_ID FROM articles WHERE mag_ID = '$mag_ID'")or die(mysql_error());
    $req = mysql_query($query,$link);
    while($tab = mysql_fetch_assoc($req)){
    	$mod_ID = $tab['mod_ID'];
    	echo'<td>';
    	echo'<table width="35%" cellspacing="0" cellpadding="0">';
    	$query1 =(" SELECT DISTINCT mod_Nom FROM modeles WHERE mod_ID = '$mod_ID'");
    	$req1 = mysql_query($query1);
    	$n = mysql_num_rows($req1);
    	for($i=0; $i<$n; $i++){
    		echo'<tr>';
    		$tab1 = mysql_fetch_assoc($req1);
    		$mod_Nom = $tab1['mod_Nom'];
    		echo'<td colspan="1" height="5"><span class="style6">'.$mod_Nom.'</span></td>';
    		$query2=("SELECT DISTINCT t.taille_Nom
    				FROM tailles AS t, articles AS a, liaisonArticlesTailles AS LAT
    				WHERE LAT.mag_ID = a.art_ID AND LAT.taille_ID = t.taille_ID 
    				AND a.mod_ID ='$mod_ID'") or die (mysql_error());
    		$req2 = mysql_query($query2);
    		while($tab2 = mysql_fetch_assoc($req2)){
    			$taille_Nom = $tab2['taille_Nom'];
    			echo'<td class="nbrePersonne">'.$taille_Nom.'</td>';
    		}
    		echo'</tr>';
    	}	
    	$query3=("SELECT DISTINCT a.art_Nom, LAT.prixUnitaireArticle  
    			FROM tailles AS t, articles AS a, liaisonArticlesTailles AS LAT
    			WHERE LAT.mag_ID = a.art_ID AND LAT.taille_ID = t.taille_ID 
    			AND a.mod_ID ='$mod_ID'") or die (mysql_error());
    	$req3=mysql_query($query3);
    	while($tab3 = mysql_fetch_assoc($req3)){  
    		$art_Nom = $tab3['art_Nom'];
    		$prixU = $tab3['prixUnitaireArticle'];	
    		echo'<tr>';
    		echo'<td class="nomArticle">'.$art_Nom.'</td>';
    		echo'<td class="prix">'.$prixU;
    		echo'<form action="" method="post">';
    		echo'<select><option value="0">0</option> <option value="1">1</option><option value="2">2</option><option value="3">3</option></select>';		
    		echo'</form>';
    		echo'</td>';
    		echo'</tr>';
    	}
    	echo'</table>';
    	echo'</td>';
    	echo'<td class="separTable">&nbsp;&nbsp;</td>';
    }
    mysql_close();
    ?>
    </tr></table>
    </body></html>
    J'AI PAS vRAIMENT CE QUE JE VEUX !!
    Mais je m'avoue compètement BATTUE !!!!!snifff, je Craque !!!!

    mon AFFICHAGE :


    __________________________________________
    |Modele A | taille 1 | taille 2| taille 3 |
    |_________________________________________| A Savoir que les prix sont les Bons mais pas les tailles
    | | | | | ( cad
    |Article 1| 2euros | | |
    |_________________________________________| normalement pour article 1 - 4 euros appartient a taille2
    |Article 1| 4euros | | | artilce 1 - 8euros " " " taille3
    |_________________________________________| article 2 - 12euros appartient a taille2
    |Article 1| 8euros | | | article 2 - 19 euros appartient a taille3
    |_________________________________________|
    |Article 2| 3euros | | |en Fait il n'y a que pour taille1 que les prix sont correct
    |_________________________________________|
    |Article 2| 12euros | | |
    |_________________________________________|
    |Article 2| 19euros | | |
    |_________________________________________|


    __________________________________________
    |Modele B | taille 1 | taille 2| taille 3 |
    | | | | | normalement pour article 3 - 14 euros appartient a taille2 |
    |_________________________________________| article 3 - 17 euros appartient a taille3
    |Article 3| 8euros | | |
    |_________________________________________| article 4 - 14 euros appartient a taille2
    |Article 3| 14euros | | | article 4 - 19 euros appartient a taille3
    |_________________________________________| en Fait il n'y a que pour taille1 que les prix sont correct
    |Article 3| 17euros | | |
    |_________________________________________|
    |Article 4| 4euros | | |
    |_________________________________________|
    |Article 4| 14euros | | |
    |_________________________________________|
    |Article 4| 19euros | | |
    |_________________________________________|

    Merci Beaucoup pour Votre AIde Que J'attends avec Impatience


    D'après moi : Problemes dans mes Boucles et requete de tables jointes
    sans utiliser les mots clés des jointures (mais j'ai beaucoup de mal a comprendre )
    doublons a éliminer


    Je Suis sur le meme code depuis plus de 3 semaines et je suis auto didacte
    Et malheureusement je n'ai pas d'Amies ds ce domaine

    Mais là depuis quelle que temps je craque car je n'arrive pas avancer d'une ligne
    et j'espère que vos réponses me remotiveront.


    Voila je vous est tout dis j'espère que c'est assez clair !!!
    Merci beaucoup pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut
    Salut,

    Je suis pas sur d'avoir tout compris. Mais il me semble que tu veux faire un tableau avec les différentes tailles et les bon prix dans les cases correspondantes. Je ne comprend pas pourquoi tu fais un formulaire avec un select (sans submit).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo'<form action="" method="post">';
    		echo'<select><option value="0">0</option> <option value="1">1</option><option value="2">2</option><option value="3">3</option></select>';		
    		echo'</form>';
    Ce ne serait pas plutot des cases de tableau avec les bonnes valeurs que tu veux comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $query3=("SELECT DISTINCT a.art_Nom, LAT.prixUnitaireArticle  
    			FROM tailles AS t, articles AS a, liaisonArticlesTailles AS LAT
    			WHERE LAT.mag_ID = a.art_ID AND LAT.taille_ID = t.taille_ID 
    			AND a.mod_ID ='$mod_ID'") or die (mysql_error());
    	$req3=mysql_query($query3);
    	$i = 0; //pour afficher le premier article
    	while($tab3 = mysql_fetch_assoc($req3)){  
    		$prixU = $tab3['prixUnitaireArticle'];	
    		if ($i == 0 || $anciennom!= $tab3['art_Nom'] ||) //si c'est un nouveau nom d'article (different de l'ancien) alors on commence une nouvelle ligne (tr) et on affiche le nom de l'article
    		{
    			if ($i == 0) //si c'est la premiere ligne on la demarre avec la balise tr
    				echo "<tr>";
    			else //sinon c'est une nouvelle ligne donc on referme la précédente d'abord (une ligne pour afficher article et toutes les tailles)
    				echo "</tr><tr>";
    			$i++;
    			echo'<td class="nomArticle">'.$art_Nom.'</td>'; //on affiche le nom de l'article
    			$anciennom = $tab3['art_Nom']; //on recupere le nouveau nom d'article
    		}
    		echo'<td class="prix">'.$prixU.'</td>'; //on affiche les prix pour toutes les tailles
    	}
    La réponse de ta requête est sous ce format il me semble : nomarticle - prix
    Tu veux afficher une seule fois le nom et après tous les prix pour ce nom d'article, toi tu affiche le nom pour chaque prix. Après j'ai peut etre pas bien compris ton problème (notamment le formulaire avec le select) donc si je répond complètement a coté dis le moi.

Discussions similaires

  1. [AC-2007] Problème doublon et affichage dans une requête
    Par lordfrancky38 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/10/2011, 10h55
  2. [MySQL] Supprimer les doublons dans une colonne PHP lors de l'affichage
    Par Gazell dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 18/08/2011, 11h41
  3. Problème de doublons d'affichage dans un Form
    Par Dongosaure dans le forum IHM
    Réponses: 5
    Dernier message: 15/03/2007, 20h19
  4. Affichage de doublons dans un formulaire
    Par kyuss dans le forum IHM
    Réponses: 2
    Dernier message: 11/02/2007, 09h03
  5. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo