Visualizzazione dei risultati da 1 a 6 su 6

Discussione: images - non visibile

  1. #1

    images - non visibile

    Dopo il passaggio alla versione 5 di PHP ho difficoltà a far funzionare una ricerca alternativa di una immagine.
    In questo caso se la fotografia viene trovata me la visualizza regolarmente mentre nel caso in cui questa non ci fosse dovrebbe far vedere l'altra foto (nofoto.jpg) e questo non succede.
    Dove commetto l'errore ?


    $result = mysql_query($query_string, $global_db);
    $i=0;
    while ($row = mysql_fetch_array($result)) {
    for ($ii=0; $ii < $ncampi; $ii++) {
    $res[$i][$ii] = trim ($row[$campo[$ii]]);
    if ($campo[$ii] == "name") {
    $res[$i][$ii] = htmlspecialchars (utf8_encode ($res[$i][$ii]),ENT_QUOTES);
    }
    $res[$i][$campo[$ii]] = $res[$i][$ii];
    }
    $i++;
    }


    if ($nresult == 1) {
    $nofoto = FALSE;
    $foto = "../images/Cani/". strtoupper ($res[0]['num']).".jpg"; // Nome del file della foto
    if (!file_exists ($foto)) {
    $foto = "../images/Cani/nofoto.jpg"; // Nome del file in caso di assenza della foto
    $nofoto = TRUE;
    }
    list($width, $height, $type, $attr) = getimagesize($foto);
    $r = $SizeFoto / $width;
    $height = intval ($height * $r);
    $width = $SizeFoto;
    if (!$nofoto) {
    $foto = "<a href=\"".$foto."\" target=\"_blank\" title=\"".$res[0]['name']."\" onMouseOver=\"window.status='Clic to have the big photo ".$res[0]['name']."'; return true\" onMouseOut=\"window.status=' '\"><img src=\"".$foto."\" width=\"".$width."\" height=\"".$height."\" alt=\"".$res[0]['name']."\" border=\"0\" align=\"\"></a>";
    }
    else {
    $foto = "<img src=\"".$foto."\" width=\"".$width."\" height=\"".$height."\" alt=\"No Foto/Photo ".$res[0]['name']."\" border=\"0\" align=\"\" onMouseOver=\"window.status='No Foto/Photo '; return true\" onMouseOut=\"window.status=' '\">";
    }
    }
    }

  2. #2
    Perchè al posto di mysql_fetch_array() non utilizzi mysql_fetch_assoc() ed eviti l'inutile for() per cercare il campo name?

    Inoltre, perchè non utilizzi i singoli apici per delimitare le stringhe in $foto ed eviti tutti quegli escaping che rendono il codice difficilmente leggibile?

  3. #3
    Perché fai strtouppercase
    $foto = "../images/Cani/". strtoupper ($res[0]['num']).".jpg"; // Nome del file della foto
    ?

  4. #4
    Originariamente inviato da artorius
    Perché fai strtouppercase
    $foto = "../images/Cani/". strtoupper ($res[0]['num']).".jpg"; // Nome del file della foto
    ?
    Ho usato strtoupper perchè tutti nomi delle immagini contengono solo caratteri maiuscoli e numeri

  5. #5
    Originariamente inviato da filippo.toso
    Perchè al posto di mysql_fetch_array() non utilizzi mysql_fetch_assoc() ed eviti l'inutile for() per cercare il campo name?

    Inoltre, perchè non utilizzi i singoli apici per delimitare le stringhe in $foto ed eviti tutti quegli escaping che rendono il codice difficilmente leggibile?
    Grazie per il consiglio, ma con mysql_fetch_array() non ho alcun problema per il momento e tutto funziona ad eccezzione dell'immagine nofoto.jpg.
    Prima di modificare qualche cosa se non ho lo script esatto me ne guardo bene dal crearmi altri problemi.
    Non penso sia mysql_fetch_array() che non mi fa vedere per ora l'immagine nofoto.jpg se questa dovesse risultare diversa dal numero della chiave primaria contenuta nella varie tabelle.
    In pratica la chiave primaria ha lo stesso nome dell'immagine se c'è, mentre dovrei far vedere una foto neutra (nofoto.jpg) se l'immagine del soggetto non fosse presene come file
    nella cartella che contiene tutte le immagini.

  6. #6
    Ho risolto.
    Tutte le istruzioni elencate all'inizio di questo post risultano funzionare con PHP Ver.5
    Smemoratamente non avevo inserito l'immagine nofo.jpg nella cartella
    ./images/Cani da cui viene chiamata
    e quindi da qui l'errore che non riuscivo a capire : getimagesize

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.