Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: ptinicola le le 24-03-2006 a 13:10:29

Titre: Boutons " image suivante" & "image précédente"
Posté par: ptinicola le le 24-03-2006 a 13:10:29

Bonjour,
j'ai un script php qui me permet, à partir d'une base MySql, d'afficher une image d'un dossier. Je voudrais pouvoir afficher l'image suivante ou précédente de ce même dossier.
Quelqu'un peut-il m'aider ?
Voici le script qui me sert à afficher l'image du dossier :


<?php
require_once("admin/config.php") ;
include('header.php');
?>
<div id="conteneur">
<div id="gauche">
<?php
include('menu.php');
?>
<?php
//connection au serveur:
$cnx = mysql_connect(SERVEUR, USER, PASS, DB) ;

//sÈlection de la base de donnÈes:
$db = mysql_select_db(DB) ;

//rÈcupÈration de la variable d'URL,
//qui va nous permettre de savoir quel projet afficher
$id = $_GET["idImg"] ;
//requÍte SQL:
$sql = "SELECT images.id_img,
images.nom_img,
images.infos,
images.id_doss
FROM images
WHERE id_img = ".$id ;

//exÈcution de la requÍte:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des donnÈes:

while( $result = mysql_fetch_object( $requete ) )
{
// respecte la mise en page du texte
$result->infos=nl2br($result->infos);
echo("<div id=\"texte\">".$result->infos."</div></div><div id=\"photo\"><img src=\"admin/images/".$result->nom_img."\"></div>\n") ;
}
?>
<div id="smenu"><ul>
<li><a href=javascript:history.back()>retour</a></li>
<li><a href=default.php>d&eacute;but</a></li>
</ul>
</div>
</div>
</body>
</html>


les liens "suivante" & "précédente" seront ajouté dans la liste du div "smenu"
Merci d'avance pour votre aide.

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: nayluge le le 03-04-2006 a 15:06:48

1- repérer la place de ton image dans la base de donnée : ce qui est interressant : 1ere place, dernière place ou autre

2- *si première place tu affiche uniquement un lien vers image suivante
*si dernière place tu affiche uniquement un lien vers image précédante
*sinon tu affiches les 2

pour tester si premier ou dernier :

$sql = "SELECT images.id_img,
FROM images
WHERE id_img < ".$id ;

$result=mysql_query($sql);
if(!$est_dernier=mysql_num_rows($result)){
// affiche que suivant
}

même méthode pour dernier avec un > dans la requête sql

si il est ni l'un ni l'autre il a un précédant et un suivant

après il te faut récupérer l'id de l'image suivante/précédante si tu as des "trous" dans ta base de donnée ou faire un lien vers directement avec tonlien.php?idImg=<? echo idImg+1 // ou -1 ; ?>

avec ça tu dois t'en sortir ( je garanti pas que ça fonctionne tel quel j'ai fais ça rapidement en mangeant ^^ )

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: ptinicola le le 21-04-2006 a 15:36:54

ok merci pour la solution. Juste une dernière question : comment faire pour récupérer id de l'image suivante? (j'ai des trous dans ma base)

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: petit_bab le le 21-04-2006 a 16:38:06

Moi je fais ca de la manière suivante :

$requeteImageSuivante ="SELECT MIN(idImage) FROM TA_TABLE WHERE idImage > ".$idImageCourante.

$requeteImagePrecedente ="SELECT MAX(idImage) FROM TA_TABLE WHERE idImage < ".$idImageCourante.

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: ptinicola le le 21-04-2006 a 17:26:36

avec ce code tu récupère l'image suivante ou la liste des images suivantes

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: petit_bab le le 21-04-2006 a 17:29:48

Seulement l'image suivante et la précédente. ;)

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: ptinicola le le 21-04-2006 a 17:51:41

J'ai essayé d'appliquer ta solution de la manière suivante. Je mets tout le code pourque tu te rende compte.

<?php
require_once("admin/config.php") ;
include('header.php');
?>
<div id="conteneur">
<div id="gauche">
<?php
include('menu.php');
?>
<?php
//connection au serveur:
$cnx = mysql_connect(SERVEUR, USER, PASS, DB) ;

//sÈlection de la base de donnÈes:
$db = mysql_select_db(DB) ;

//rÈcupÈration de la variable d'URL,
//qui va nous permettre de savoir quel projet afficher
$id = $_GET["idImg"] ;
//requÍte SQL:
$sql = "SELECT images.id_img,
images.nom_img,
images.infos,
images.id_doss
FROM images
    WHERE id_img = ".$id ;
   
//exÈcution de la requÍte:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des donnÈes:

while( $result = mysql_fetch_object( $requete ) )
{
// respecte la mise en page du texte
$result->infos=nl2br($result->infos);
echo("<div id=\"texte\">".$result->infos."</div></div><div id=\"photo\"><img src=\"admin/images/".$result->nom_img."\"></div>\n") ;
}
?>
<div id="smenu"><ul>
<li><a href=javascript:history.back()>retour</a></li>
<li><a href=default.php>d&eacute;but</a></li>
</ul>

<?php
$requeteImageSuivante = "SELECT MIN(images.id_img)
FROM images
WHERE images.id_img > ".$id ;

//exÈcution de la requÍte:
$requete = mysql_query( $requeteImageSuivante, $cnx ) ;

//affichage des donnÈes:

while( $result = mysql_fetch_object( $requete ) )
{
echo("<a href=\"affiche_img.php?IdImg=".$result->id_img."\">suivante</a>\n") ;
}
?>

</div>
</div>
</body>
</html>

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: ptinicola le le 21-04-2006 a 18:01:22

J'ai oublié de dire qu'avec ce code le lien affiche :
http://www.monsite.com/affiche_img.php?idImg=

il ne trouve pas l'id à afficher.

:(

Titre: Re:Boutons " image suivante" & "image précédente"
Posté par: ptinicola le le 21-04-2006 a 18:53:41

help me, j'ai essayé tout un tas de chose et rien ne marche !!!! ???


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.