PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 27-08-2009 14:28:33

maria
Membre
Inscription : 23-08-2009
Messages : 9

afficher une image d'un dossier - puis l'image suivante ou précedente

bonjour,

j'ai un problème de calcul - ou de logique - je ne sais pas ..

alors, j'ai une galerie de photos  (photo de voyages)
- toutes les photos sont stockées dans une base de donnée (car il y a  des description pour chaque photo)
- mon client peut ajouter ou effacer des photos lui-meme - toutes les photos d'un voyage (p.ex : "France") sont stockées dan un dossier avec le nom du voyage (le script cree lui-meme le dossier si mon client ajoute un nouveau voyage)

dans mon site :
- on clique sur le voyage : des vignettes s'affichent
- on clique sur une photo : la photo s'affiche en grand, avec la description
sous la grande photo j'ai afficher les autres photos de ce meme voyage en plus petite (et alor on peut cliquer sur la mini-vignette et cette photo-là va s'afficher)

mais maintenant mon client vuex que s'affiche quelque chose comme ça :

<précedente  5/15  suivante> 


j'ai réussit d'afficher les chiffre au lieu de vignette
mais d´jà je n'arrive pas afficher que le chiffre de l'image qui est affichée en grande

je pensais que je travailler avec des code d'array : next($array) ou prev($array)
(au moins j'ai réussit de faire un lien qui va afficher la dernière image avec end($array)

mais je ne comprends pas du tout comment ça marche ....
quelqu'un peux m'aider ???


voici mon code qui affiche : la grande photo avec la description puis en dessous :
- les mini-vignettes
- les chiffres
- "end" (liens qui va afficher la dernière image)

tout fonctionne ! mais ce n'est pas ce que je veux afficher ..... sad
merci !!

<?php
$sql2 = "SELECT * FROM t_photo where photo='$photoreq' and trip ='$trip'";
$sql4 = "SELECT photo FROM t_photo where trip ='$trip' order by photo";
$req3 = mysql_query($sql3) or die("Error SQL 3!");
$req4 = mysql_query($sql4) or die("Error SQL 4!");
?>
------------------------------------------------------------------------------------------------
//IMAGE GRANDE AVEC DESCRIPTION
<?php while($data2 = mysql_fetch_array($req2)) { ?>
<a href='javascript:history.go(-1);'>
    <img src="../images/photos/<?php echo $data2['trip'] ?>/<?php echo $data2['photo']; ?>" alt="photo 1" border="0"/>
</a>
    <?php $trip= str_replace("_"," ",$data2["trip"]);?>
    <div class="subtitle"><span class="bold"><?php echo $trip; ?> – <?php echo $data2["bold"]; ?></span><br/>
    <span class="descript"><?php echo $data2["descript"]; ?></span>
<br/><br/>
   
<?php
//AFFICHER LE MINI-VIGNETTE DU DOSSIER IMAGES / VIG_PHOTO
$dossier = opendir ('../images/vig_photo/'.$data2["trip"]);
  while ($fichier = readdir ($dossier))
  {
    if ($fichier != "." && $fichier != "..")
    {
    $tailleimg=getimagesize('../images/vig_photo/'.$data2["trip"].'/'.$fichier);?>
    <a href="photo3.php?photo=<?php echo $fichier;?>&trip=<?php echo $data2["trip"]; ?>">        
        <img src="../images/vig_photo/<?php echo $data2["trip"]; ?>/<?php echo $fichier; ?>"
    alt=<?php echo $fichier; ?> border="0" height="30"/>
        </a>
<?php }
  }
  }
  ?>
<br /><br />

<?php
//AFFICHER DES CHIFFRES ATTRIBUÉS À DES PHOTOS
    $i=1;
    while ($data4 = mysql_fetch_array($req4))
      {
    $link= str_replace(" ","_",$trip);
                $num = array("$i" => "$data4[photo]");
    $i++;
                foreach ($num as $key => $val)
      {?>
      <a href="photo3.php?photo=<?php echo $val;?>&trip=<?php echo $link;?>">
      <?php echo $key ;?></a>
      <?php }
        }
?>[/color]
<br />

<?php
           end($num);
                 while ( !is_null($key = key($num)) )
{
               $val = current($num);?>
         <a href="photo3.php?photo=<?php echo $val;?>&trip=<?php echo $link;?>">end</a>
<?php      prev($num);
}                                                  
?>

Hors ligne

#2 27-08-2009 15:22:35

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : afficher une image d'un dossier - puis l'image suivante ou précedente

Saluton,
Ce qui est tordant c'est que tu commences par définir deux variables


$sql2 = "SELECT * FROM t_photo WHERE photo='$photoreq' AND trip ='$trip'";
$sql4 = "SELECT photo FROM t_photo WHERE trip ='$trip' ORDER BY photo";
$req3 = mysql_query($sql3) or die("Error SQL 3!");
$req4 = mysql_query($sql4) or die("Error SQL 4!");

et que tu en utilises une autre, $sql3, pour soumettre la première requête.
Quant à SELECT *, voilà ce qu'on en pense un peu partout


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 27-08-2009 15:37:57

maria
Membre
Inscription : 23-08-2009
Messages : 9

Re : afficher une image d'un dossier - puis l'image suivante ou précedente

ah désolé mais là, je me suis trompé et j'ai copié la mauvaise ligne !
ca doit être :

$req2 = mysql_query($sql2) or die("Error SQL 2!");
$req4 = mysql_query($sql4) or die("Error SQL 4!");

et aussi je n'ai pas copié
$photoreq = $_GET['photo'];
$trip = $_GET['trip'];

la première requète c'est pour afficher la grande photo (la variable $photoreq je recupère de la page avant)

les requètes ne sont pas le problème ....

Hors ligne

#4 31-08-2009 10:31:01

katunda jossard
Membre
Inscription : 21-08-2009
Messages : 1

Re : afficher une image d'un dossier - puis l'image suivante ou précedente

salut c jossard depui Kinshasa ce juste te demandé je peux trouver chez les codes du php sans SGBD

Hors ligne

Pied de page des forums