Catalogue

gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009 - 11 déc. 2007 à 00:32
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 - 15 déc. 2007 à 18:52
salut à tous,
 je ve realiser un catalogue ou je recupere les images et les references des produit depuis la base de données, je suis parvenu à afficher toutes les variables dans un tableau , mais,
mon problème c ke je ve faire de sorte chaque ligne de ce tableau ne comprend k 3 cellules
(donc trois produit )et pour chaque page je met une limite d'affichage pour que je respecte la mise en page.
s'il vous plait quelqu'un peut m'aider à regler ceci ?
merci d'avance.
voila mon code :

   ----

   
   <?
 
   $designation=$_GET['designation_categorie'];
   
$requete3 =\" SELECT id_categorie FROM categorie where designation_categorie=
'$designation' \" ;
   $res=mysql_query($requete3) or die (\"erreur req1 \".mysql_error());
    while ($recup3=mysql_fetch_row($res))
    {
    $id_categorie=$recup3['0'];
   
   
    }
 
   
 $requete1 =\"select p.id_pdt, c.id_categorie,  p.photo_pdt, p.reference_pdt,  p.designation_pdt  , c.designation_categorie  from produit p, categorie c
   where p.id_categorie=c.id_categorie
   and c.id_categorie='\".$id_categorie.\"' ;\";
   $resultat=mysql_query($requete1) or die(\"erreur req2\".mysql_error());
   while ($recup=mysql_fetch_row($resultat))
   {
  
  
   $id_pdt=$recup[0];
   $id_categorie=$recup[1];
   $designation_pdt=$recup[4];
   $photo_pdt=$recup[2];
   $photo_pdt=addslashes($photo_pdt);
   $reference_pdt=$recup[3];
  
  
  
   ?>
       <TABLE border="1" align="center" class="tableau">
    ----

     
     , <? echo $designation_pdt ; ?></td>
    
     ----

      " />,
     
     ----

      <? echo $reference_pdt ; ?>,
   
  
  

  
   </td>
  
   <?php
  
   }  
   ?>
    
  </tr>
  </table>

22 réponses

cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
11 déc. 2007 à 03:47
pour ne recuperer que un certain nombre d'enregistrement dans ta base tu peux faire une requete comme ceci :
select * from ta_table where blabla LIMIT 0,6
la ca te recupere les 6 premiers enregistrements pour recuperer les 6 suivant tu fera LIMIT 6,12

j'espere t'avoir aider


Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
11 déc. 2007 à 14:31
salut,
merci pour ton aide,
mais j'ai toujours un probleme, lorsque j'execute la requete ça m'affiche le resultat de façon que chaque enregistrement correspond à une ligne, mais moi je veux k chaque enregistrement soit affiché dans une cellule de tableau, et chaque ligne de ce tableau contient 3 cellue , comme à peu pré le resultat qui s'affiche sur ce lien http://www.webdistrib.com/cat/informatique-__c_9.html
j'espere etre un peu plus clair.
encore merci pour ton aide
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
11 déc. 2007 à 17:59
essaye de faire ton 2eme while de cette facon :
$nb = 0;
while ($recup=mysql_fetch_row($resultat)){
if ($nb==3){
      $nb=0;
      echo "</tr><tr>";
  }else{
ton tableau pour remplir les colonnes
}
et juste un conseil essaye de toujours utiliser les balises <?php ?> et non <? ?>
voila j'espere t'avoir aider


Personne ne peut se permettre de juger l'autre....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
11 déc. 2007 à 18:00
esxuse moi dans le else j'ai oublié :
$nb = $nb + 1;


Personne ne peut se permettre de juger l'autre....
0

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

Posez votre question
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
11 déc. 2007 à 18:13
merci beacoup , pour ton aide, ça marche très bien ,
maintenant je n'ai qu'a casser ma tete un peu pour y mettre un script de pagination
merci encore
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
11 déc. 2007 à 18:15
de rien n'hesite pas si tu a besoin d'aide...
bonne continuation


Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
11 déc. 2007 à 23:11
s'il te plait, est ce que t pe m'aider sur ceci,
je veu faire la pagination de mon catalogue mais  quand je clique sur le lien ppour la page suivante j'ai toujours des erreurs de reconnaissance de variables(undefinded variable (designation_categorie, id_categorie, t)!!
merci et desolé pour le derangement  :)

voila le code
   <?php

   $designation= $_GET['designation_categorie'];

     
$requete3 =" SELECT id_categorie FROM categorie where designation_categorie=
'$designation' " ;
   $res=mysql_query($requete3) or die ("erreur req1 ".mysql_error());
    while ($recup3=mysql_fetch_row($res))
    {
    $id_categorie=$recup3['0'];
$debut=$_GET['debut'];
 $designation_categorie=$_GET['designation_categorie'];

$maxenreg = "10";
   
$maquery = "SELECT * FROM produit order by id_pdt"; //selection de tous les pdts

$query1 = "$maquery"; 
$result = mysql_query($query1) or die("erreur selection".mysql_error());
$monnbr = mysql_num_rows($result);
   
if ($debut)
{
$nbr = $debut + $maxenreg - 1;
$mondebut=$debut - 1;
$query2 = "$maquery LIMIT $mondebut,$nbr";
$result2 = mysql_query($query2);
}   
   
else
{
$nbr=$maxenreg;
$query2 = "$maquery LIMIT 0,$nbr";
$result2 = mysql_query($query2);
}
   
 $requete1 ="select p.id_pdt, c.id_categorie,  p.photo_pdt, p.reference_pdt,  p.designation_pdt  , c.designation_categorie  from produit p, categorie c
   where p.id_categorie=c.id_categorie
   and c.id_categorie='".$id_categorie."'
  ;";
   $resultat=mysql_query($requete1) or die("erreur req2" .mysql_error());
   while ($recup=mysql_fetch_array($resultat))
   {
  
  
  $id_pdt=$recup[0];
   $id_categorie=$recup[1];
   $designation_pdt=$recup[4];
   $photo_pdt=$recup[2];
   $photo_pdt=addslashes($photo_pdt);
   $reference_pdt=$recup[3];
  
   $t[] = $recup;
   }
   ?>
  
  
        <?php
     $n = 3; // nb de colonne
     for($i = 0; $i <= (count($t) - 1); $i ++) {
     if ($i % $n == 0) {
     ?>----

     <?php
     }
     ?>
        <?php
     echo '
';
     echo $t[$i]['designation_pdt'].'
';
     echo $t[$i]['reference_pdt'].'
';
     // etc.....
     ?>,
     <?php
     if ($i % $n == (2)) {
     ?>
     <?php
     }
     }

     ?>
    

   
     
 
  
 
 <?
 
$nbrpage1 = number_format($monnbr / $maxenreg);
$nbrpage = $nbrpage1 + 1;
echo ("<< :");

for ( $i = 1; $i <= $nbrpage; $i++ )
{
$debut = ((($i - 1) * 10) + 1);
echo (": $i :");
}
$mondebut = ((($nbrpage - 1) * 10) + 1);
echo (": >> ");
?>

<?

 

mysql_close();
?>
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
12 déc. 2007 à 00:27
est ce que c'est normal que dans tes liens tu n'a pas la variable $_GET['designation_categorie']
et dans ton dernier lien tu ferme 2 fois la balise

Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
12 déc. 2007 à 13:04
oh, oui c vraiment une grosse betise ke j'ai fais
merci,
alors dans le lien je met

c ça?
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
12 déc. 2007 à 17:20
oui a mon avis tu n'auras plus d'erreurs a prpos des variables et si il y a d'autres erreur n'hesite pas...


Personne ne peut se permettre de juger l'autre....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
12 déc. 2007 à 21:06
oui normalement tu n'auras plus d'erreur sur tes variables n'hesite pas si tu a d'autres erreurs


Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
12 déc. 2007 à 23:03
j'ai essayé mais ça ne marche pas !!
au 1er chargement de la page ça m'affiche tout d'abord des variables indefinies,
si je  selectionne la catégorie, ça me donne les 6 1er enregistrements, là c bon.
mais si je clique sur le lien pour la page suivante, ça me donne le 1er résultat, et si je fais précédant alors là il ne reconnais pas les variables !!!
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
13 déc. 2007 à 09:29
Pour creer tes liens pourquoi ne fais tu pas :
if ($debut==0){
echo ("<< :");
}
for ( $i = 0; $i <= $nbr; $i++ ) //$nbr au nombre d'article dans la categorie
{
if (($i*10)!=$debut){
echo (": ($i+1) :");
}else{
echo ($i+1);
}
}
if (($debut+10)<$nbr){
echo (": >> ");
}
je vien d'ecrire ce code vite fait moi c'est ce que j'ai fais pour une gallerie photo et n'afficher que 3 photos par page et ca fonctionne..
si tu as des erreurs ecris les moi stp
j'espere t'avoir aidé


Personne ne peut se permettre de juger l'autre....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
13 déc. 2007 à 09:31
pardon le premier $nbr correspond aux nombre de page que tu as besoin et le deuxieme $nbr correspond au nombre total d'article dans la categorie donc il faut changer le nom d'une des deux variables


Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
13 déc. 2007 à 23:14
salut,
j'ai essayé alors ça me donne le meme resultat de la requete sur tous les pages !!
alors j'ai changé de code , mais là j'ai au premier chargement :
Notice: Undefined index: where in d:\program files\easyphp1-7\www\ugurteks1\site3\front_office\categories.php on line 129

8


Notice: Undefined variable: t in d:\program files\easyphp1-7\www\ugurteks1\site3\front_office\categories.php on line 175

1 |
2 | >>
voilà le code de toute la page :

 <form action="<?  $_SERVER['PHP_SELF'] ; ?>" method="get" >
   
       <?php
            $requete = mysql_query("SELECT id_categorie, designation_categorie FROM categorie  ;");
            ?>

            <select name="designation_categorie" id="designation_categorie" onChange="changeNum(this.value)">
             <option value="-1" selected>--Choisissez --</option>
            <?php
                while($recup2 = mysql_fetch_array($requete)) {
            ?>
               <option value="<?php echo $recup2['designation_categorie']; ?>" ><?php echo $recup2['designation_categorie']; ?>       
           
           
                </option>
            <?php
            }
            ?>
            </select>
     </form>
     </center>
  
  
  
  
  
  
  
  
  

</td>
   <td rowspan="2">&nbsp;</td>
   <td rowspan="2" colspan="2" valign="top">
  
 
 
  
   <?php
$designation=$_GET['designation_categorie'];
$where = $_GET['where'];
$pag=4;

$requete3 =" SELECT id_categorie FROM categorie where designation_categorie=
'$designation' " ;
   $res=mysql_query($requete3) or die ("erreur req1 ".mysql_error());
    while ($recup3=mysql_fetch_row($res))
    {
    $id_categorie=$recup3['0'];
   
   
    }
   
   
$select = "SELECT count(id_pdt) FROM produit where id_categorie='".$id_categorie."'  "; //selection de tous les pdts
$resultatsel=mysql_query($select) or die("erreur req3" .mysql_error());
 $nbrpdt=mysql_fetch_row($resultatsel);
     $nbr=$nbrpdt[0];
     echo $nbr ;

 $moy=$nbr/$pag;
 $sit=ceil($moy);   
   
   
$min=($where-1)*$pag;
$requete1 ="select p.id_pdt, c.id_categorie,  p.photo_pdt, p.reference_pdt,  p.designation_pdt  , c.designation_categorie  from produit p, categorie c
   where p.id_categorie=c.id_categorie
   and c.designation_categorie='$designation'
   and c.id_categorie='".$id_categorie."'
   LIMIT $min , $pag
  ;";
   $resultat=mysql_query($requete1) or die("erreur req2" .mysql_error());
   while ($recup=mysql_fetch_array($resultat))
   {
  
  
 
  
   $t[] = $recup;
   }
   ?>
  
  
        <?php
     $n = 3; // nb de colonne
     for($i = 0; $i <= (count($t) - 1); $i ++) {
     if ($i % $n == 0) {
     ?>----

     <?php
     }
     ?>
        <?php
     echo '
';
     echo $t[$i]['designation_pdt'].'
';
     echo $t[$i]['reference_pdt'].'
';
     // etc.....
     ?>,
     <?php
     if ($i % $n == (2)) {
     ?>
     <?php
     }
     }

     ?>
    

<?php   

 if (!($where))
     {
     $where=1;
     }
   
     $start=1;
    if ($where>=2)
     {
   
     $pre=$where-1;
     echo"
     << |
     ";
   
     }
   
     while ($start<$where)
     {
   
     echo"";
     echo $start++;
     echo" | ";
   
     }
   
     echo"
     $where |
     ";
   
     $nwhere=$where+1;
   
     while ($nwhere<=$sit)
     {
   
     echo"";
     echo $nwhere++;
     echo" | ";
   
     }
   
     if ($where<$sit)
     {
   
     $sui=$where+1;
   
     echo">>";
   
     }
   
   

mysql_close();
?>
merci pour ton aide
 
 
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
14 déc. 2007 à 03:27
est ce que lors du premier chargement ta variable where et definit dans ton url?


Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
14 déc. 2007 à 14:16
salut,
au premier chargement j'ai
if (!($where))
     {
     $where=1;
     }
et en haut j'ai $where=$_GET['where']
est ce que ce n'est pas suffisant?
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
14 déc. 2007 à 14:39
en fait je croi que ton if(!$where) et trop tard dans ta page car tu utilise la variable $where au dessus donc si elle n'est pas dans l'url ton $_get['where'] ne recupere rien donc ta requete ou tu l'utilise ne peux pas se faire


Personne ne peut se permettre de juger l'autre....
0
gaston_gb Messages postés 20 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 14 octobre 2009
14 déc. 2007 à 21:32
je l'ai mis au dessus de $_GET mais c la mem chose
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
15 déc. 2007 à 03:02
dsl de ne pas t'avoir aidé mais je continue a chercher le probleme par contre si les données dans ta BDD que tu utilisent ne sont pas confidentiel est ce que ca te derangerais de m'envoyer sur le forum ou en message privé quelques enregistrement des table que tu utilise pour que je fasse des tests en local chez moi si tu ne ve pas je comprends


Personne ne peut se permettre de juger l'autre....
0
Rejoignez-nous