Help php et javascript (FANCYBOX)

Fermé
MIDO-MIDO Messages postés 24 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 15 octobre 2014 - Modifié par MIDO-MIDO le 7/04/2011 à 22:26
MIDO-MIDO Messages postés 24 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 15 octobre 2014 - 7 avril 2011 à 22:27
cc, j'ai ce script qui me permet de visualiser les images que j'ai sur wampserver, comme vous pouvez voir sur l'image quand je voudrais agrandir l'image j'ai que le nom avec l'image alors que je voudrais ajouter la date qui lui correspond car dans ma table j'ai le nom, date, emplacement ... merci
image:http://imagik.fr/uploads/397111
code:
$("#afftout").click(function () { 
    $('title').html('Affichage de toutes les photos'); 
    $("#apDiv5 div").hide(); 
    $("#affou").show(); 

    $.ajax({ 
        url: "php/afftt.php", 
        success: function (res) { 

            $("#afftou").html(res); 
            $("a[rel=afftoutgroup]").fancybox({ 
                'transitionIn': 'none', 
                'transitionOut': 'none', 
                'titlePosition': 'over', 
                'titleFormat': function (title, currentArray, currentIndex, currentOpts) { 
                    return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? '   ' + title : '') + '</span>'; 
                } 

            }); 
        } 

    }); 
    $("#afftou").show(); 
}); 


page php:
<?php  
require('connect.php'); 
$query="select * from images "; 
$result=mysql_query($query)or die(mysql_error()); 


while($image=mysql_fetch_assoc($result)){ 
 $folder=$image['folder']; 
 $nom=$image['nom']; 
 $titre=$image['titre']; 
 echo "<a rel='afftoutgroup' href='categories/$folder/$nom' title='$titre'><img src='categories/$folder/$nom' title='$titre' width='75' height='75'/></a>"; 
 } 
?> 


A voir également:

4 réponses

wyllyjon Messages postés 30 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 8 avril 2011 6
Modifié par wyllyjon le 7/04/2011 à 09:12
Salut !

Ce que tu demande n'est pas prévu par fancybox. Il te faut donc te débrouiller pour passer ta date de ton php à ton code html et ensuite le récupérer dans la fonction titleFormat pour pouvoir l'afficher.

Le truc le plus rapide à faire que je vois, c'est, dans ton code php, lorsque tu créé le lien echo "<a rel='afftoutgroup' href='categories/$folder/$nom' title='$titre'><img src='categories/$folder/$nom' title='$titre' width='75' height='75'/></a>";
tu peux créer également un input hidden du genre :

echo "<input type='hidden' id='hidden_".$image['titre']." value='".$image['date']."'/>";

que tu récupérera ensuite dans ta méthode comme suit :

'titleFormat': function (title, currentArray, currentIndex, currentOpts) {
var date = document.getElementById("hidden_" + title).value;
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + ' ' + date +'</span>';
}

et ainsi, tu devrais avoir ta date qui est récupérée (avec peut-être quelques petites erreurs vu que je n'ai pas testé, mais ça devrait être pas trop mal :-P)

Attention ! Il faut absolument que tu n'ais jamais deux fois le même titre, sinon ça ne fonctionne plus (car on aurait deux input avec le même Id, ce qui n'est vraiment pas bon).

Il y a une solution moins moche qu'il te faudrait tester :
voir si dans ta fonction "titleFormat" tu peux récupérer le lien sur lequel tu as cliqué (avec 'this'), ce qui est possible, mais pas sûr étant donné que je ne sais pas comment est appelé cette fonction dans le code de fancybox.
Si jamais tu peux le récupérer, rajoute-lui juste un attribut contenant ta date, et dans la fonction tu récupère cet attribut et tu l'ajoute dans le "return" pour qu'il soit affiché comme ça a été fait au dessus dans mon code.

C'est un peu brouillon tout ça, mais j'espère que ça pourra t'être utile !


Expert technologies web et java.
0
MIDO-MIDO Messages postés 24 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 15 octobre 2014
Modifié par MIDO-MIDO le 7/04/2011 à 10:10
bonjour wily merci pour vos conseils j'ai fais ceci mais ca na rien donner , l'image ne s'agrandit plus

javascript:
$("#afftout").click(function () { 
    $('title').html('Affichage de toutes les photos'); 
    $("#apDiv5 div").hide(); 
    $("#affou").show(); 

    $.ajax({ 
        url: "php/afftt.php", 
        success: function (res) { 

            $("#afftou").html(res); 
            $("a[rel=afftoutgroup]").fancybox({ 
                'transitionIn': 'none', 
                'transitionOut': 'none', 
                'titlePosition': 'over', 
                'titleFormat': function (title, currentArray, currentIndex, currentOpts) { 
                    var date = document.getElementById("hidden_" + title).value; 
                    return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + ' ' + date + '</span>'; 
                } 


            }); 
        } 

    });


page php:
<?php    
require('connect.php');   
$query="select * from images ";   
$result=mysql_query($query)or die(mysql_error());   


while($image=mysql_fetch_assoc($result)){   
 $folder=$image['folder'];   
 $nom=$image['nom'];   
 $titre=$image['titre'];   
 $date=$image['date'];   
 echo "<a rel='afftoutgroup' href='categories/$folder/$nom' title='$titre'><img src='categories/$folder/$nom' title='$titre' width='75' height='75'/></a>";   
 echo "<input type='hidden' id='hidden_".$image['titre']." value='".$image['date']."'/>";    
 }   
?>
0
wyllyjon Messages postés 30 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 8 avril 2011 6
7 avril 2011 à 10:17
Peux-tu me donner le code html généré par le php stp ?

Merci
0
MIDO-MIDO Messages postés 24 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 15 octobre 2014
7 avril 2011 à 10:26
je ne vous est pas trop compris vous voulez le code html de la page:
<div id="apDiv5">
  <div id="apDiv1">
    <form name="f1" action="upload.php" method="post" enctype="multipart/form-data" target="resultat">
      <fieldset id="container">
      <legend>Image</legend>
      <label for="file">Fichier</label>
      <input type="file" name="file" size="50" />
      <label for="titre">Titre : </label>
      <input type="text" name="titre" size="30" id="titre" />
      <label for="sous-titre">Sous-titre : </label>
      <input type="text" name="soustitre" size="30" id="sous-titre" />
      <label for="lieu">Lieu : </label>
      <input type="text" name="lieu" size="30" />
      <label for="description">Description : </label>
      <textarea name="description" cols="20" rows="4" id="description">Décrire votre image</textarea>
      <label for="date">Date :</label><input type="text" size="11" name="date" id="date"/>
      <label for='categories'>Catégorie : </label>
      <select id='categories' name='categories' >
        <option value='none'>Choisissez une catégorie ...</option>
        <?php
	 	include("liste.php");
	 ?>
        <option value='ajout' id='lastoption' >Ajouter une catégorie ...</option>
      </select>
      <input type="submit" value="Envoyer" id="submit" class="bout" />
      <input type="reset" value="Annuler" class="bout" />
    </form>
    </fieldset>
  </div>
  <div id="apDiv3">
    <form name="f2" action="createdir.php" method="post">
      <label for="addcat" id="labaddcat">Nouvelle catégorie :</label>
      <input style="margin-top:2px;margin-bottom:10px"type="text" name="cat" size="30" value="Entrez une catégorie" id="add_cat"/>
      <input style="margin-left:10px; margin-top:5px;" type="text" name="cat_desc" size="30" value="Description de catégorie" id="add_cat_desc"/>
      <input class="bout" type="submit" value="Ajouter" name="ajout_cat" id="ajout_cat"/>
    </form>
  </div>
  <div id="apDiv2">
    <div class="barre">
      <input type="button" name="fermer" id="close" value="x" class="close"/>
    </div>
    <iframe name="resultat" id="frame"> </iframe>
  </div>
  <div id="content">
    <form autocomplete="off" >
      <label for="rtitre">Titre de l'image</label>
      <input type="text" name="rtitre" id="rtitre" size="30"/>
      <input type="submit" value="Valider" id="submit2" />
      <input type="hidden" name="titres" id="titres" />
    </form>
  </div>
  <div id="galcat">
    <label for="cats"></label>
    <form name="faffcat">
      <select name="cats" id="cats">
        <option value='none'>Choisissez une catégorie ...</option>
        <?php
	 	include("liste.php");
	 ?>
      </select>
      <input type="button" name="baffcat" id="baffcat" value="afficher"/>
    </form>
    <div id="galcatimgs"> </div>
  </div>
  <!-- Recherche des photos avec une date -->
  <div id="rdate">
    <form name="frdate">
      <label for="datepicker">Entrez une date :</label>
      <input type="text" name="date1" id="date1" value="date de debut">
      <input type="text" name="date2" id="date2" value="date de fin">
      <input type="button" name="send" value="chercher" id="cherdate"/>
    </form>
    <div id="cherdateimgs"> </div>
  </div>
  <div id="panmodphoto">
  <label for="rmtitle">Titre de l'image :</label>
  <input type="button" value="Afficher" id="bmod" />
    <div id="panelmod">
    <form name="fmodphoto">
      <label for="mptitle">Nouveau titre :</label>
      <input type="text" id="mptitle" />
      <label for="mpsectitle">Nouveau sous-titre :</label>
      <input type="text" id="mpsectitle" />
      <label for="mplieu">Nouveau lieu :</label>
      <input type="text" id="mplieu" />
      <label for="mpdesc">Nouvelle description :</label>
      <textarea cols="20" rows="4" id="mpdesc" ></textarea>
      <label for="mpdesc">Nouvelle catégorie :</label>
      <select name="cats" id="mpcats">
        <option value='none'>Choisissez une catégorie ...</option>
        <?php
  require("liste.php");
  		?>
      </select>
      <input type="button" value="Modifier" id="mpmod" />
    </form>
  </div>
  </div>
  <div id="pansuppphoto">
  <form autocomplete="off" >
  <label for="rmtitle">Titre de l'image :</label>
  <input type="text" id="rmtitle"  size="30"/><input type="button" id="rmphotobutton"  value="Afficher"/>
  <div id="rmphotoimgs">
  
  </div>
  </form>
  </div>
  
  <div id="psuppcat">
  <input type="button" value="Supprimer"  id="supp_cat"/>
  </div>
  
  <div id="rename_cat">
  <label for="nvnom">Nouveau nom :</label>
  <input name="nvnom"type="text" id="nvnomcat"/>
  <label for="nvnomcat">Nouvelle description :</label>
  <input name="nvdescat"type="text" id="nvdescat"/>
  <input type="button" value="Renommer" id="renamecat"/>
  </div>
  
  <div id="psuputi">
  <input type="button" value="Supprimer"  id="suputi"/>
  </div>
  
  <div id="rename_uti">
  <label for="nvnomuti">Nouveau nom d'utilisateur:</label>
  <input name="nvnomuti"type="text" id="nvnomuti"/>
  <label for="nvnomcat">Nouvelle description :</label>
  <input name="nvdescat"type="text" id="nvdescat"/>
  <input type="button" value="Renommer" id="renamecat"/>
  </div>
  
  <div id="afftou">
  
  </div>
  <div id="captcha">
  <p>Entrez le code pour valider la suppression</p>
  <input type="text"  disabled="disabled" id="captchatext" size="5"/><br/>
  <input type="text"  id="captchavalue" size="5"/><br />
  <input type="button" value="valider" id="validcaptcha" />
  </div>
</div><!--END OFF APDIV5-->
<div id="back"></div>
<div id="popup" style="position: absolute; top: 82.5px; left: 479px; display: none;">
  <div id="barrepopup" class="barre"><a class="close" id="closepopup">x</a></div>
  <h1>titre</h1>
  <div id="cont" style="background-color:#CCC; border:2px solid #666; width:420px; height:310px; text-align:center; padding-top:10px; position :absolute; left:4px; visibility: visible;"></div>
</div>
<div id="tooltip">
</div>
</body>
</html>
0
MIDO-MIDO Messages postés 24 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 15 octobre 2014
7 avril 2011 à 22:27
UP
0