Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Richiamare immagini tramite ciclo while

    Buongiorno a tutti,
    nei miei programmi scritti in PHP sono solito richiamare i dati precedentemente caricati in una tabella mysq con le seguenti righe di codice:

    (ipotizzando ad esempio una tabella con tre campi ID, AUTORE, COMMENTO)

    codice:
    mia_query = "SELECT * FROM mia_tabella ORDER BY id DESC";
    rs = @mysql_query("mia_query");
    while ($riga = mysql_fetch_array(rs)) {
    $str_id = $riga['id'];
    $str_autore = $riga['autore'];
    $str_commento = $riga['commento'];
    echo "$str_autore -- $str_commento 
    ";
    }
    In questo modo visualizzerò dinamicamente il contenuto della tabella riga dopo riga, ovvero i commenti con il rispettivo autore.

    Però vorrei inserire nella mia tabella un ulteriore campo colonna "IMMAGINI" nel quale andrò a caricare appunto un immagine per ogni riga della tabella.
    E vorrei poi visulizzare questa immagine in ogni riga dell'istruzione echo subito dopo il commento.
    Mi è chiaro il procedimento per caricare le immagini nella tabella tramite un form, ma non so come inserirle poi nel ciclo while in modo che mi vengano visualizzate riga per riga insieme alle altre informazioni.
    Qualcuno può aiutarmi?
    Grazie.

  2. #2
    Ciao,
    io inserirei nella nuova colonna "immagine" il nome (completo di path) dell'immagine e poi aggiungerei il tag img all'echo, così:

    codice:
     mia_query = "SELECT * FROM mia_tabella ORDER BY id DESC";
     rs = @mysql_query("mia_query");
     while ($riga = mysql_fetch_array(rs)) {
     $str_id = $riga['id'];
     $str_autore = $riga['autore'];
     $str_commento = $riga['commento'];
     $str_immagine = $riga['immagine'];
     echo "$str_autore -- $str_commento [img]" . $str_immagine . "[/img]
    ";
     }
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Originariamente inviato da NonCeLaFaccio+
    Ciao,
    io inserirei nella nuova colonna "immagine" il nome (completo di path) dell'immagine e poi aggiungerei il tag img all'echo, così:

    codice:
     mia_query = "SELECT * FROM mia_tabella ORDER BY id DESC";
     rs = @mysql_query("mia_query");
     while ($riga = mysql_fetch_array(rs)) {
     $str_id = $riga['id'];
     $str_autore = $riga['autore'];
     $str_commento = $riga['commento'];
     $str_immagine = $riga['immagine'];
     echo "$str_autore -- $str_commento [img]" . $str_immagine . "[/img]
    ";
     }
    Un solo appunto, il path lascialo fuori, cosi se lo cambi non devi toccare i dati nel database.
    Ciao!

  4. #4
    Un solo appunto, il path lascialo fuori, cosi se lo cambi non devi toccare i dati nel database.
    Uhmmmm, non sono completamente d'accordo.

    Il path è un'informazione legata all'immagine, è, in un certo senso, parte dell'immagine stessa quindi, a mio avviso, è corretto che stia nel db con i dati e non nel pgm con le istruzioni.
    Posso capire che diventerebbe più facile modificare il path in un punto solo, cioè nel programma, ma questo irrigidirebbe la struttura impedendo per esempio, di memorizzare le immagini in diverse cartelle (nulla vieta, infatti, di creare una cartella immagini per ogni utente o per classi di utenti, o per argomenti ecc...)
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  5. #5
    Originariamente inviato da NonCeLaFaccio+
    Uhmmmm, non sono completamente d'accordo.

    Il path è un'informazione legata all'immagine, è, in un certo senso, parte dell'immagine stessa quindi, a mio avviso, è corretto che stia nel db con i dati e non nel pgm con le istruzioni.
    Posso capire che diventerebbe più facile modificare il path in un punto solo, cioè nel programma, ma questo irrigidirebbe la struttura impedendo per esempio, di memorizzare le immagini in diverse cartelle (nulla vieta, infatti, di creare una cartella immagini per ogni utente o per classi di utenti, o per argomenti ecc...)
    Appunto, ogni utente ha un suo id, o username... e usi quello.
    Mentre se ad esempio hai un db con le foto degli iscritti, e poi per separare meglio vuoi dividere i maschi dalle femmine, cosi puoi farlo, con il percorso completo è un casino.

    Cioè, io separerei completamente il file system e l'organizzazione delle cartelle dal database.
    Ciao!

  6. #6

    @ Noncelafaccio+

    ho provato il tuo metodo e funziona
    ora riesco a visualizzare le immagini col ciclo while.
    Per fare la prova ho inserito manualmente il path dell'immagine nel database, ma dovendo farlo attraverso un form come faccio? ad esempio io avevo creato questo:

    codice:
    <form action="isc.php" Method="Post" enctype="multipart/form-data" name="upload">
    Autore:
    
    <input type="text" name="autore" size="15" maxlength="50">
    
     
    Commento:
    
    
    <textarea name="commento" rows="6" cols="50"></textarea>
    
    
    Immagine:
    
    <input type="file" name="immagine">
    
    
    <input type="submit" name="invia" value="Ok"></td>
    che mi permetteva di caricare l'immagine nel database. Ma per il path?
    Devo proprio creare un altro input text dove scrivere il percorso del file? scusa probabilmente è una domanda stupida ma non ci arrivo....

  7. #7
    Mettilo tu nella query
    Ciao!

  8. #8
    quindi tenendo buono il form scritto in precedenza dovrei fare una roba del genere:

    codice:
    "INSERT INTO mia_tabella (autore,commento,immagine,url) VALUES($var_autore,$var_commento,$var_immagine,$url_immagine)";

    è cosi?
    ma come recupero l'URL dell'immagine appena caricata?

  9. #9
    Ciao,
    l'url lo decidi tu nella upload, cioè sei tu a decidere dove mettere le immagini che ti vengono inviate, non è un'informazione che devi chiedere all'utente con un campo di testo o che devi "recuperare" in qualche modo.

    Ah, per inciso, devo riconoscere che il suggerimento di fmortara (non memorizzare il path nel db ma costruirlo nel programma) è migliore del mio perché permette di utilizzare path dinamici, decisamente più versatili.
    In questo modo per esempio potresti fare una cartella di immagini per ogni utente.

    Quindi non inserire il path in tabella, costruiscilo dinamicamente nella fase di upload e nella costruzione del tag IMG.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  10. #10
    dovete scusarmi ma non ho le vostre conoscenze a avrei bisogno che mi buttate giù 2 righe di codice per capire come realizzare questa cosa....

    Grazie ai vostri consigli ho capito che per richiamare le immagini in una pagina uso dopo l'istruzione echo il tag img che come src="" ovviamente deve avere l'url dell'immagine.
    Quindi supponendo che il mio form sia:

    codice:
    <form action="invio_file.php" method="post">
     <input type="text" name="commento">
     
    <input type="file" name="file_inviato">
     
    <input type="submit" value="Invia"> 
    </form>
    non è che siete cosi gentili da scrivermi, come avete suggerito voi, il codice per poter
    1 - costruire dinamicamente il path nella fase di upload
    2 - inserire il path nel tag img (come spiegato in precedenza)

    Grazie infinite e scusate se rompo le palle....

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.