Visualizzazione risultati 1 fino 8 di 8

Discussione: Consiglio php

  1. #1
    Guest

    Predefinito Consiglio php

    Ciao a tutti, nel mio database ho diversi campi tra cui image dove inserisco l'url dell' immagine ( quindi è varcar e non blob). Il problema è che quando faccio l'estrazione dei dati, mi escono tutti i dati tranne l'immagine il cui codice è:

    Codice PHP:
    <img src=\" ".$immagine." \" width=\"20%>
    Mi risulta titolo e gli altri campi, ma questo non mi risulta l'immagine.

  2. #2
    Guest

    Predefinito

    Intanto c'è un errore di sintassi nel codice che hai scritto, manca un "" in src.

    Poi, se non ho capito male, tu vuoi riprendere una immagine memorizzata in un DB e metterla in un pagina.
    Beh, se è così, stai sbagliando strada. Il tag <img> legge solo una immagine memorizzata in un file e non da codice binario.

    Io ti consiglierei di memorizzare le immagini nel filesystem e memorizzare solo il percorso, ed inserire poi questo nel tag <img>

  3. #3
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Assumendo che $image contenga l'URL, assoluto o relativo, dell'immagine:
    Codice HTML:
    <img src="<?= $image ?>" alt="" />
    O, se non ti piacciono i tag abbreviati:
    Codice HTML:
    <img src="<?php echo $image ?>" alt ="" />
    Diversa sarebbe la questione se memorizzassi le immagini nella base di dati (BLOB e simili) anziché nel filesystem, ma non mi sembra sia questo il caso.


    EDIT: Per completezza ecco il codice analogo in PHP:
    Codice PHP:
    echo "<img src='$image' alt='' />";
    PS: Nella maggior parte dei casi, quando l'immagine non viene visualizzata, è a causa di un URL sbagliato.
    Ultima modifica di mzanella : 14-02-2016 alle ore 14.31.36 Motivo: Informazioni aggiuntive

  4. #4
    Guest

    Predefinito

    Ho provato,ma non esce l'immagine. Il codice è questo:
    Codice PHP:
    ...
    $row = mysql_fetch_array($query) or die (mysql_error());
    $prezzo = stripslashes($row['prezzo']);
    $titolo = stripslashes($row['articolo']);
    $descrizione = stripslashes($row['descrizione']);
    $immagine= stripslashes($row['immagine']);
    echo
    "<div class=\"articolo\"><div align=\"center\"><br><img src=\'".$immagine."\' height=\"20%\"><h1>".$titolo."</h1><br><p><b>€".$prezzo."</b></p><br><p>".$descrizione."</p><br><br></li></td></tr><br><br></table></div></div>";
    echo include (
    'button.php');

  5. #5
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Il codice sembra abbastanza corretto, controlla che l'URL sia corretto, ad esempio stampandolo o con un var_dump.

  6. #6
    Guest

    Predefinito

    Non so come si fa...

  7. #7
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Scusa, in effetti avrei dovuto mostrarti come!

    Con var_dump puoi eseguire una "stampa esaustiva" del contenuto di una variabile. Nel tuo caso
    Codice PHP:
    var_dump($immagine);
    che stampa il contenuto di $immagine. Funziona anche per strutture dati complesse, ad esempio se le passi un vettore te ne mostra tutti gli elementi.

    Siccome la variabile che ti interessa è una stringa, puoi anche stamparne il contenuto con una semplice echo:
    Codice PHP:
    echo $immagine;
    In questo contesto quest'ultima è anche la soluzione più immediata, che nel tuo codice si traduce in:
    Codice PHP:
    echo "<div class='articolo'>
    <div align='center'>
    URL:
    $immagine
    <img src='
    $immagine' height='20%'>...";
    Questo stampa l'URL dell'immagine prima dell'omonimo tag.

    Una terza alternativa sarebbe stata sfruttare il comando "ispeziona elemento" (o analogo) del browser per controllare l'indirizzo che viene inserito da PHP nell'immagine.

    PS: Per semplicità di scrittura ho sostituito gli apici doppi con quelli singoli, in modo da non dover usare gli escape, e ho usato l'interpolazione anziché la concatenazione tra stringhe. Non c'è nessuna controindicazione nel fare diversamente.

  8. #8
    Guest

    Predefinito

    Perfetto, ce l'ho fatta ;)
    Grazie Mille.

Tags for this Thread

Regole di scrittura

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