• User Attivo

    Foto di default php

    Salve ragazzi, ho un piccolo problema che non sto capendo :arrabbiato: cercherò di spiegarmi brevemente.
    Sul mio sito gestisco delle notizie, oltre ad inserire il testo ho un campo immagini, in visualizzazione vorrei nel caso in cui la foto non venga caricata messa un foto di default. Il codice sotto riportato funge solo se carico le foto da db, mentre se io non inserisco la foto non mi richiama quella di default.

    <img class="bordo_img" src="/img/default.gif" alt="quanto è bello il mondo" name="myImg" width="400" id="myImg" />

    Dove sbaglio secondo Voi?
    Grazie anticipatamente.
    Ciaux


  • User Attivo

    questo è il codice php che utilizzo per richiamre le foto dal db:

    <?
    if ($row_3!=NULL) {
    echo "preload('image1','/img/big/$row_2[nome]')\n\r";
    }
    else
    {
    echo "preload('image1','/img/default.gif')\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";
    } ?>

    <div align="center">
    <? if ($row_3!=NULL) { ?>
    <img class="bordo_img" src="/img/default.gif" alt="guarda il mondo come è bello" name="myImg" width="400" id="myImg" /></div>
    <? } ?>


  • User Attivo

    con questo codice:

    [php]
    <div align="center">
    <? if ($row_3!=NULL) { ?>
    <img class="bordo_img" src="/img/default.gif" alt="guarda il mondo come è bello" name="myImg" width="400" id="myImg" /></div>
    <? } ?>
    [/php]

    richiama "default.gif" solo se $row_3 è diverso da NULL e da come ho capito a te interessa il contrario.
    Cambia if($row_3!=NULL) in if($row_3==NULL).

    Ciao!


  • User Attivo

    @Sups said:

    con questo codice:

    [php]
    <div align="center">
    <? if ($row_3!=NULL) { ?>
    <img class="bordo_img" src="/img/default.gif" alt="guarda il mondo come è bello" name="myImg" width="400" id="myImg" /></div>
    <? } ?>
    [/php]richiama "default.gif" solo se $row_3 è diverso da NULL e da come ho capito a te interessa il contrario.
    Cambia if($row_3!=NULL) in if($row_3==NULL).

    Ciao!
    Grazie Sups!! ho provato ma non va!!❌x, il problema mi sta incasinando:?
    Praticamente vorrei che se la foto non venisse caricata nel db uscisse come predefinita la foto di default non so se ho reso l'idea.


  • User Attivo

    Puoi postare più codice, in particolare la parte dove viene assegnato il valore a $row_3.


  • User Attivo

    @Sups said:

    Puoi postare più codice, in particolare la parte dove viene assegnato il valore a $row_3.

    ecco qui:

    <script type="text/javascript">
    <!--
    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;
    }
    //-->
    </script>
    <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 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/default.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>
    <div align="center">
    <? if ($row_3!=NULL) { ?>
    <img class="bordo_img" src="../img/db/default.jpg" alt="guarda il mondo come è bello" name="myImg" width="400" id="myImg" /></div>
    <? } ?>
    <table width="100%" border="0" cellpadding="0">
    <tr>
    <td></td>
    </tr>
    <tr>
    <td><table width="200" border="0" align="center" cellpadding="0">
    <tr align="center" valign="middle">
    <td><a href="Javascript:PreviousImage();" 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>FOTO</td>


  • User Attivo

    Ragazi sono ancora alle prese con questo problema!!! Chiedo gentilmente ............. AIUTO!!!!!!!!!!!!!!!!❌x


  • User Attivo

    Ci sono due punti che "credo" facciano riferimento all'immagine di default, ma la vanno a caricare da due locazioni diversi.

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

    //....

    <? if ($row_3!=NULL) { ?>
    <img class="bordo_img" src="../img/db/default.jpg" alt="guarda il mondo come è bello" name="myImg" width="400" id="myImg" /></div>
    <? } ?>
    [/php]

    ../img/default.jpg & ../img/db/default.jpg

    Poi un altra cosa, $row_3 da una parte uguale a NULL per eseguire il load di default.jpg e nell'altra invece deve essere diverso.

    Nel codice non c'è la definizione di row_3. Prova a mettere un echo $row_3 per vederne il contenuto.