Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2471 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Intégrer un script de commentaires dans un album photo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Intégrer un script de commentaires dans un album photo

n°1701413
bingojm
Posté le 12-03-2008 à 23:15:02  profilanswer
 

Salut à tous,  
 
En partant d'un script d'album photo (sur Phprog) qui me convient super bien, j'aimerais y intégrer un script pour que les visiteurs ajoutent leurs commentaires. En gros, le script de l'album photo crée automatiquement une miniature et lorsqu'on clique sur celle-ci, cela affiche la photo en grand.
Voici la partie principale qui affiche ces miniatures:

Code :
  1. <div align="center">
  2. <?php
  3. echo "<table cellpadding=0 cellspacing=0 class=tablo width=100%>
  4. <tr>
  5. <td class=tablo-titre><span class=texte-titre>$album</span></td>";
  6. if (test_admin()) {
  7. echo "
  8. <td class=tablo-titre><span class=texte-titre><a class=\"lien-titre\" href=\"?id=12&album=$album\">Ajouter une photo</a></span></td>
  9. </tr><tr height=\"100%\"><td colspan=2>";
  10. }
  11. else {
  12. echo "
  13. </tr><tr height=\"100%\"><td>";
  14. }
  15. include('fonction/liste_photos.func.php');
  16. if ($photo=liste_photos($dossier,$album)) {
  17. $nb=count($photo);
  18. //mini exist
  19. $mini_exist=1;
  20. for ($k=0;$k<$nb;$k++) {
  21.  if (!file_exists($dossier."/".$album."/miniatures/".$photo[$k])) {
  22.   $mini_exist=0;
  23.   break;
  24.  }
  25. }
  26. //afficher les photos
  27. if ($mini_exist) {
  28.  for ($i=0;$i<$nb;$i++) {
  29.   list($photo_width, $photo_height) = getimagesize("$dossier/$album/$photo[$i]" );
  30.   $photo_size=round(filesize("$dossier/$album/$photo[$i]" )/1000)." ko";
  31.   $photo_name=explode('.',$photo[$i]);
  32.   //<a href=# onClick=\"javascript:window.open('photo_cadre.php?album=$album&i=$i&nb=$nb','','chanelmode,scrollbars');return(false)\"><img border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  33.   if (test_admin()) {$dim_height=$dim_mini+40;}
  34.   else {$dim_height=$dim_mini+20;}
  35.   echo "
  36.   <div style=\"float:left;margin-top:10px;margin-left:5;margin-right:5;width:105px;height:".$dim_height."px\" class=\"texte-photo\">
  37.    <div align=center>
  38.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  39.    </div>
  40.    <div align=center>
  41.    $photo_name[0]
  42.    </div>
  43.    <div align=center>
  44.    <? comment(\"photo\" ); ?>
  45.    </div>";
  46.    if (test_admin()) {
  47.     echo "
  48.    <div align=center style=\"margin-top:5px;\">
  49.    <a href=\"?id=16&album=$album&i=$i\"><img border=0 src=\"images/rename.gif\" title=\"Renommer\"></a> <a href=\"?id=18&album=$album&i=$i\"><img border=0 src=\"images/resize.gif\" title=\"Redimensionner\"></a> ";
  50.     if (function_exists('imagerotate')) {
  51.      echo "<a href=\"?id=20&album=$album&i=$i\"><img border=0 src=\"images/rotate.png\" title=\"Retourner\"></a> ";
  52.      }
  53.     echo "<a href=\"?id=14&album=$album&i=$i\"><img border=0 src=\"images/suppr.gif\" title=\"Supprimer\"></a>
  54.     </div>";
  55.    }
  56.   echo "</div>";
  57.  }
  58. }
  59. else {
  60.  echo text_mini_non;
  61.  include('miniature.php');
  62. }
  63. }
  64. else {
  65. echo "<div align=center>".text_album_vide."</div>";
  66. }
  67. echo "</td></tr></table>";
  68. ?>
  69. </div>


 
Et moi, j'ai rajouté les lignes 52 à 54. C'est la partie du script qui est censé m'afficher le lien pour avoir le popup et ainsi ajouter/lire les commentaires.
Bien sûr, je comprends bien que comme cela, ca ne peut fonctionner vu que le script qui affiche les photos est prévu pour qu'il affiche toutes les photos présentes, c'est donc une sorte de boucle. Mais maintenant, comment faire pour que mon script d'ajout de commentaire corresponde à chaque photo qui s'affiche?
 
Merci d'aider clairement le débutant que je suis... Merci d'avance!!!


Message édité par bingojm le 12-03-2008 à 23:15:58
mood
Publicité
Posté le 12-03-2008 à 23:15:02  profilanswer
 

n°1701567
texaff
Posté le 13-03-2008 à 10:59:44  profilanswer
 

<? comment(\"photo\" ); ?>
 
c'est ta fonction qui affiche tes commentaires? c'est surement pas \"photo\" le bon parametre, mais plutot un truc du genre comment($photo[$i])

n°1701594
bingojm
Posté le 13-03-2008 à 11:27:21  profilanswer
 

texaff a écrit :

<? comment(\"photo\" ); ?>
 
c'est ta fonction qui affiche tes commentaires? c'est surement pas \"photo\" le bon parametre, mais plutot un truc du genre comment($photo[$i])


oui c'est bien cette fonction-là...
En fait, si j'utilise <? comment(\"photo\" ); ?> dans une page quelconque, cela fonctionne très bien. Mais c'est précisément dans l'album photo que j'aimerais l'utiliser.
A première vue, je dois modifier une grande partie du code du script des commentaires?
Voilà la partie des fonctions:

Code :
  1. function comment($categorie)
  2.         {
  3.        
  4.         require($GLOBALS["pathcom"]."config/comment.inc.php" );
  5.  require($GLOBALS["pathcom"]."config/langue/"."$langue".".php" );
  6.        
  7.         mysql_connect($hote,$login,$mdp) or die("$err_connect[lang]" );
  8.         mysql_select_db($base);
  9.         $req=mysql_query("SELECT id FROM $table_comment WHERE categorie='$categorie' AND valid='1' AND pseudo!='vote'" );
  10.         $num=mysql_num_rows($req);
  11.        
  12.         $appel_comment=$GLOBALS["pathcom"]."comment.php?actiona=comment&categorie=$categorie";
  13.         if($choixc=='0')
  14.   {
  15.  $appel_img=$GLOBALS["pathcom"]."$commentaf";
  16.  $codec="<img src=\"$appel_img\" align=\"absmiddle\" border=0 alt=\"$ajout[lang]\">";
  17.   }
  18.  else
  19.   {
  20.  $codec="$commentaf";
  21.   }
  22.         echo "[<font size=1>$num</font>";
  23.         echo " <a href=\"#\" onClick=\"open('$appel_comment','Comment','toolbar=0,menuBar=0,resizable=0,scrollbars=yes,width=$widthc,height=$heightc')\">";
  24.         echo "$codec";
  25.         echo "</a>]";
  26.         mysql_close();
  27.         }


Merci d'être clair... je débute.

n°1701617
texaff
Posté le 13-03-2008 à 11:46:49  profilanswer
 

ouai mais la en fait tu peux ajouter des commentaire pour une catégorie et non pour une photo...  
 
tu peux toujours essayé devoir si tu peux créer une catégorie par photo  
en tentant de mettre a ligne 53 :  
<? comment($photo_name[0]); ?>
ou ptete  
<? comment("$photo_name[0]" ); ?>

n°1701619
bingojm
Posté le 13-03-2008 à 11:50:49  profilanswer
 

Ben non, ca ne va pas.
J'ai essayé ceci aussi:
<? comment(\"$photo_name[0]\" ); ?> vu qu'il faut les \
Mais rien ne s'affiche en plus.
Le fait de mettre des <? ?> dans echo, ca ne pose pas de problème?
Encore une bonne idée stp?

n°1701627
texaff
Posté le 13-03-2008 à 12:04:33  profilanswer
 

haha mais lol j'avais pas vu  
 
ca va pas fait ca  
 
".comment($photo_name[0])."
 
 
a la place de  
<? comment("$photo_name[0]" ); ?>

n°1701631
bingojm
Posté le 13-03-2008 à 12:10:22  profilanswer
 

texaff a écrit :

haha mais lol j'avais pas vu  
 
ca va pas fait ca  
 
".comment($photo_name[0])."
 
 
a la place de  
<? comment("$photo_name[0]" ); ?>


Super mon gars, grâce à toi, je viens encore d'apprendre qqch d'hyper important. Merci
Maintenant, y a juste un souci, l'icône pour ajouter le commentaire se place en haut des images. Une idée pour qu'il reste bien en dessous de chaque photo?
Voilà ce que j'ai essayé:

Code :
  1. <div align=center>
  2.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  3.    </div>
  4.    <div align=center>
  5.    $photo_name[0] <br> ".comment($photo_name[0])."
  6.    </div>";



Message édité par bingojm le 13-03-2008 à 15:25:34
n°1701644
texaff
Posté le 13-03-2008 à 12:17:29  profilanswer
 

ligne 45 vire ca : height:".$dim_height."px

n°1701646
texaff
Posté le 13-03-2008 à 12:18:45  profilanswer
 

ou alors genre ligne 42 et 43 change +40 par +60  
et +20 par +40

n°1701647
texaff
Posté le 13-03-2008 à 12:19:16  profilanswer
 

et augmente si y a besoin de plus... (genre +70...)

mood
Publicité
Posté le 13-03-2008 à 12:19:16  profilanswer
 

n°1701648
bingojm
Posté le 13-03-2008 à 12:20:26  profilanswer
 

Voilà, mais ça n'arrange rien. l'écriture est un peu plus grande et le cadre plus petit... mais les icones tjs au dessus...

n°1701649
texaff
Posté le 13-03-2008 à 12:22:21  profilanswer
 

tu as viré \"  en trop...

n°1701650
bingojm
Posté le 13-03-2008 à 12:24:06  profilanswer
 

Bien vu; l'écriture est ok mnt, mais les icones... tjs au-dessus.

n°1701652
texaff
Posté le 13-03-2008 à 12:26:32  profilanswer
 

t'es sur que tu a bien fais ca :
 

Code :
  1. <div align=center>
  2.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  3.    </div>
  4.    <div align=center>
  5.    $photo_name[0] <br> ".comment($photo_name[0])."
  6.    </div>";


 
 
le commentaire s'affiche au dessus de l'image...

n°1701655
bingojm
Posté le 13-03-2008 à 12:30:30  profilanswer
 

oui, certain, je viens de vérifier. Tu as vu le résultat avec mon lien?
Pcq oui ca s'affiche au dessus et centrer sur tout le cadre

n°1701660
texaff
Posté le 13-03-2008 à 12:49:16  profilanswer
 

essaye ca ... mais tu m'etonnes... (on oublie le xhtml ici lol)
 

Code :
  1. <div align=center>
  2.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  3.   <br /> $photo_name[0] <br /> ".comment($photo_name[0])."
  4.    </div>";


n°1701663
bingojm
Posté le 13-03-2008 à 12:53:00  profilanswer
 

tjs pas...
Pas très logique tout ca.
Encore une autre idée?;)

n°1701697
texaff
Posté le 13-03-2008 à 13:47:38  profilanswer
 

tu te plantes quelque part c'est sur... remet le code de ta page pour voir...

n°1701743
bingojm
Posté le 13-03-2008 à 14:41:13  profilanswer
 

Code :
  1. <div align="center">
  2. <?php
  3. echo "<table cellpadding=0 cellspacing=0 class=tablo width=100%>
  4. <tr>
  5. <td class=tablo-titre><span class=texte-titre>$album</span></td>";
  6. if (test_admin()) {
  7. echo "
  8. <td class=tablo-titre><span class=texte-titre><a class=\"lien-titre\" href=\"?id=12&album=$album\">Ajouter une photo</a></span></td>
  9. </tr><tr height=\"100%\"><td colspan=2>";
  10. }
  11. else {
  12. echo "
  13. </tr><tr height=\"100%\"><td>";
  14. }
  15. include('fonction/liste_photos.func.php');
  16. if ($photo=liste_photos($dossier,$album)) {
  17. $nb=count($photo);
  18. //mini exist
  19. $mini_exist=1;
  20. for ($k=0;$k<$nb;$k++) {
  21.  if (!file_exists($dossier."/".$album."/miniatures/".$photo[$k])) {
  22.   $mini_exist=0;
  23.   break;
  24.  }
  25. }
  26. //afficher les photos
  27. if ($mini_exist) {
  28.  for ($i=0;$i<$nb;$i++) {
  29.   list($photo_width, $photo_height) = getimagesize("$dossier/$album/$photo[$i]" );
  30.   $photo_size=round(filesize("$dossier/$album/$photo[$i]" )/1000)." ko";
  31.   $photo_name=explode('.',$photo[$i]);
  32.   //<a href=# onClick=\"javascript:window.open('photo_cadre.php?album=$album&i=$i&nb=$nb','','chanelmode,scrollbars');return(false)\"><img border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  33.   if (test_admin()) {$dim_height=$dim_mini+40;}
  34.   else {$dim_height=$dim_mini+20;}
  35.   echo "
  36.   <div style=\"float:left;margin-top:5px;margin-left:5;margin-right:5;width:105px;\" class=\"texte-photo\">
  37.    <div align=center>
  38.        <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  39.     <br /> $photo_name[0] <br /> ".comment($photo_name[0])."
  40.       </div>";
  41.    if (test_admin()) {
  42.     echo "
  43.    <div align=center style=\"margin-top:5px;\">
  44.    <a href=\"?id=16&album=$album&i=$i\"><img border=0 src=\"images/rename.gif\" title=\"Renommer\"></a> <a href=\"?id=18&album=$album&i=$i\"><img border=0 src=\"images/resize.gif\" title=\"Redimensionner\"></a> ";
  45.     if (function_exists('imagerotate')) {
  46.      echo "<a href=\"?id=20&album=$album&i=$i\"><img border=0 src=\"images/rotate.png\" title=\"Retourner\"></a> ";
  47.      }
  48.     echo "<a href=\"?id=14&album=$album&i=$i\"><img border=0 src=\"images/suppr.gif\" title=\"Supprimer\"></a>
  49.     </div>";
  50.    }
  51.   echo "</div>";
  52.  }
  53. }
  54. else {
  55.  echo text_mini_non;
  56.  include('miniature.php');
  57. }
  58. }
  59. else {
  60. echo "<div align=center>".text_album_vide."</div>";
  61. }
  62. echo "</td></tr></table>";
  63. ?>
  64. </div>


Et pour les fonctions, rien de changé:

Code :
  1. function comment($categorie)
  2.         {
  3.        
  4.         require($GLOBALS["pathcom"]."config/comment.inc.php" );
  5.  require($GLOBALS["pathcom"]."config/langue/"."$langue".".php" );
  6.        
  7.         mysql_connect($hote,$login,$mdp) or die("$err_connect[lang]" );
  8.         mysql_select_db($base);
  9.         $req=mysql_query("SELECT id FROM $table_comment WHERE categorie='$categorie' AND valid='1' AND pseudo!='vote'" );
  10.         $num=mysql_num_rows($req);
  11.        
  12.         $appel_comment=$GLOBALS["pathcom"]."comment.php?actiona=comment&categorie=$categorie";
  13.         if($choixc=='0')
  14.   {
  15.  $appel_img=$GLOBALS["pathcom"]."$commentaf";
  16.  $codec="<img src=\"$appel_img\" align=\"absmiddle\" border=0 alt=\"$ajout[lang]\">";
  17.   }
  18.  else
  19.   {
  20.  $codec="$commentaf";
  21.   }
  22.         echo "[<font size=1>$num</font>";
  23.         echo " <a href=\"#\" onClick=\"open('$appel_comment','Comment','toolbar=0,menuBar=0,resizable=0,scrollbars=yes,width=$widthc,height=$heightc')\">";
  24.         echo "$codec";
  25.         echo "</a>]";
  26.         mysql_close();
  27.         }


Voilà, voilà, je cherche depuis tout à l'heure, mais je désespère...
Merci qd mm de chercher avec moi.

n°1701760
texaff
Posté le 13-03-2008 à 14:54:52  profilanswer
 

essaye de mettre ".comment($photo_name[0])."  
entre ta ligne 45 et 46... ca devrai afficher le commentaire juste au dessus de l'image...  
 
t'es sur que tu modifie la bonne page lol

n°1701767
bingojm
Posté le 13-03-2008 à 15:06:01  profilanswer
 

texaff a écrit :

essaye de mettre ".comment($photo_name[0])."  
entre ta ligne 45 et 46... ca devrai afficher le commentaire juste au dessus de l'image...  
 
t'es sur que tu modifie la bonne page lol


tjs pareil, cela s'affiche tout au-dessus au centre... malheureusement, pas encore au-dessus ou en dessous de chaque photo.
Ben je pense bien être sur la bonne page. Si tu veux voici le lien de ce script:
http://www.phpscripts-fr.net/scrip [...] mmentaires c'est le premier: ACGV
je suis dans la page: afficher_photos.php
 
Je pense vmt être dans la bonne page pcq quand je mets SALUT à la place de ".comment($photo_name[0])." cela s'affiche correctement en dessous du nom de la photo, donc...
 
Merci pour ton aide.


Message édité par bingojm le 13-03-2008 à 15:07:41
n°1701773
texaff
Posté le 13-03-2008 à 15:09:13  profilanswer
 

y a pas de cache sur tes page? ecris un  
<h1>TEST</h1> toujours entre la ligne 45 et 46... si ca s'affiche pas : soit y a un cache soit t'es pas sur la bonne page

n°1701776
texaff
Posté le 13-03-2008 à 15:09:40  profilanswer
 

ok t'a editer entre tps lol

n°1701782
texaff
Posté le 13-03-2008 à 15:13:14  profilanswer
 

mais oui c'est normal lol
suis con
 
en fait tu fais un  
echo "limage".ta fonction commentaire."finde limage"
 
 
et dans ta fonction commentaire tu fais un  
echo 'petite icone commentaire'  
 
le script va donc faire un echo dans ton echo donc c'est l'echo du commentaire qui se lance en premier (ouai je suis pas clair)  
bref  
change ca :

Code :
  1. echo "
  2.   <div style=\"float:left;margin-top:5px;margin-left:5;margin-right:5;width:105px;\" class=\"texte-photo\">
  3.    <div align=center>
  4.        <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  5.     <br /> $photo_name[0] <br /> ".comment($photo_name[0])."
  6.       </div>";


 
en  

Code :
  1. echo "
  2.   <div style=\"float:left;margin-top:5px;margin-left:5;margin-right:5;width:105px;\" class=\"texte-photo\">
  3.    <div align=center>
  4.        <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  5.     <br /> $photo_name[0] <br /> ";comment($photo_name[0]);
  6. echo "</div>";


n°1701785
bingojm
Posté le 13-03-2008 à 15:13:45  profilanswer
 

Bizarre bizarre, comme tu peux le voir, cela s'affiche très bien comme ca! Je viens de remodifier pour le mettre direct en dessous de la photo. Cela fonctionne pour TEST, mais pour les commentaires...

n°1701791
texaff
Posté le 13-03-2008 à 15:16:10  profilanswer
 

pour l'explication pour que tu comprennes je vais essayer de le refaire  
 
tu fais un echo "ton image".comment()."fin du div"
ce qui revient a  
echo "ton image".echo "lavignette+ lien du commentaire"."fin du div"
 
tu encapsule un echo dans un echo... et dans ce ca la c'est un peu le principe de la récursivité c'est celui qui est dans l'encapsulation qui se lance en premier...


Message édité par texaff le 13-03-2008 à 15:17:21
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Intégrer un script de commentaires dans un album photo

 

Sujets relatifs
Création d'un script de dézipage sur serveurscript de test de charge
Cherche système de commentaires pour mon siteUn script MSN comme l'outil [quote] des forum
Intégrer un template SWISH Max sur un blog !Pb Script vbs pour basculer server impression
Que choisir pour un album photo?Aide Script PHP
réécriture d'1 script javascript de control d'1 balise html<div en php 
Plus de sujets relatifs à : Intégrer un script de commentaires dans un album photo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR