Visualizza foto da un db mysql

Stato
Chiusa ad ulteriori risposte.

gracito

Utente Attivo
30 Mag 2010
109
0
0
Buongiorno a tutti.

Sto avvicinandomi ora al Php, ho realizzato un db con mysql con diversi campi id, nome , foto
il campo foto e un campo di testo dove vi è l'indirizzo della foto.
Ho creato un form con campo id nome e foto che deve essere di dimensioni 4x3 e cliccandoci sopra aprirla a schermo intero, ma non riesco a visualizzare quest'ultima, qualcuno puo' aiutarmi?
Questa è una parte del codice, penso sia quella incriminata.

?>
</tr>
</table>
<table border= "1" width="450" align="center">
<br> <br> <br>
<tr>
<td width="150" ><div align="center"><b>Foto</b></div></td></tr>
<?php
$db = mysql_connect("localhost","root","");
mysql_select_db("foto", $db);

$result =mysql_query("SELECT * FROM foto Where ID=$ID" );


while($myrow=mysql_fetch_array($result))

echo "<p><td><img scr=\"{$myrow['$myrow[Foto]']}\"/></p></td></tr>";



?>
</tr>
</table>
</div>
</body>
</html>

Grazie
:hammer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao intanto prova così
prova così

PHP:
echo "<p><td><img scr=\"".$myrow['Foto']."\"/></p></td></tr>";
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ecco come fare per cliccare sopra e fare aprire la foto (se in altra finestra devi mettre target="_blank")

PHP:
echo "<a href=\"".$myrow['Foto']."\"><img scr=\"".$myrow['Foto']."\"/></a>";

//oppure se vuoi inviare ad una pagina invece che direttamente alla foto

echo "<a href=\"pagina_foto.php?foto=\"".$myrow['Foto']."\"><img scr=\"".$myrow['Foto']."\"/></a>";
//e in pagina_foto.php raccogli con $_GET['foto'] e la visualizzi;

guarda mi sembra che tu non utilizzi le mniniature delle foto, quandi la grandezza rimane sempre la stessa
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
non riesco a visualizzare la miniatura della foto cliccandoci sopra mi compare nella barra di stato l'indirizzo dove è la foto ma non riesce ad aprirla.

Questo è il codice.

<td width="50"><div align="center"><b>Id </b></div></td>
<td width="200"><div align="center"><b>Cognome </b></div></td>
<td width="150"><div align="center"><b>Nome</b></div></td>
<td width="150"><div align="center"><b>Anni</b></div></td>
<td width="150"><div align="center"><b>Foto</b></div></td>

<?php



$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);

$result =mysql_query("SELECT * FROM mia Where ID=$ID" );


while($myrow=mysql_fetch_array($result))


echo "<tr>
<td>$myrow[Id]</td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>
<td><a href=\"".$myrow['Foto']."\"><img scr=\"".$myrow['Foto']."\"/></a></td>
</tr>";

?>
</tr>
</table>
</div>
</body>
</html>


Grazie Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
hai controllato se i percorsi sono giusti?
comunque, metti un var_dump (che poi toglierai)

PHP:
//...................
var_dump($myrow['Foto']);
echo "<tr>
<td>$myrow[Id]</td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>
<td><a href=\"".$myrow['Foto']."\"><img scr=\"".$myrow['Foto']."\"/></a></td>
</tr>";
//................

e guarda cosa ti restituisce
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Mi appare string(8) "C:\1.JPG" il percorso è giusto, se clicco sulla miniatura mi riporta a localhost.

Cosa può essere? Boooooooo!!!!!!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
Ciao
Intanto una cosa nel db non sarebbe bene mettere il nome della foto con il percorso, e se nel var_dump vedi string(8) "C:\1.JPG" c’è (?) un percorso. Ho messo il punto ? perché mi sembra strano comunque che tu abbia messo la foto nella root del disco fisso.
Comunque la miniatura la vedi?
E se ci passi sopra col muose (stai lavorando in locale?) dovresti vedere nella riga di comando qualcosa del genere

http://localhost:8080/cartella/foto.jpg

se non vedi qualcosa del genere stai sbagliando qualcosa

normalmente nel db si mette solo il nome della foto, quindi il var_dump dovrebbe restituire

string(5) 1.jpg

poi si mette la cartella in php

PHP:
$percorso=”cartella_foto/”;
echo "<a href=\"".$percorso .$myrow['Foto']."\"><img scr=\"".$percorso .$myrow['Foto']."\"/></a>";
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

Ho messo la foto in c: solo per provarla ma nulla non riesco a visualizzarla, ho provato creando una cartella Foto e inserirla in php dove all'interno c'era la foto 1.jpg nel db ho messo solo il nome della foto 1.jpg ecco il codice,
$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);
$result =mysql_query("SELECT * FROM mia Where ID=$ID" );
$percorso="C:\Documents and Settings\user\Desktop\xampp-win32-1.7.3\xampp\php\Foto/"; E' CORRETTO !!!!!!!!

while($myrow=mysql_fetch_array($result))
var_dump($myrow['Foto']);
echo "<tr>
<td>$myrow[Id]</td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>

<td><a href=\"".$percorso .$myrow['Foto']."\"><img scr=\"".$percorso .$myrow['Foto']."\"/></a></td>

passando sopra la miniatura vedo il percorso della variabile $percorso

C:/Documents and Settings/user/Desktop/xampp-win32-1.7.3/xampp/php/Foto/
cliccandoci sopra non succende niente.

Dove sbaglio?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
Ciao
Guarda che se sei in queste condizioni (ti schematizzo, + rappresenta una cartella/sottocartella)

+php
|--pagina_che_chiama.php
|-- +foto​
|-- 1.jpg​

Il percorso che devi mettere nella pagina_che_chiama.php è

$percorso="foto/”;
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
Devi avere un po di pazienza e solo una settimana che mi sono avvicinato al php.

Ti spiego meglio cosa ho fatto, ho creato un db in access con circa 1000 record, ognuno di
questi aveva tre fotografie i campi erano tre campi di testo dove ho inserito il percorso delle foto.
Poi ho convertito il db da access a mysql e mi sono ritrovato una tabella con i campi foto con questa
dicitura C:FotoA17-01-2008EPSN0004.JPG le 3000 foto sono messe in una cartella pricipale Foto
e poi in sottocartelle A B C etc e a loro volta divise in altre sottocartelle.
Ho creato in php un form con la possibilità di selezionare i pazienti per none o cognome id etc,
poi cliccando sull'id mi apre una nuova pagina php dettagli dove mi DOVREBBERO comparire tutti i dati del paziente con le tre relative foto, riesco a far comparire solo i dati per quanto riguarda le foto mi compare solo la migniatura ma non della foto e poi cliccandoci sopra dovrebbe aprirsi a schermo intero.
Capisco che una settimana di esperienza è un po poco, tri chiedo un po di pazienza.
Avendo tutte le foto in diverse sottocartelle come posso dargli la variabile $percorso corretamente?
Ti ricordo che le foto sono in diverse sottocartelle? Cosa mi consigli di fare oltre che continuare a studiare?

Grazie

Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
fammi capire dove sono le foto rispetto alla pagina in cui visualizzi la miniatura(miniature e foto sono nella stessa cartella?).
pulisci il db , quando richiami i campi col nome delle foto elimini C:

PHP:
$myrow['Foto']=str_replace("C:","",$myrow['Foto'];

p.s.
guarda che per miniatura si intende la stessa foto ma con dimensioni più piccole, l'originale (es 1000x800px) e la piccola (es 100x80px) le due immagini devono avere un nome diverso, usualmete
l'originale foto1.jpg (o quello che è)
la miniatura tumb_foto1.jpg
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
mi nono spiegato male non vedo la miniatura della foto ma l'icona che mette il comando
<img src.....

In poche parole non riesco a vedere la miniatura della foto.
Dove mi ingarbuglio?

Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa togli il C: al nome delle foto, fatti questa paginetta e chiamala come vuoi es tilcli_C.php
e la richiami
PHP:
<?php
//qui i dati di connessione

$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);
$result =mysql_query("SELECT ID,Foto FROM mia" );
while($myrow=mysql_fetch_array($result)){
	$id=$myrow['ID'];
	$foto=$myrow['Foto'];
	$foto=str_replace("C:","",$foto);
	$query="UPDATE mia SET Foto='$foto' WHERE ID='$id'";
	mysql_query($query);
}
?>

per secondo metti la pagina che richiama le foto nella root e creati una cartella es chiamata immagini
nella cartella immagini devi mettere gli originali e le miniature es
foto1.jpg tumb_foto1.jpg
foto2.jpg tumb_foto2.jpg
foto3.jpg tumb_foto3.jpg
ecc...ecc...

poi le richiami e per vedere tutte le foto coi nomi

PHP:
<?php
$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);
$result =mysql_query("SELECT * FROM mia ORDER BY cognome,nome" );
while($myrow=mysql_fetch_array($result))
	$percorso="immagini";
	echo "<tr>
	<td>$myrow[Id]</td>
	<td>$myrow[Cognome]</td>
	<td>$myrow[Nome]</td>
	<td>$myrow[Anni]</td>
	<td><a href=\"".$percorso.$myrow['Foto']."\"><img scr=\"",$percorso."tumb_".$myrow['Foto']."\"/></a></td>
	</tr>";
}
?>

guarda che quanto sopra è sintatticamente corretto (anche quello che avevi scritto tu è sinttaticamente corretto) per php.
quindi se non vedi le miniature e le foto o sbagli coi nomi o coi percorsi
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

Era solo un problema di percorso ho creato la cartella immagini nella root e vi ho inserito
la foto 1.jpg e cliccando sulla miniatura standard non quella della foto mi apre la foto
a schermo intero. Ora devo riuscire a vedere la foto in miniatura es. un 250x200 px.
Perchè se il collegamento alla foto ora funziona non riesco a visualizzarla?
Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
con un programma di grafica modifica 1.jpg riducendola ai px che vuoi e salvala con nome tumb_1.jpg sempre nella cartella immagini

PHP:
"<td><a href=\"".$percorso.$myrow['Foto']."\"><img scr=\"".$percorso."tumb_".$myrow['Foto']."\"/></a></td>"

p.s.
guarda che avevo fatto un errore di battitura una , al posto del . "><img scr=\"",
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

come ti dicevo riesco a vedere le foto ma non la miniatura con questo codice
<?php

$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);

$result =mysql_query("SELECT * FROM mia Where ID=$ID" );

while($myrow=mysql_fetch_array($result))

echo "<tr>
<td>$myrow[Id]</td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>

<td><a href=\"".$myrow['Foto']."\"><img scr=\"".$myrow['Foto']."\"/></a></td>
</tr>";


Ho soltanto creato la cartella immagini e inserito le foto come mi avevi detto e inserita nel root.
Non ho utilizzato la variabile $percorso anche perchè le 3000 foto sono in diverse sottocartelle e ancora in sottocartelle. Pensavo di lasciare lo stesso percoso nel db visto che è già caricato.

ho provato ridimensionando al foto tumb_1.jpg ma nessun anteprima, con questo codice,

"<td><a href=\"".$myrow['Foto']."\"><img scr=\""."tumb_".$myrow['Foto']."\"/></a></td>"

Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa un momento, tu dici

Non ho utilizzato la variabile $percorso anche perchè le 3000 foto sono in diverse sottocartelle e ancora in sottocartelle. Pensavo di lasciare lo stesso percoso nel db visto che è già caricato.
non mi dirai che dentro il campo hai il percorso con il nome della foto?
se è così, ma questa è una mia opinione, una cosa più assurda non la potevi fare.
se vuoi il percorso per ogni foto dovresti mettere un altro campo nella tabella. es.
percorso -> cartella_1
foto -> foto1.jpg

quando leggi la tabella estrai sia il percorso della foto che il suo nome
queso perche se nel campo nome della foto hai

immagini/foto1.jpg

quando cerhi di avere la minitatura risulta l'html

<img scr="tumb_immagini/foto1.jpg"/>
per forza non la trova


secondo me devi ripensare al tutto, se hai pazienza ti faccio avere un esempio di come dovresti fare
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
hai perfettamente ragione come diceva qualcuno "è più facile vedere la trave nell'occhio del vicino che una paglizza nel proprio"
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

Ok ora visualizza anche la miniatura.

Si ho caricato le tremila foto come ti dicevo in un db di access in un campo di testo dove
vi era l'indirizzo della foto C:\Foto..........jpg. ho fatto abbatanza infretta erano tutti coppia incolla.
Ho creato una cartella principale "Foto" delle sottocartelle A B C e dove all'interno alcune foto
hanno lo stesso nome mi sono state passate da un amico già nominate e mi sembrava perditempo
rinominarle tutte.

Grazie per l'esempio sarà gradito avro pazienza e ci rimmetterò le mani.

Grazie
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
C [PHP] Aiuto su visualizza foto da cartella PHP 6
I visualizza file sottocartella elimina singolo file PHP 1
S Visualizza l'errore di creazione in MSSQL Database 4
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
I visualizza stanze chat e accesso stanza PHP 1
L php mysql cerca e visualizza pagina PHP 0
I visualizza profilo utente utente in chat PHP 0
I [PHP] visualizza file pdf in una cartella e download PHP 7
M [Javascript] Visualizza contenuto file XML aggiornato con text scroll Javascript 0
Shyson Word 2011 non visualizza immagini Mac e Software 2
S Login, visualizza e cancella. PHP 3
pup3770 Ricerca da una pagina e visualizza in un'altra PHP 4
S Access 2007 blocco visualizza riquadro MS Access 0
J Mappa che visualizza daove sei PHP 7
M visualizza video jQuery 0
A Non visualizza google map dentro la mia app Android Sviluppo app per Android 1
D DVD da 3gb visualizza solo 700mb Windows e Software 0
M Dreamweaver non visualizza file swf nell'anteprima browser Webdesign e Grafica 0
G script Java non visualizza i decimali :( Javascript 4
L menu select che visualizza le cartelle di una cartella PHP 16
I gallery visualizza la prima immagine PHP 18
T visualizza cartella Classic ASP 4
J browser che non visualizza (visualizza solo sorgente) HTML e CSS 4
EffeElle Visualizza record php PHP 4
P Visualizza dati di una singola settimana PHP 11
G Visualizza Ordini Classic ASP 4
W Non si visualizza DataGrid su pagina Web Ajax 0
G non visualizza filmato swf in sito html HTML e CSS 2
P Plugin facebook non visualizza le immagini HTML e CSS 1
S Non visualizza l'intera lista utenti PHP 2
T problema con i css ... explorer visualizza male... HTML e CSS 2
R Cerco Script che visualizza ultimi messaggi forum Javascript 4
SolidSnake4 ezImage non visualizza l'immagine PHP 0
M IE non visualizza la pagina Classic ASP 2
L non visualizza video flv Flash 1
F HTML non lavora dal menu Visualizza x Kodemondo HTML e CSS 3
F HTML menù "visualizza" HTML e CSS 3
B l'immagine non si visualizza nell'e-mail PHP 1
R script visualizza immagine onmouse over.. Javascript 1
borgo italia visualizza html HTML e CSS 0
C IE non mi visualizza le immagini PHP 0
B non visualizza sito PHP 1
D Filmato che non si visualizza !!!! Flash 1
A mozilla non mi visualizza le immagini HTML e CSS 4
G in flash è possibile creare una finestra che visualizza una pagina html? Flash 0
C mozilla non visualizza immagini HTML e CSS 4
I Easyphp non visualizza swf PHP 1
S Non visualizza i COOKIE!!! PHP 0
G E' possibile dare la vividezza in un colpo solo a più foto Photoshop 1
P Prodotti, foto, titolo e descrizione E-Commerce 0

Discussioni simili