• User Attivo

    contatore php per foto

    Ciao ragazzi, sto impazzendo per sistemare questo script, in pratica nella riga 95 del codice sotto riportato ( <td><strong>Foto: numero immagine visualizzata di <? echo $i; ?></strong></td> ) vorrei che apparisse il contatore di foto ad esempio Foto 1 di 8 ; Foto 2 di 8 eccc, il numero delle foto totali è ok ma quello della foto visualizzata in quel momento non sto riuscendo a trovare la variabile che funzioni.
    Sareste così gentili da aiutarmi a risolvere il problema.

     Grazie anticipatamente.
    

    codice utilizzato:

    [php]<script type="text/javascript">
    //<![CDATA[
    <!--
    // Image Functions
    // changeImage() and preload() functions for rollovers and GIF animation
    // 19990326

    // Copyright (C) 1999 Dan Steinman
    // Distributed under the terms of the GNU Library General Public License

    // Modified by Colvi for
    function preload(imgObj,imgSrc) {
    if (document.images) {
    eval(imgObj+' = new Image()')
    eval(imgObj+'.src = "'+imgSrc+'"')
    }
    }
    <?
    if ($row_3!=NULL) {
    echo "preload('image1','/img/big/$row_2[nome]')\n\r";
    }
    else
    {
    echo "preload('image1','/img/logo.jpg')\n\r";
    }

    $i=1;
    while ($row_2=mysql_fetch_array($result_2)) {
    $i = $i+1;
    echo "preload('image$i','/img/big/$row_2[nome]')\n\r"; } ?>
    function changeImage(layer,imgName,imgObj) {
    if (document.layers && layer!=null) eval('document.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src');
    else document.images[imgName].src = eval(imgObj+".src");
    }
    var imgCorrente = 1;
    var numImages = <? echo $i; ?>;

    function NextImage(){
    if (imgCorrente < numImages) {
    imgCorrente = imgCorrente +1;
    changeImage(null, 'myImg', 'image'+imgCorrente);
    document.all.tags("h6")[0].innerHTML = "Foto " + imgCorrente + " di " + numImages
    }
    }

    function PreviousImage(){
    if (imgCorrente > 1) {
    imgCorrente = imgCorrente - 1;
    changeImage(null, 'myImg', 'image'+imgCorrente);
    document.all.tags("h6")[0].innerHTML = "Foto " + imgCorrente + " di " + numImages

    }
    

    }

    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a*)&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a*.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a*;}}
    }

    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d)&&d.all) x=d.all; for (i=0;!x&&i<d.forms.length;i++) x=d.forms*;
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers*.document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a*))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script>

     <? if ($num_img==0) { ?>
        <img src="/img/logo.jpg" alt="<? if ($row_1[descrizione]!=NULL) { echo stripslashes($row_1[descrizionehome]); } ?>" name="myImg" width="400" height="300" class="bordo_imgimm" id="myImg" /></div>
      <? } ?>
        <? if ($row_3!=NULL) { ?>
        <a href="/ita/foto-gallery.php?id=<? echo $row_1[id]; ?>" title="Clicca per vedere tutte le foto" target="_blank"><img src="/img/db/big.jpg" alt="<? if ($row_1[descrizione]!=NULL) { echo stripslashes($row_1[descrizionehome]); } ?>" name="myImg" width="400" height="300" border="0" class="bordo_imgimm" id="myImg" /></a></div>
      <? } ?><br />
      <table width="100%"  border="0" cellpadding="0">
        <tr>
          <td></td>
        </tr>
        <tr>
          <td><table width="300" border="0" align="center" cellpadding="0">
              <tr align="center" valign="middle">
                <td><a href="javascript:PreviousImage();" title="Clicca per vedere la foto precedente" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('dietro','','/img/indietroup.gif',1)"><img src="/img/indietro.gif" alt="Foto Precedente" width="33" height="25" border="0" id="dietro" /></a></td>
                <td><strong>Foto: numero immagine visualizzata di <? echo $i; ?></strong></td>
                <td><a href="javascript:NextImage();" title="Clicca per vedere la foto successiva" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('avanti','','/img/avantiup.gif',1)"><img src="/img/avanti.gif" alt="Foto Successiva" name="avanti" width="33" height="25" border="0" id="avanti" /></a></td>
              </tr>
            </table></td>
        </tr>
      </table>
      <script type="text/javascript">
      if (numImages != 0){
      changeImage(null, 'myImg', 'image'+imgCorrente);    
      document.all.tags("h6")[0].innerHTML = "Foto " + imgCorrente + " di " + numImages;
      }                
    

    </script>[/php]


  • User Attivo

    ❌x Nessuno vuol aiutarmi??? 😮


  • ModSenior

    Ciao colvi,

    dovresti avere un pò di pazienza, difficilmente troverai qualcuno in un forum che riesce a risponderti dopo sole 3 ore dall'apertura del thread.
    Nello script da te postato, non mi sembra di vedere la parte di codice interessata della stampa di "Foto: numero immagine visualizzata di X" all'interno di un ciclo per cui non capisco come vuoi ricavare quale sia il numero di quella immagine.


  • User Attivo

    @Thedarkita said:

    Ciao colvi,

    dovresti avere un pò di pazienza, difficilmente troverai qualcuno in un forum che riesce a risponderti dopo sole 3 ore dall'apertura del thread.
    Nello script da te postato, non mi sembra di vedere la parte di codice interessata della stampa di "Foto: numero immagine visualizzata di X" all'interno di un ciclo per cui non capisco come vuoi ricavare quale sia il numero di quella immagine.

    Grazie per la risposta Thedarkita, la parte di codice che elenca le foto è questa:

    [php]<?
    if ($row_3!=NULL) {
    echo "preload('image1','/img/big/$row_2[nome]')\n\r";
    }
    else
    {
    echo "preload('image1','/img/logo.jpg')\n\r";
    }

    $i=1;
    while ($row_2=mysql_fetch_array($result_2)) {
    $i = $i+1;
    echo "preload('image$i','/img/big/$row_2[nome]')\n\r"; } ?>[/php]

    Mi mette in elenco quindi qualcosa del genere:

    preload('image1','/img/big/Image-10.jpg')

    preload('image2','/img/big/12.jpg')

    preload('image3','/img/big/1_Image_8.jpg')

    preload('image4','/img/affitti_privati/big/16.jpg')

    preload('image5','/img/big/Image_9.jpg')

    preload('image6','/img/affitti_privati/big/1_Image_5.jpg')

    preload('image7','/img/big/Image_6.jpg')

    preload('image8','/img/big/Image_10.jpg')

    Volendo invece creare una parte di codice che interessi la stampa di "Foto: numero immagine visualizzata di X" all'interno di un ciclo come faresti?
    Grazie ancora.


  • User Attivo

    Ho sonno è da ieri che interrottamente sto cercando di risolvere il problema senza riuscirci :x, qualcuno mi aiuta a capire qualcosa?


  • User Attivo

    Ciao raga, ancora non sono riuscito a risolvere il problema, qualcuno sarebbe disposto ad aiutarmi?
    :bho: