Visualizzazione risultati 1 fino 8 di 8

Discussione: Estrarre immagine dal database

  1. #1
    Guest

    Predefinito Estrarre immagine dal database

    Ciao a tutti, dovrei estrarre un immagine dal database sapendo id...
    il problema e se l'immagine non e caricata io vorrei fare che mi visualizzi un immagine preferita da me al posto del messaggio "Nessun profilo trovato2"...
    Codice PHP:
    <?php
    include '../config.php';
    if(isset(
    $_GET["id"])){
    $id = $_GET["id"];
    $profilo = mysql_query("SELECT * FROM network_utente WHERE id = '$id'");
    if(
    mysql_num_rows($profilo) == '0'){ echo 'Nessun profilo trovato.'; }else{
    if(
    $profilo[4] == '0'){ echo 'Nessun profilo trovato2.'; }else{
    $profilo2 = mysql_fetch_array($profilo);
    header("Content-type: image/png");
    echo
    $profilo2[4];
    }}}
    ?>

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Lo script non l'hai fatto te?

    Perché, se l'avevi fatto te credo che sapevi come modificarlo.

    Cmq, modifica lo script cosi:

    Codice PHP:
    <?php
    include '../config.php';
    if(isset(
    $_GET["id"])){
    $id = $_GET["id"];
    $profilo = mysql_query("SELECT * FROM network_utente WHERE id = '$id'");
    if(
    mysql_num_rows($profilo) == '0'){ echo 'Nessun profilo trovato.'; }else{
    if(
    $profilo[4] == '0'){ echo '<img src="imagine_predefinita" alt="Alternativa_immagine" />'; }else{
    $profilo2 = mysql_fetch_array($profilo);
    header("Content-type: image/png");
    echo
    $profilo2[4];
    }}}
    ?>
    Basta che modifichi immagine_predefinita con il percorso dell'immagine che te vuoi, e Alternativa_immagine con il testo che deve apparire se l'immagine non si dovesse visualizzare.
    Ultima modifica di sevenjeak : 10-10-2010 alle ore 11.17.05

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    1)Lo script lo fatto io..
    2)Io dovrei visualizzare l'immagine per poi metterla dopo nel tag img e non prima come hai fatto tu...
    3)come dici tu non funziona lo stesso perché lo script considera la pagina come se fosse un img...

  4. #4
    Guest

    Predefinito

    Occhio alle SQL Injection... Vi consiglio di utilizzare sempre il type casting, aumentando così la sicurezza. Nel caso utilizzi delle stirnghe, devi utilizzare le apposite funzioni (mysql_real_escape_string(), htmlspecialchars() ecc, ecc).
    Questo è il codice ripulito:
    Codice PHP:
    <?php
    include '../config.php';

    $id = (int) $_GET['id'];

    if (
    $id)
    {
    $sql = 'SELECT *
    FROM network_utente
    WHERE id = '
    . $id;
    $result = mysql_query($sql)
    $row = mysql_fetch_array($result); // Ti consiglio di usare mysql_fetch_assoc() , in qeusto modo popoli l'array con il nome del campo del DB.

    if (!mysql_num_rows($result))
    {
    echo
    'Nessun profilo trovato.';
    }
    else
    {
    if(!
    $profilo[4]) # Con mysql_fetch_assoc(), il 4 prende il nome del campo, semplificandoti il lavoro.
    {
    echo
    '<img src="imagine_predefinita" alt="Alternativa_immagine" />';
    }
    else
    {
    $profilo2 = mysql_fetch_array($profilo); # Idem come sopra.

    header("Content-type: image/png");

    echo
    $profilo2[4];
    }
    }
    }

    ?>
    Ora dovresti dire cosa memorizzi nel DB. Se memorizzi proprio l'immagine o se memorizzi un percorso.
    Poi dovresti postare la struttura della tabella ed utilizzare mysql_fetch_assoc() per semplificare il lavoro sia a chi ti aiuta che a te stesso.


  5. #5
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Scusa, avevo capito che volevi solo far apparire al posto del testo "Nessun profilo trovato2" una semplice immagine.

    Sevenjeak
    Software developer and much more

  6. #6
    Guest

    Predefinito

    Il campo foto
    `foto` blob NOT NULL,
    Il problema e che io dovrei fare se il campo foto sia vuoto, prenda un immagine da me prestabilita che si trova dentro una cartella...
    non so come controllare questo campo...
    Codice PHP:
    <?php
    include '../config.php';
    $id = (int)$_GET['id'];
    if(isset(
    $id)){
    $profilo = mysql_query("SELECT * FROM network_utente WHERE id = '$id'");
    $profilo2 = mysql_fetch_array($profilo);

    if(
    mysql_num_rows($profilo) == '0'){ echo 'Nessun profilo trovato.'; }else{
    header("Content-type: image/png");
    echo
    $profilo2[4];
    }}
    ?>

  7. #7
    Guest

    Predefinito

    Non hai scritto niente di nuovo... Posta la struttura COMPLETA della tabella e spiega cosa memorizzi nel DB...

  8. #8
    Guest

    Predefinito

    Tabella db:
    Codice PHP:
    CREATE TABLE IF NOT EXISTS `utente` (
    `
    id` int(11) NOT NULL auto_increment,
    `
    nome` varchar(11) NOT NULL default '',
    `
    foto` blob NOT NULL,
    PRIMARY KEY (`id`)
    )
    ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
    Ti spiego ogni utente deve avere un immagine del profilo, se ha un immagine mostro l'immagine, se l'utente non esiste mostro un messaggio "Nessun profilo trovato." , se l'utente esiste ma non ha nessuna immagine vorrei far mostrare un immagine ha mia scelta che si trova nel mio sito...
    Non riesco ad fare l'ultima condizione come posso fare...^^
    Codice PHP:
    <?php
    include '../config.php';
    $id = (int)$_GET['id'];
    if(isset(
    $id)){
    $profilo = mysql_query("SELECT * FROM network_utente WHERE id = '$id'");
    $profilo2 = mysql_fetch_array($profilo);

    if(
    mysql_num_rows($profilo) == '0'){ echo 'Nessun profilo trovato.'; }else{
    header("Content-type: image/png");
    echo
    $profilo2[4];
    }}
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •