Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1245 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Selection Tailles (simplifié) SQL [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Selection Tailles (simplifié) SQL [RESOLU]

n°1810545
skog
Posté le 10-11-2008 à 18:49:42  profilanswer
 

Bonsoir je viens vous demander votre aide pour simplifier mon code,
 
J'ai créé un script pour afficher seulement les tailles disponibles (ex: si la taille "xl" = 0 alors on ne l'affiche pas  et vis versa si la taille=1 ou autre que '0')
 

Code :
  1. //on verifie si  il ya au moins une taille de dispo  
  2. if (($xs == '0' ) AND ($s == '0') AND ($m == '0' ) AND ($l == '0' ) AND ($xl == '0' ) AND ($xxl == '0' ) AND ($xxxl == '0' )) {
  3. //si pas de taille dispo on affiche rien
  4. }
  5. else {
  6. //sinon on affiche le menu deroulant
  7. ?>
  8.              Taille <select name="shirt" id="shirt">
  9.                 <option value="" selected>--</option>
  10.    
  11.    
  12.     <?php
  13. //SI $xs est different de  zero ALORS on affiche l'option XS
  14.     if($xs != '0' ) {
  15.     ?>
  16.     <option value="xs">XS</option>
  17. <?php
  18.                  }
  19.     ?>
  20.                       <?php
  21.     if($s != '0' ) {
  22.     ?>
  23.     <option value="s">S</option>
  24.     <?php
  25.                  }
  26.     ?>
  27.                       <?php
  28.     if($m != '0' ) {
  29.     ?>
  30.     <option value="m">M</option>
  31.     <?php
  32.                  }
  33.     ?>
  34.                       <?php
  35.     if($l != '0' ) {
  36.     ?>
  37.     <option value="l">L</option>
  38.     <?php
  39.                  }
  40.     ?>
  41.                
  42.                       <?php
  43.     if($xl != '0' ) {
  44.     ?>
  45.     <option value="xl">XL</option>
  46.     <?php
  47.                  }
  48.     ?>
  49.                
  50.                       <?php
  51.     if($xxl != '0' ) {
  52.     ?>
  53.     <option value="xxl">XXL</option>
  54.     <?php
  55.                  }
  56.     ?>
  57.                
  58.                       <?php
  59.     if($xxxl != '0' ) {
  60.     ?>
  61.     <option value="xxxl">XXXL</option>
  62.     <?php
  63.                  }
  64.      
  65. ?> 
  66.    </select>
  67.                
  68. <?php             
  69. } // fin else


 
 
Comment simplifier tout ça ? n'y a t il pas une fonction  ? et le pire c'est que mon code ne marche même pas comme ça :/
 
EDIT: mon code marche now (sétait une erreur dans la requete sql mais jaimerais toujours pouvoir simplifié mon code)


Message édité par skog le 10-11-2008 à 23:34:18
mood
Publicité
Posté le 10-11-2008 à 18:49:42  profilanswer
 

n°1810547
flo850
moi je
Posté le 10-11-2008 à 18:54:49  profilanswer
 

comment tu initialise $s, $xl , ?
si c'est une requete, est ce que tu ne peux pas filtrer directement dnas la requete ?


Message édité par flo850 le 10-11-2008 à 18:54:56

---------------

n°1810550
skog
Posté le 10-11-2008 à 19:00:29  profilanswer
 

Voici ma requete sql (et je colle tout le code pour que vous compreniez mieux )
 
En gros j'utilise une boucle  pour afficher mes produits avec une selection de taille pour chacun d'eux.
 

Code :
  1. require ($_SERVER["DOCUMENT_ROOT"].'/sql/includes/config.inc.php');
  2.   mysql_connect($host, $username, $password);
  3.   mysql_select_db($bdd_name);
  4.    $query2="SELECT * FROM `$stab` ";
  5.    $result2=mysql_query($query2);
  6.      while ($tableau_prod=mysql_fetch_array($result2)) {
  7.       $idprod=htmlspecialchars($tableau_prod["idprod"]);
  8.       $titleprod=htmlspecialchars($tableau_prod["titleprod"]);
  9.       $img=htmlspecialchars($tableau_prod["img"]);
  10.       $refprod=htmlspecialchars($tableau_prod["refprod"]);
  11.       $xs=htmlspecialchars($tableau_prod["xs"]);
  12.       $s=htmlspecialchars($tableau_prod["s"]);
  13.       $m=htmlspecialchars($tableau_prod["m"]);
  14.       $l=htmlspecialchars($tableau_prod["l"]);
  15.       $xl=htmlspecialchars($tableau_prod["xl"]);
  16.       $xxl=htmlspecialchars($tableau_prod["xxl"]);
  17.       $xxxl=htmlspecialchars($tableau_prod["xxxl"]);
  18. <?php echo($titleprod); ?>
  19.     <br />
  20.     <img src="http://s219158312.onlinehome.fr/photos/<?php echo($img);  ?>" />
  21. //on verifie si  il ya au moins une taille de dispo  
  22. if (($xs == '0' ) AND ($s == '0') AND ($m == '0' ) AND ($l == '0' ) AND ($xl == '0' ) AND ($xxl == '0' ) AND ($xxxl == '0' )) {
  23. //si pas de taille dispo on affiche rien
  24. }
  25. else {
  26. //sinon on affiche le menu deroulant
  27. ?>
  28.              Taille <select name="shirt" id="shirt">
  29.                 <option value="" selected>--</option>
  30.    
  31.    
  32.     <?php
  33. //SI $xs est different de  zero ALORS on affiche l'option XS
  34.     if($xs != '0' ) {
  35.     ?>
  36.     <option value="xs">XS</option>
  37. <?php
  38.                  }
  39.     ?>
  40.                       <?php
  41.     if($s != '0' ) {
  42.     ?>
  43.     <option value="s">S</option>
  44.     <?php
  45.                  }
  46.     ?>
  47.                       <?php
  48.     if($m != '0' ) {
  49.     ?>
  50.     <option value="m">M</option>
  51.     <?php
  52.                  }
  53.     ?>
  54.                       <?php
  55.     if($l != '0' ) {
  56.     ?>
  57.     <option value="l">L</option>
  58.     <?php
  59.                  }
  60.     ?>
  61.                
  62.                       <?php
  63.     if($xl != '0' ) {
  64.     ?>
  65.     <option value="xl">XL</option>
  66.     <?php
  67.                  }
  68.     ?>
  69.                
  70.                       <?php
  71.     if($xxl != '0' ) {
  72.     ?>
  73.     <option value="xxl">XXL</option>
  74.     <?php
  75.                  }
  76.     ?>
  77.                
  78.                       <?php
  79.     if($xxxl != '0' ) {
  80.     ?>
  81.     <option value="xxxl">XXXL</option>
  82.     <?php
  83.                  }
  84.      
  85. ?> 
  86.    </select>
  87.                
  88. <?php             
  89. } // fin else
  90. } FIN BOUCLE DU WHILE SQL


Message édité par skog le 10-11-2008 à 19:01:24
n°1810553
skog
Posté le 10-11-2008 à 19:03:32  profilanswer
 

EDIT: mon code marche now (s'était une erreur dans la requete sql mais j'aimerais toujours pouvoir simplifié mon code)

 

(j'avais pas appelé le tableau des tailles pareil que celui de img idprod titleprod et ref :)

 

Et pour répondre à ta question je pense pas que je puisse filtrer avec un where vu que chaque ligne contient tous les champs listés dans ma while:

 

                               

Code :
  1. $idprod=htmlspecialchars($tableau_prod["idprod"]);
  2.       $titleprod=htmlspecialchars($tableau_prod["titleprod"]);
  3.       $img=htmlspecialchars($tableau_prod["img"]);
  4.       $refprod=htmlspecialchars($tableau_prod["refprod"]);
  5.       $xs=htmlspecialchars($tableau_prod["xs"]);
  6.       $s=htmlspecialchars($tableau_prod["s"]);
  7.       $m=htmlspecialchars($tableau_prod["m"]);
  8.       $l=htmlspecialchars($tableau_prod["l"]);
  9.       $xl=htmlspecialchars($tableau_prod["xl"]);
  10.       $xxl=htmlspecialchars($tableau_prod["xxl"]);
  11.       $xxxl=htmlspecialchars($tableau_prod["xxxl"]);
  

à moins qu'il y ait une fonction sql pour trier les 0 des 1  tout en affichant quand meme la ligne pour le titre l'image du produit ect

 

La solution serait de choisir tous les champs qui ne sont pas égaux a 0 sur chaque ligne de ma table ! non ?

 

Mais comment faire une telle fonction ? on ne peux pas juste utiliser un where sinon il n'afficherait carement aps les lignes qui sont égales a 0 et donc ces produits ne seraient pas affichés , moi je veux juste pas afficher les tailles qui sont égales à 0


Message édité par skog le 10-11-2008 à 19:16:07
n°1810559
flo850
moi je
Posté le 10-11-2008 à 19:16:57  profilanswer
 

le problème vients de la structure de ta table  
 
que ce passe t il le jour ou tu veux vendre des produit taille enfant ? tu ajoutes une colonne ? c'est pas top  
 
tu aurai pu faire quelque chose comme ca :
 
une taille produit  ( idProduit, ref, libelle, image, ... )  
une table stock ( idProduit, taille , stock )  
 
et ta requete t'aurai permit de filtrer directement. Ca simplifie aussi les requetes ou tu devra compter faire des  totaux  


---------------

n°1810562
jazon14
Posté le 10-11-2008 à 19:25:11  profilanswer
 

un truc du genre :  
 

Code :
  1. $query2="SELECT * FROM `$stab` ";
  2. $result2=mysql_query($query2);
  3. If (mysql_num_rows($result2)==''):
  4. echo 'aucuns enregistrements';
  5. else:
  6. while ($tableau_prod=mysql_fetch_array($result2)) {
  7.        $idprod=htmlspecialchars($tableau_prod["idprod"]);
  8.        $titleprod=htmlspecialchars($tableau_prod["titleprod"]);
  9.        $img=htmlspecialchars($tableau_prod["img"]);
  10.        $refprod=htmlspecialchars($tableau_prod["refprod"]);
  11.        $xs=htmlspecialchars($tableau_prod["xs"]);
  12.        $s=htmlspecialchars($tableau_prod["s"]);
  13.        $m=htmlspecialchars($tableau_prod["m"]);
  14.        $l=htmlspecialchars($tableau_prod["l"]);
  15.        $xl=htmlspecialchars($tableau_prod["xl"]);
  16.        $xxl=htmlspecialchars($tableau_prod["xxl"]);
  17.         $xxxl=htmlspecialchars($tableau_prod["xxxl"]);
  18. [...]
  19. endif;


 
tu as essayé?ca marche?ca marche pas?


---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)
n°1810641
skog
Posté le 10-11-2008 à 20:36:12  profilanswer
 

Merci ca marche comme je veux ! :)
 
sinon autre chose pendant que j'y suis: dites moi pourquoi ceci ne marche pas :
 
 

Code :
  1. <img src="<?php ($_SERVER["DOCUMENT_ROOT"].'/photos/".$img ."') ?>" />


 
 
Ca ne viens pas de ma bdd vu qu'il m'affiche bien mon image si je met l'adresse de mon serveur:
     
       

Code :
  1. <img src="http://mon.serveur.com/photos/<?php echo($img);  ?>" />


 

n°1810654
flo850
moi je
Posté le 10-11-2008 à 21:00:29  profilanswer
 

tu as oubliéer un echo  
<img src="<?php echo ($_SERVER["DOCUMENT_ROOT"].'/photos/".$img ."') ?>" />


---------------

n°1810657
skog
Posté le 10-11-2008 à 21:06:21  profilanswer
 

haha merci jfais souvent des  ptites fautes que je captes jamais parce que je cherche des plus grosses xD
 
Merci à tous pour votre aide

n°1810658
jazon14
Posté le 10-11-2008 à 21:06:24  profilanswer
 

skog a écrit :

Merci ca marche comme je veux ! :)


de rien, si c'est résolu indique le =)


---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Selection Tailles (simplifié) SQL [RESOLU]

 

Sujets relatifs
[resolu] alignement cellule dans tableau HTML[C++][resolu]error: no matching function for call to...
[resolu] Lire un fichier textePb bouton-image avec php [résolu]
[résolu] aide sur une fonction[Résolu] FERMER CE TOPIC VITE !!!
matrice carré dynamique? (résolu)[résolu] Image ne s'affichant qu'après actualisation de la page
[SQL] Faire ressortir une liste de donnée en fonction d'un champ[Résolu][JDBC] Insertion image base de données Oracle 9i
Plus de sujets relatifs à : Selection Tailles (simplifié) SQL [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR