Visualizza foto da un db mysql

Stato
Chiusa ad ulteriori risposte.

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
è possibile inserire nella scr

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

width="111" e height="111" come in html ?



Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto farei (o modifichrei) una tabella del tipo

`id` INT( 15 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL ,
`cognome` VARCHAR( 50 ) NOT NULL ,
`anni` INT( 3 ) NOT NULL ,
`percorso` VARCHAR( 50 ) NOT NULL ,
`foto` VARCHAR(50) NOT NULL ,

dove (ti indico solo i campi che ti servono)

id ... .... percorso foto
1 immagini/sotto/ foto1.jpg
2 immagini/sotto/ foto2.jpg
3 immagini/sopra/ foto3.jpj
.. ... .... ....
n immagini/altra/ fotoN.jpg

cioè farei un campo che contiene il percorso ed uno per il nome della foto (pulito senza alcun'altra cosa!!!!)

poi nell pagina php
HTML:
//...................
$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['percorso'].$myrow['Foto']."\"><img scr=\"".$myrow['percorso']."tumb_".$myrow['Foto']."\"/></a></td>";
}
//...................


p.s.
poi un consiglio nei nomi delle variabili e dei campi cerca di evitare di dare maiscole/minuscole, usare le maiscole/minuscole è uno dei sistemi migliori per impazzire a trovare l'eventuale errore.
usa solo minuscole
ps al ps
verifica gli apici

certo che avendo 3000 foto hai da fare un lavoro piuttosto lunghetto:)
 
Ultima modifica:

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao e grazie

Inizio a lavorare, quando ho qualche difficoltà di ridisturbo.
Ho provato ad avere l'anteprima delle foto così

<td><a href=\"".$myrow['Foto']."\"><img src =\"".$myrow['Foto']."\"
width="200" heigth="250"/></a></td>

ma nulla mi compare l'errore
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in C:\Mio\xampp\htdocs\apri_dettagli.php on line 146

Ciao
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

Visto che il db come ti dicevo l'ho già fatto in access qundi i percorsi sono già caricati,
ho convertito il db con Mdb to Mysql mi ha generato un file di testo Sql dove i dati del percorso
sono ok ..cioe 'C:\Foto\A\17-01-2008\EPSN0137.JPG' importando la tabella con php myadmin
il percorso mi compare così C:FotoA17-01-2008EPSN0006.JPG senza backslash
ha bisogno di particolari settaggi per importarlo corretamente?

Ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se come ti ho gia detto non togli quel benedetto C: ecc...non riesci a fare nulla
dentro il campo foto deve essere solo

EPSN0137.JPG

dimenticavo.
e dentro il campo percorso devi avere
Foto/A/17-01-2008/

ho la vaga impressione che, manina manina, devi rifare il tutto
 
Ultima modifica:

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
forse non mi sono spiegato bene.
Sto creando come mi hai detto un campo percorso e uno foto.
Visto che ho i dati in access volevo farlo col db di access pechè mi sembra più veloce.
Fare il campo percorso Foto/A/17-01-2008/ e quello foto 1.jpg.
Modificato il db sempre in access convertirlo in formato mysql e poi importarlo con
php myadmin. Ho fatto alcune prove e quando lo importo, nel campo percorso mi toglie gli
slash e mi da il campo testp del percorso così FotoA17-01-2008 mentre nel db sql convertito gli slash ci sono e quando lo importa myadmin che me li toglie, ha bisogno di qualche settaggio per evitare che tolga gli slash?
Percaso conosci una soluzione più veloce?

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
conosco molto (ma molto poco) acces.
l'unico suggerimento, ma non se è valido, e di "ibrogliare" acces/mysql
non so se è possibile ma in un colpo solo in acces trasforma gli / in un'altra cosa es. | o *
fai importalo in mysql
poi puslisci mysql uppando il percorso

$riga['foto']= str_replace("|", "/", $riga['foto']);
a questo punto dovresti avere nel campo foto, se non ho capito male,
C:/Foto/A/17-01-2008/EPSN0137.JPG
fai un'altra pulizia togliendo C:/ e lo metti in $riga['percorso']

$riga['percorso']= str_replace("C:/", "", $riga['foto']);

rifai l'estrazione e uppi togliendo il nome della foto da percorso

$riga['foto']=basename($riga['percorso']);

$riga['percorso']= str_replace($riga['foto'], "",$riga['percorso']);

guarda che è più difficile a spiegarsi che a farsi

alla fine di tutto l'ambaradan "dovresti" avere tutto a posto, l'unica cosa da ricordarsi è di mettere le tumb nella stassa cartella/sottocartella della foto originale.

p.s.
da quanto ho inoltre capito non vorresti crerti le tumb ma fissare la misura con <src=..... width ...hegth/>

il problema che se le foto sono di parecchi kb hai un rallentamento notevole nel caricamento della pagina (per questo si fanno le tum piccole)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse mi è venuta un’idea che potrebbe semplificarti il lavoro.
però dovresti sapermi dire:
come hai organizzato il db acces: nome, cognome, anni e poi?
come sono legate le foto a nome cognome anni? ad ogni nome/cognome è dedicata una sottocartella?
Esempio:
ho visto che il percorso delle foto è
C:\Foto\A\17-01-2008\EPSN0137.JPG

Quindi all’utente pinco pallo di anni 99 è collegata la sottocartella A? o la sottocartella a/17-012008/?
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

Sono riuscito a modificare il db ora il percorso è corretto Foto/A/...... non più Foto|A|.....con replace sono riuscito a modificare la tabella. Ora devo creare le tumb_ esiste un programmino che mi permette di inserire tumb_ davanti al nome di tutte le foto?
Ho provato come avevi intuito a visualizzare le anteprime con width e higth però mi sembra come mi dicevi un po pesantuccio.

O bisogno di un'altra informazione.
Ho creato la pagina principale con alcune funzioni di ricerca in base al nome cognome.
Seleziono per cognome "Bianchi" e mi compaiono 10 persone è possibile vedere le righe
colorate alternativamente di due colori es grigio e bianco?
Questo è il codice della pagina

$db = mysql_connect("localhost","root","");
mysql_select_db("prova", $db);
if ($Cognome !=""){

$result =mysql_query("SELECT * FROM mia Where Cognome LIKE '$Cognome'" );
} else {
$result =mysql_query("SELECT * FROM mia Where Nome LIKE '$Nome'" );
}
?>
<table border= "1" width="650" align="center">
<tr>
<td width="50"> <b>Id </b></td>
<td width="150"><b>Cognome </b></td>
<td width="150"><b>Nome</b></td>
<td width="150"><b>Anni</b></td>
<td width="150"><b>Foto</b>
</td>

<?php


while($myrow=mysql_fetch_array($result))

echo "<tr>
<td><a href=\"Apri_Foto.php?Id=$myrow[Id]\">$myrow[Id]</a></td>
<td>$myrow[Cognome]</td>
<td>$myrow[Nome]</td>
<td>$myrow[Anni]</td>
<td>$myrow[Foto]</td>
</tr>";


Le cartelle sono organizzate cosi:
cartella Foto all'interno ci sono diverse sottocartelle A B C .....
all'interno di ogni sottocartella vi sono una o più sottocartelle esempio 17-01-2008 che sono le date
che sono state scattate le foto.

Grazie
 

borgo italia

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

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
sono riuscito a visualizzare le righe con colore alternato grigio bianco, pero quando
clicco sull'id per aprirmi la pagina apri_dettagli.php mi apre la pagina ma non mi compare la scritta
acesso negato e nella pagina degli indirizza http://localhost/%22apri_dettagli.php?ID=1\"
cosa vuole???

<?php

$i = 0;
while($myrow=mysql_fetch_array($result))

{

$bgcolor = ($i % 2 == 0 ? '#dddddd' : 'white');
$bgcolor = ($myrow['data_mod'] > $myrow['data_ins'] ? 'green' : $bgcolor);


echo <<<EOF
<tr bgcolor="{$bgcolor}">

<td><a href=\"apri_dettagli.php?ID=$myrow[Id]\">$myrow[Id]</a></td>
<td>$myrow[Allevamento]</td>
<td>$myrow[Data]</td>
<td>$myrow[Comune]</td>
<td>$myrow[Cod_Asl]</td>
<td>$myrow[Id_Animale]</td>
<td>$myrow[Sex]</td>
</tr>

EOF;

$i++;
}
?>

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
usando l'eredoc tprova a togliere gli slash

PHP:
echo <<<EOF
<tr bgcolor="{$bgcolor}">
<td><a href="apri_dettagli.php?ID=$myrow[Id]">$myrow[Id]</a></td>
<td>$myrow[Allevamento]</td>
<td>$myrow[Data]</td>
<td>$myrow[Comune]</td>
<td>$myrow[Cod_Asl]</td>
<td>$myrow[Id_Animale]</td>
<td>$myrow[Sex]</td>
</tr>
EOF;
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao
Come faccio a fare la ricerca su più campi?
Ho creato tre campi di ricerca nome,cognome,id che funzionano separatamente,
come posso fare se voglio creare tre funzioni di ricerca che mi faccia la selezione su tutti e tre i campi
es, tutti i giovanni bianchi come l'ho fatta io mi trova o solo i giovanni o solo i bianchi.

<?php

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

if ($nome !="")
{
$result =mysql_query("SELECT * FROM mia Where nome LIKE '$nome' " );

} else if ($cognome !=""){

$result =mysql_query("SELECT * FROM mia Where cognome LIKE '$cognome'" );
}
else {

$result =mysql_query("SELECT * FROM mia Where Id LIKE '$Id'" );
}

?>

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
premetto che è un po' un assurdo cercare lid con LIKE, comunque vedi tu.
fai un form in cui inserisci
nome
cognome
id
e in funzione di quello che immetti esegui la ricerca

PHP:
//............
$nome=trim($_POST['nome']);
$cognome=trim($_POST['cognome']);
$Id=trim($_POST['id']);
$ricerca="";//metto la variabile a stringa vuota
//poi faccio tutte le combinazioni possibili
if($nome !="" && $cognome =="" && $Id==""){
	$ricerca="WHERE nome LIKE '$nome'";//cerco solo per nome
}elseif($nome =="" && $cognome !="" && $Id==""){
	$ricerca="WHERE cognome LIKE '$cognome'";//cerco solo per cognome
}elseif($nome =="" && $cognome =="" && $Id!=""){
	$ricerca="WHERE Id LIKE '$Id'";//cerco solo per id
}elseif($nome !="" && $cognome !="" && $Id==""){
	$ricerca="WHERE nome LIKE '$nome' AND cognome LIKE '$cognome'";//cerco per nome e cognome
}elseif($nome !="" && $cognome =="" && $Id!=""){
	$ricerca="WHERE nome LIKE '$nome' AND Id LIKE '$Id'";//cerco per nome e id
}elseif($nome =="" && $cognome !="" && $Id!=""){
	$ricerca="WHERE cognome LIKE '$cognome' AND Id LIKE '$Id'";//cerco per cognome e id
}elseif($nome !="" && $cognome !="" && $Id!=""){
	$ricerca="WHERE nome LIKE $nome AND cognome LIKE '$cognome' AND Id LIKE '$Id'";//cerco per tutti e tr i parametei
}else{//non servirebbe
	$ricerca="";//cerco tutti
}
//dati connessione
$query="SELECT mia $ricerca";
//ecc....

prova e guarda se è quello che pensavi (e se funzia)
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Puoi risparmiare un bel po' di controlli utilizzando la seguente funzione che ricevuti in input i valori id, nome e cognome restituisce la query giusta:

PHP:
<?php
function getQuery($id, $nome, $cognome) {
	$query = "SELECT * FROM mia WHERE ";
	
	if (isset($id) && $id != "") {
		$query .= "id = $id AND ";
	} 
	if (isset($nome) && $nome != "") {
		$query .= "nome = '$nome' AND ";
	} 
	if (isset($cognome) && $cognome != "") {
		$query .= "cognome = '$cognome' AND ";
	} 
	$query .= "1 = 1";
	
	return $query;
}
?>
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Beh, però in questa maniera si cerca ID, nome e cognome esatti, non approssimati. Potrebbe dare qualche problemino. Basta sbagliare un carattere e smette di funzionare :D

Hai ragione, ma secondo me era questo il funzionamento desiderato. In ogni caso basta sostituire l'= con LIKE per riottenere il funzionamento precedente.
 
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