1 Dernière modification par SamRay1024 (31/05/2006 13h24m30s)

Sujet : Comment recupérer ce qui a été jouté dans le panier ?

Bonjour à tous !

Voila mon problème :
j'aimerai recupérer ce qui a été jouté dans le panier, mais si jai bien compris d'après la page "panierdefichiers.class.php", les variables sont contenus dans un array qui s'appelle : $sCheminFichier   
et dont la variables qu'on ajoute serait : $sImg

-----> c un array numéroté ou associatif ? (numéroté je crois non?)

<?php
// On crée notre array $prenoms
$sCheminFichier = array ($sImg);

// Puis on fait une boucle pour tout afficher :
for ($numero = 0; $numero < $sImg; $numero++)
{
echo $sCheminFichier[$numero];
echo "<br />"; // pour aller à la ligne
}
?>

Je n'apercois rien ! quelqu'un pourrai m'aider ? Merci d'avance !

Re : Comment recupérer ce qui a été jouté dans le panier ?

Salut,

Je te sens perdu wink Reprenons calmement :

Le panier se trouve dans une variable tableau qui elle-même est stockée en session. Le panier est un tableau indexé. Pour accéder à une variable de session, il fe faut utiliser le tableau superglobal $_SESSION. Tu auras certainement noté dans la classe PanierDeFichier que j'ai défini une constante NOM_PANIER_SESSION qui vaut 'JB_PANIER_FICHIERS'. Cette chaîne représente le nom du tableau (soit du panier) en session.

Donc pour récupérer le contenu du panier, il te suffit de lire la variable de session :

$aPanier = isset($_SESSION[NOM_PANIER_SESSION]) ? $_SESSION[NOM_PANIER_SESSION] : array();

// Equivalent à :

$aPanier = isset($_SESSION['JB_PANIER_FICHIERS']) ? $_SESSION['JB_PANIER_FICHIERS'] : array();

(Je te conseille d'utiliser la première ligne - avec la constante du nom du panier - comme cela tu dépends de la constante et tu n'auras rien à changer si tu souhaites changer le nom de ton panier).

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

3 Dernière modification par SamRay1024 (01/06/2006 08h29m32s)

Re : Comment recupérer ce qui a été jouté dans le panier ?

Hey! Merci beaucoup Samray !

Nickel j'arrive à récuperer les infos, il s'agit du chemin qui permet d'acceder à la photo!

mais ça me met les resultat l'un en dessous de l'autre !
serait-il possible de mettre les resultats dans un tableau ? 1 resultat = 1 ligne :

<table bgcolor=#EEEEFF width=100%>
   <tr>
      <td colspan=4>
         <b>Votre panier</b>
         <A href="?vide=ok">Vider</A>
      </td>
   </tr>
   <tr bgcolor=#CCCCDD>
      <th>Photo</th><th>Rèf</th>
      <th>Quantité</th><th>Prix</th>
      <th>Supprimer</th><th>Total</th>
   </tr>
        
<?php
// Tableau ou sont stockés les ajouts au panier
$aPanier = isset($_SESSION[NOM_PANIER_SESSION]) ? $_SESSION[NOM_PANIER_SESSION] : array();

$nb = count($aPanier); //compte le nombre d'entrées dans le panier
echo 'nombre de photos : '.$nb;
echo "<br />"; // pour aller à la ligne
$i=0;
//boucle d'affichage
while($i<$nb)
{
    //echo $aPanier[$numero]; // affichera $aPanier[0]...
    //echo "<br />"; // pour aller à la ligne
        echo"<tr bgcolor='red'>";
        echo"<td>";
        echo $aPanier[$numero];
        echo"<td>";
        echo $data->client_login;
        echo"<td>";
        echo $data->client_pass;
        echo"<td>";
        echo $data->client_nom;
        echo"<td>";
        echo $data->client_prenom;
        echo"<td>";
        echo $data->galeries_id;
        echo"</tr>";
$i=$i+1;
}
echo"</table>";
?>
  </table>

Edit : pense à utiliser la balise [ code ]. Merci.

Mais rien ne se passe ?

Re : Comment recupérer ce qui a été jouté dans le panier ?

Salut,

Essaye d'utiliser ta variable de boucle et je pense que ça fonctionnera nettement mieux wink. Tu mets $i à la place de $numero :

//boucle d'affichage
while($i<$nb)
{
        echo"<tr bgcolor='red'>";
        echo"<td>";
        echo $aPanier[$i];
        echo"<td>";
        echo $data->client_login;
        echo"<td>";
        echo $data->client_pass;
        echo"<td>";
        echo $data->client_nom;
        echo"<td>";
        echo $data->client_prenom;
        echo"<td>";
        echo $data->galeries_id;
        echo"</tr>";
$i=$i+1;
}
-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

5

Re : Comment recupérer ce qui a été jouté dans le panier ?

Salut Samray !

ce que tu ma dis de faire est nickel ! ça marche ! Merci beaucoup !

En ce qui concerne ce qui est dans le panier, c'est le chemin de la photos en taille réelle.

Mais serait-il possible de mettre dans le panier :
-Le chemin de la miniature ? (pour afficher la miniature dans la visualisation du panier)
-Juste le nom de la photo ?

Parce ce que ça m'a l'air très délicat a faire ça !
Merci d'avance !

j'ai vu que tous les infos concernant les miniatures se trouvait dans l'array $aMiniatures[$j] de la page explore.php mais bon mis a part ça ... c'est le trou noir.

Est ce qu'il faut changer le tableau :
$aPanier = isset($_SESSION[NOM_PANIER_SESSION]) ? $_SESSION[NOM_PANIER_SESSION] : array();

6

Re : Comment recupérer ce qui a été jouté dans le panier ?

Re bonjour !

C'est bon j'ai trouver pour pouvoir avoir la photo et son nom !  xD

Problèmes résolu !

Re : Comment recupérer ce qui a été jouté dans le panier ?

Salut !

Voilà qui fait plaisir à lire !

Pourrais-tu communiquer tes solutions ? D'autres que toi souhaiteront peut être faire la même chose. En partageant tes solutions, tu leurs éviteras alors de devoir prendre le temps de poster pour poser à nouveau les mêmes questions. Merci à toi smile

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

8

Re : Comment recupérer ce qui a été jouté dans le panier ?

Salut Samray !

Ouai pas de souci ! Je ferais ça maintenant !

donc d'abord pour récuperer le contenu dans un tableau :

<table bgcolor=#EEEEFF width=100%>
        <tr bgcolor=#CCCCDD>
          <th width="14%"><div align="center">Photo</div></th>
          <th width="30%"><div align="center">Rèf</div></th>
          <th width="13%"><div align="center">Quantité</div></th>
          <th width="13%"><div align="center">Prix</div></th>
          <th width="15%"><div align="center">Supprimer</div></th>
          <th width="15%"><div align="center">Total</div></th>
<?

          function redimage($img_src,$dst_w,$dst_h) //cette fonction fait des miniatures
            {
           // Lit les dimensions de l'image
           $size = GetImageSize($img_src); 
           $src_w = $size[0]; $src_h = $size[1];
           // Teste les dimensions tenant dans la zone
           $test_h = round(($dst_w / $src_w) * $src_h);
           $test_w = round(($dst_h / $src_h) * $src_w);
           // Si Height final non précisé (0)
           if(!$dst_h) $dst_h = $test_h;
           // Sinon si Width final non précisé (0)
           elseif(!$dst_w) $dst_w = $test_w;
           // Sinon teste quel redimensionnement tient dans la zone
           elseif($test_h>$dst_h) $dst_w = $test_w;
           else $dst_h = $test_h;
           // Affiche les dimensions optimales
           echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
            }

// Tableau ou sont stockés les ajouts au panier
$aPanier = isset($_SESSION[NOM_PANIER_SESSION]) ? $_SESSION[NOM_PANIER_SESSION] : array();

$nb = count($aPanier); //compte le nombre d'entrées dans le panier
echo 'nombre de photos : '.$nb;
echo "<br />"; // pour aller à la ligne
//boucle d'affichage
while($i<$nb)
{
echo"<tr bgcolor='gray'>";
echo"<td>";
?>
<img src="<? echo $aPanier[$i]; ?>" <? redimage($aPanier[$i],100,100) ?>> //utilisation d'une
//fonction "redimage" qui fait des miniatures, remplacer $aPanier[$i] par votre variable et les deux
//autres chiffres qui sont les tailles max des miniature en hauteur et largeur ! c'est la ou s'affiche la miniature !
        echo"</td>";
        echo"<td>";
          $path = $aPanier[$i];
          $name_file = basename ($path);//pour n'afficher que le nom de fichier
        echo $name_file;//affiche les nom de fichier
        echo"</td>";
        echo"<td>";
        echo "Mettre ce que vous voulez";
        echo"</td>";
        echo"<td>";
        echo "Mettre ce que vous voulez";
        echo"</td>";
        echo"<td>";
        echo "Mettre ce que vous voulez";
        echo"</td>";
        echo"<td>";
        echo "Mettre ce que vous voulez";
        echo"</td>";
        echo"</tr>";
$i=$i+1;
}
echo"</table>";
?>
      </table>

Voila c'est ma première contribution à Albulle, j'espère que ça pourra aider quelqu'un ! Mais je reste toujours un âne en php xD ! Mais sinon Samray ou en est tu pour la version 9 de Albulle ?