Titre image galerie dynamique

Eléphant du PHP | 184 Messages

21 déc. 2011, 11:04

Bonjour à vous,

J'ai essayé de faire une petite galerie dynamique avec galleryview.
Cela fonctionne bien pour les images, mais j'aimerai pouvoir afficher le titre à droite de l'image en fonction de celle où l'on se trouve.

J'ai fait cela mais le titre reste figé sur la dernière image.
<?php

require_once('admin/connexion/localhost.php');

$conn = mysql_connect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR);
 
mysql_query("SET CHARACTER SET 'utf8';")or die(mysql_error()); 
 
mysql_select_db($database_localhost, $conn);

$sql_categorie = "SELECT * FROM bibliographie_articles";
$requete_categorie = mysql_query($sql_categorie) or die( mysql_error());

$sql_image = "SELECT * FROM images_bibliographie ORDER BY titre_image"; 
$requete_image = mysql_query($sql_image) or die( mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<head>
    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript" src="js/jquery.js"></script>    

<script type="text/javascript" src="galleryview/js/jquery.timers-1.2.js"></script>
<script type="text/javascript" src="galleryview/js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="galleryview/js/jquery.galleryview-3.0-dev.js"></script>
<link type="text/css" rel="stylesheet" href="galleryview/css/jquery.galleryview-3.0-dev.css" />
<script>
	$(function(){
		$('#myGallery').galleryView({
			panel_width: 600,
			panel_height: 400,
			frame_width: 55,
			panel_scale: 'fit'
		});
	});
</script>


</head>

<body>

<div id="galerie" style="width:600px; position:relative; float:left; top:-30px; left:90px; font-family:'NewScript'; font-size: 14px; color:#999;">

<br />
<h1 id="titre" style="text-align:center; width:400px; margin-left:110px; font-size:14px;">Bibliographie</h1>

	<?php while ($result_image = mysql_fetch_array($requete_image)){
		$titre = $result_image['titre_image']; 
		$image = $result_image['url_image'];
		$image_mini = $result_image['url_image_mini'];?>
       
      
       <ul id="myGallery">
            <li><img frame="images/bibliographie/<?php echo $image;?>" src="images/bibliographie/<?php echo $image;?>" />
           
</li>

 <?php
}
?> 
</ul> 
</div>
<div id="text" style="font-size:12px; float:right;"><?php echo $titre;?></div>

</body>
</html>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 déc. 2011, 11:06

salut,

$titre est en dehors du while donc ce que tu indique est normal ;)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 184 Messages

21 déc. 2011, 11:17

Oui j'ai vu ça en passant :)

J'ai refait de cette manière là mais rien ne s'affiche:

<?php while ($result_image = mysql_fetch_array($requete_image)){
		$titre = $result_image['titre_image']; 
		$image = $result_image['url_image'];
		$image_mini = $result_image['url_image_mini'];?>
       
      
       <ul id="myGallery">
            <li><img frame="images/bibliographie/<?php echo $image;?>" src="images/bibliographie/<?php echo $image;?>" title="<?php echo $titre;?>" />

<div id="text" style="font-size:12px; float:left;"><?php echo $titre;?></div>
           
<?php
}
?> 
</li>
</ul>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 déc. 2011, 11:31

y a des retours sur la requête ? :mrgreen:
vérifie avec mysql_num_rows

y a quoi dans le source html du résultat ?

frame="images/bibliographie/<?php echo $image;?>" c'quoi ce truc

pourquoi utiliser <ul><li> ?
d'ailleurs tu ne le fait qu'une seul fois donc ça risque d'être le brin. il me semble que li est une balise "en ligne" ce qui fait que tune peux pas mettre de div de dans (div est un bloc).
même si tu met le </li></ul> dans le while je te dirais que ce n'est pas approprier vu que juste <ul><li></li></ul> c'est un peux inutile ;)


@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 2577 Messages

21 déc. 2011, 11:35

Bonjour,

Regardes dans le source html de la page générée. Il est possible qu'un " dans un titre gêne l'affichage de la page.

Eléphant du PHP | 184 Messages

21 déc. 2011, 11:40

J'ai ça qui s'affiche dans le code source:

A la dernière ligne

Code : Tout sélectionner

<ul id="myGallery"> <li><img frame="images/bibliographie/images/maca.jpg" src="images/bibliographie/images/maca.jpg" title="Maca" /> </li> Maca <ul id="myGallery"> <li><img frame="images/bibliographie/images/now-is-the-right-time-.jpg" src="images/bibliographie/images/now-is-the-right-time-.jpg" title="Now is the right time " /> </li> Now is the right time


Le titre est donc le bon en fonction de l'image, je ne comprend pas pourquoi il ne s'affiche pas :(

ViPHP
ViPHP | 2577 Messages

21 déc. 2011, 11:56

A part l'absence de <div id="text" style="font-size:12px; float:left;"> et </div> autour du titre, le html correspond bien à ce que devrait faire ton code php.

Creuse donc du coté du html pour voir pourquoi il n'y a pas un rendu correct.

Tu devrais mettre le titre à l'intérieur du "li" et utiliser "span" au lieu de "div", mais je suis loin d'être un expert du html propre. Le "ul" devrait être mis avant la boucle de lecture et après.

La coloration syntaxique du html pourrai te permettre de voir un problème.

Je vois les choses comme ca :
<ul id="myGallery">
<?php 
while ($result_image = mysql_fetch_array($requete_image)){
                $titre = $result_image['titre_image'];
                $image = $result_image['url_image'];
                $image_mini = $result_image['url_image_mini'];
?>
            <li>
               <img frame="images/bibliographie/<?php echo $image;?>" src="images/bibliographie/<?php echo $image;?>" title="<?php echo $titre;?>" />
               <span id="text" style="font-size:12px; float:left;"><?php echo $titre;?></span>
            </li>
<?php
}
?>
</ul>
Eventuellement utilise str_replace() pour remplacer " par \" dans $titre et $image

Eléphant du PHP | 184 Messages

21 déc. 2011, 12:07

Toujours rien :(

Cela ne peut pas venir de cette foutue galerie ?

Il n'y aurait pas une galerie "simple" à mettre en place pour faire ce dont j'ai besoin.

Je veux juste faire la même chose que ça mais avec le titre de l'image à droite de la grande, c'est tout.

http://spaceforaname.com/galleryview/demo-details.html

ViPHP
ViPHP | 2577 Messages

21 déc. 2011, 12:14

A ta place je mettrai mon code html complet ici : http://validator.w3.org/#validate_by_input

Tu pourras peut être voir ce qui ne marche pas dans ton html.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 déc. 2011, 10:01

Salut,

je suppose que tu a un peu regarder le source html du lien que tu propose au nom de tes classes html ? :)

a tu vu le galleryview/js/jquery.galleryview-3.0-dev.js en haut ?
le "carrousel" est fait grâce à ce composant de JSQuery, je pense qu'il faut voir de ce xoté pour comprendre comment faire mais globalement tout est dans le source indiqué :)

Après faut voir coté html a quoi sert l'attribut frame dans la balise img. Perso je sais pas et j'ai pas trop le temps de chercher la :/


@+
Il en faut peu pour être heureux ......