Visualizzazione risultati 1 fino 16 di 16
Like Tree2Likes
  • 1 Post By mzanella
  • 1 Post By mzanella

Discussione: Stampare a video immagine sita in una cartella, tramite richiamo di un campo DB

  1. #1
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito Stampare a video immagine sita in una cartella, tramite richiamo di un campo DB

    Salve,
    premesso che di Php ne so molto poco, ho creato una tabella dal pannello PhpMyAdmin con vari campi, uno di questi si chiama "img" e contiene il nome del file immagine, situato in una cartella.

    Ho poi creato un file php che mi visualizza tutti i dati inseriti nella tabella, tutto ok per i campi testo (varchar).

    Ora però non riesco a far vedere l'immagine nel file.php
    o mi visualizza il nome del file (es. miaimg.jpg) o mi esce l'icona di immagine non trovata

    Ho provato diversi comandi:
    Codice PHP:
    <?php echo $img; ?>
    Codice PHP:
    <?php print "<img src='http://miosito.altervista.org/immdiz/".$filename."'>" ?>
    Codice PHP:
    <?php $url='http://miosito.altervista.org/immdiz/';
    echo
    "<img src='".$url."'>"; ?>
    Grazie anticipatamente chi mi aiuterà

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

    Predefinito

    Sia $file_name il nome dell'immagine letto dalla colonna img della tua tabella, comprensivo di estensione (ad esempio immagine.jpg), e http://miosito.altervista.org/immdiz/ la cartella in cui tutte le immagini sono salvate:
    Codice PHP:
    <?php
    echo '<img src="http://miosito.altervista.org/immdiz/' . $file_name . '">';
    ?>

    I suggerimenti che do più spesso:


  3. #3
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Grazie per avermi risposto, ma non funziona!
    Mi visualizza l'icona d'immagine non trovata anche nei campi dove non c'è scritto nessuna immagine.

    Il percorso della cartella è giusto (nella barra indirizzi, vedo l'immagine);
    il campo img è settato tipo VARCHAR, predefinito NULL, codifica caratteri utf8_general_ci
    Nel campo "img" ho messo il nome file senza percorso, esempio lanterna1.jpg

    Dove sbaglio?

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

    Predefinito

    Sotto le due ipotesi indicate funziona.

    Se non funziona significa che almeno una delle due non è soddisfatta, probabilmente $file_name non contiene il nome dell'immagine.
    Mostra il codice, includendo la parte di lettura dalla base di dati.

    Mi visualizza l'icona d'immagine non trovata anche nei campi dove non c'è scritto nessuna immagine.
    Cosa intendi?

    il campo img è settato tipo VARCHAR, predefinito NULL, codifica caratteri utf8_general_ci
    Se la colonna img può essere NULL devi gestire anche la possibilità che il valore letto sia null, ad esempio evitando di generare il tag <img>.

    I suggerimenti che do più spesso:


  5. #5
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Ecco il codice:
    Codice HTML:
    <?php
    
    	$numero=(int) $_POST['numero'];  
    
    	//$numero=$_POST["numero"];
            $numvis=20;
                        
    ?>
    
    
    
    <!doctype html public "-//w3c//dtd html 4.0 Transitional//EN">
    <HTML>
    <head>
    </head>
    
    <BODY>
    .....
    
       <?php
    
    // connessione al database
    
    		$db_host = "localhost";
    		$db_user = "paolin";
    		$db_name = "my_paolin";
    
    		$db = mysql_connect($db_host, $db_user);
    		if ($db == FALSE)
    			die ("Errore nella connessione.");
    
    		$res = mysql_select_db($db_name);
    		if ($res == FALSE)
    			die ("Errore nella selezione del DB.");
    
    
    		// Query per selezionare gli ultimi 20 messaggi in ordine cronologico
    		
    		$query="SELECT * FROM dizgeagri ORDER BY Parola ASC"; 
     		$risultati=mysql_query($query);
     
    		$ultimo=mysql_numrows($risultati);
     		mysql_close();
    
     
         $i=$numero;
         while ($i <=($numvis+$numero)) {
             $Parola=mysql_result($risultati,$i,"Parola");
             $Traduz=mysql_result($risultati,$i,"Traduz");
    	 $note=mysql_result($risultati,$i,"note");
    	 $categ=mysql_result($risultati,$i,"categ");
    	 $img=mysql_result($risultati,$i,"img");
    
    		
    
    ?>
    
    <?php Echo $Parola; ?></B> <font color="#707070">
    <?php echo $categ; ?>
    </font></font>
    	<font size='2' color='#000090'><B>
    <?php echo $Traduz; ?>
    </B><br>
    <?Php echo $note; ?>
    
    <?php 
    echo '<img src="http://paolin.altervista.org/immdiz/' . $file_name . '">'; 
    ?>
    
    <?php 
     $i++; 
     } 
     ?>
    
    
    <?php 
         $numero2=$numero+$numvis;
         if ($numero2>=$ultimo) $numero2=$ultimo-$numvis;
         
    ?>
    
    <form action="dizge-tutto.php" method="post"> 
    prossimi 20 mess<input type="hidden" name="numero" value=<?php echo $numero2; ?>>
    <input type="submit" value="Avanti" style="width:64px; height:20px;" class="button b-form"> <font size=4>>
    </form>
    Il risultato è qui http://paolin.altervista.org/dizge-tutto4.php

  6. #6
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Nessuno mi può aiutare? E' così difficile o è troppo banale?
    Grazie a chi mi aiuterà

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

    Predefinito

    Ma sì che ti aiutiamo, basta un po' di pazienza

    Codice PHP:
    <?php
    echo '<img src="http://paolin.altervista.org/immdiz/' . $img . '">';
    ?>
    Nel codice hai chiamato $img la variabile che contiene il nome dell'immagine letto dalla base di dati mentre io, non sapendolo, l'avevo chiamato $file_name.

    Un'osservazione: le funzioni mysql_* sono deprecate: presto o tardi saranno rimosse dal linguaggio. Dovresti passare a mysqli o PDO.
    paolin likes this.

    I suggerimenti che do più spesso:


  8. #8
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Funziona! Grazieee!!! Sapessi quante ore c'ho perso...
    Però funziona solo con le immagini .jpg , con le .gif no: c'è ancora qualche errore mio o non è previsto le gif?
    C'è poi un modo per impostare le dimensioni dell'immagine? Ho provato con
    Codice HTML:
    width=
    ma non va.

    le funzioni mysql_* sono deprecate: presto o tardi saranno rimosse dal linguaggio. Dovresti passare a mysqli o PDO.
    Si, l'ho letto in giro per il web, già le mie conoscenze son scarse così... se ci fosse qualche manuale semplice in italiano...

  9. #9
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Risolto i problemi di larghezza immagini così
    Codice PHP:
    <?php
    echo '<img src="http://paolin.altervista.org/immdiz/' . $img . '" width="50">';
    ?>
    Per la domanda sulle .gif anche lì ho risolto: avevo scritto male il nome

    GRAZIE ancora molte!!!!

    Per le funzioni mysql_* deprecate, se hai qualche consiglio...

  10. #10
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Scusa se approfitto della tua gentilezza, ma c'è ancora un problema
    ma appare qualcosa anche dove c'è un campo senza immagini

    mi avevi detto di gestire
    la possibilità che il valore letto sia null,
    come faccio?
    grazie

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

    Predefinito

    Ben fatto !
    mysqli è molto simile a mysql, su Google puoi trovare molte risorse.

    ma appare qualcosa anche dove c'è un campo senza immagini
    Codice PHP:
    <?php
    if (!is_null($img)) {
    echo
    '<img src="http://paolin.altervista.org/immdiz/' . $img . '" width="50">';
    }
    ?>
    Ultima modifica di mzanella : 05-10-2018 alle ore 18.51.59
    paolin likes this.

    I suggerimenti che do più spesso:


  12. #12
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    Sei Grande! Grazie mille!!!

  13. #13
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Predefinito

    <?php
    if (!is_null($img)) {
    echo '<img src="http://paolin.altervista.org/immdiz/' . $img . '" width="50">';
    }
    ?>
    Scusa, ma se nel campo della tab. db avessi DUE immagini da visualizzare? (fermo restando la possibilità che il campo sia NULL o con UNA immagine)

    Grazie in anticipo per la risposta

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

    Predefinito

    In quel caso basta "duplicare" quel codice:
    Codice PHP:
    if (!is_null($img)) {
    echo
    '<img src="http://paolin.altervista.org/immdiz/' . $img . '" width="50">';
    }

    if (!
    is_null($img2)) {
    echo
    '<img src="http://paolin.altervista.org/immdiz/' . $img2 . '" width="50">';
    }
    In questo esempio ho chiamato la seconda immagine $img2, dovrai provvedere a sostituire il nome della variabile con quello che usi nel tuo codice.

    I suggerimenti che do più spesso:


  15. #15
    paolin non è connesso Utente
    Data registrazione
    13-02-2014
    Messaggi
    127

    Red face

    Grazie mzanella!!!
    Pensavo che si potesse mettere 2 immagini nello stesso campo...

    Ho fatto così:
    Codice PHP:
    <php
    ......
    $i=$numero;
    while (
    $i <=($numvis+$numero)) {
    $Parola=mysql_result($risultati,$i,"Parola");
    $Traduz=mysql_result($risultati,$i,"Traduz");
    $note=mysql_result($risultati,$i,"note");
    $categ=mysql_result($risultati,$i,"categ");
    $img=mysql_result($risultati,$i,"img");
    $img2=mysql_result($risultati,$i,"img2");


    ?>
    ....
    Codice PHP:
    <?php
    if (!is_null($img)) {
    echo
    '<br><img src="http://paolin.altervista.org/immdiz/' . $img . '" width="120" height="100">';
    }
    if (!
    is_null($img2)) {
    echo
    '&nbsp;<img src="http://paolin.altervista.org/immdiz/' . $img2 . '" width="120" height="100">';
    }
    ?>
    Poi ho creato un secondo campo nella tabella db e vi ho messo dentro il nome della seconda immagine.
    Funziona!!!
    Grazie mille! Ciao

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

    Predefinito

    Prego !

    I suggerimenti che do più spesso:


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
  •