Visualizzazione dei risultati da 1 a 4 su 4

Discussione: immagine di default

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282

    immagine di default

    per mostrare un'immagine prelevata da una tabella uso la seguente istruzione:

    [img]mostra.php?codice=<?php echo $row_Recordset1['de_pro']; ?>[/img]

    il file mostra.php è il seguente:

    <?
    ....
    .....
    // variabile da ricercare = codice
    $codice = $HTTP_GET_VARS['codice'];
    // query per recuperare il file
    $query = 'SELECT * FROM archivio WHERE de_pro = '.$_GET['codice'];
    //echo $query;
    $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
    $tmp = mysql_fetch_array($risultato);
    // invio una intestazione contenente il tipo MIME
    header('Content-Type: image/jpeg');
    echo $tmp['de_img'];
    ?>

    il tutto funziona perfettamente.

    però, nel caso in cui sulla tabella non trovo l'immagine vorrei visualizzare un'immagine standard ('prova.jpg') che risiede nella stessa cartella degli script.
    l'ho fatto nello script chiamante e funziona, solo che vorrei invece implementarlo all'interno dello script 'mostra.php'.
    come posso intervenire?

    grazie

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    La prima idea che mi viene sarebbe un redirect diretto sull'immagine se non trovi la riga di tabella.
    E' una cosa che non ho mai provato, quindi non garantisco che funzioni; non dovesse, puoi sempre leggere il file con le funzioni di file e buttarlo fuori al posto del campo della tabella

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    ciao, grazie per l'intervento.
    ho provato a fare come dici tu (leggendo il file di default) ma qualcosa sbaglio (forse nella lettura del file...)

    ho fatto così:

    ...
    ....
    // variabile da ricercare = codice / tipofile = selezione della tabella
    $codice = $HTTP_GET_VARS['codice'];
    $tipofile = $HTTP_GET_VARS['tipofile'];
    $fotografia = "";

    // query per recuperare il file
    if ($nomefile == 'D' ) {
    $query = 'SELECT * FROM file1 WHERE de_pro = '.$_GET['codice'];
    $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
    $tmp = mysql_fetch_array($risultato);
    $righe = mysql_num_rows($risultato);
    $fotografia = $tmp['de_img'];
    }
    else
    {
    $query = 'SELECT * FROM file2 WHERE im_progr = '.$_GET['codice'];
    $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
    $tmp = mysql_fetch_array($risultato);
    $righe = mysql_num_rows($risultato);
    $fotografia = $tmp['im_foto'];
    }

    if ($righe < 1) {
    // non ho trovato il record devo caricare l'immagine di default
    $foto_standard = "prova.jpg";
    $fotografia = addslashes(fread(fopen($foto, "rb"), filesize($foto_standard)));
    }
    // invio una intestazione contenente il tipo MIME
    header('Content-Type: image/jpeg');
    echo $fotografia;
    ?>

    mi puoi aiutare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    per essere più precisa:
    se ho trovato il record sulla tabella l'immagine la mostro regolarmente, il problema c'è quando non trovo il record e quindi dovrei leggere l'immagine di default.
    potrei creare un record con chiave 'particolare' e foto di default ed andarlo a leggere quando non trovo immagini, ma mi sembra un modo troppo tortuoso.
    credo che come ho fatto possa funzionare, ma sarà sbagliata la sintassi...

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.