- Home
- Categorie
- Coding e Sistemistica
- PHP
- Pagina di profilo con piu foto
-
[...]
Si..stanno nella cartella foto...
Però il problema mio è che non deve visualizzarmi tutte le foto_presenti nella cartella....ma solo quelle relative al profilo che viene visitato...Per esempio se faccio cosi':
[php]
$foto1 = "foto/foto1.jpg";
$foto2 = "foto/iooooo.jpg";
$foto3 = "foto/foto1.jpg";
$foto4 = "foto/foto1.jpg";
[/php]Il tutto funziona....
però nel momento in cui cerco di cambiare questa parte di codice collegandomi al database ed estraendo i dati delle foto da li' non funziona piu'.Cioè cosi'..
[php]
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono i campi da visualizzare per singolo utente
$strsql="SELECT foto,foto1,foto2,foto3 FROM iscritti ";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$foto1 = $riga['foto'];
$foto2 = $riga['foto1'];
$foto3 = $riga['foto2'];
$foto4 = $riga['foto3'];
}//qui chiudi il while
?>[/php]In queste 4 variabili...cioe $foto1 $foto2 $foto3 e $foto4 dovrebbe recuperarmi il nome del file presente nel database...ma non funziona..non mi visualizza le immagini,_forse è il codice javascript che non consente di far ciò che voglio io...?
Cioè devo per forza inserire il percorso della cartella in queste 4 variabili $foto?
Non posso recuperare il nome delle foto presenti nel database per poi_lanciarle tramite questo codice?
Cioè questo..[php]//imposto i 5 div
//qui andrà riscritto richiamando la funzione
<div id="big"><img id='fbig' src="<?=$foto1?>" /></div>//in questi 4 ci sono le foto forzate ad essere piccole e con il richiamo alla funzione
<div id="1"><a href="#" onclick="caricaFoto('<?=$foto1?>')"><img width="50" height="50" id="f1" src="<?=$foto1?>" /></a></div>
<div id="2"><a href="#" onclick="caricaFoto('<?=$foto2?>')"><img width="50" height="50" id="f2" src="<?=$foto2?>" /></a></div>
<div id="3"><a href="#" onclick="caricaFoto('<?=$foto3?>')"><img width="50" height="50" id="f3" src="<?=$foto3?>" /></a></div>
<div id="4"><a href="#" onclick="caricaFoto('<?=$foto4?>')"><img width="50" height="50" id="f4" src="<?=$foto4?>" /></a></div>[/php]
-
Potresti provare modificando questa parte:
[php]while ($riga = mysql_fetch_array($rs)) {
$photos = Array($riga['foto'],$riga['foto1'],$riga['foto2'],$riga['foto3']);
foreach($photos as $photo){echo " <div id="".$photo.""><a href="#" onclick="caricaFoto('".$photo."')"><img width="50" height="50" id="f1" src="foto/".$photo."" /></a></div>";
}//Chiude il foreach
}//qui chiudi il while[/php]E poi modifichi JavaScript così:
<script language="javascript"> function caricaFoto(foto) { //questa funzione cerca l'elemento chiamato big e ci scrive dentro la nuova immagine document.getElementById('big').innerHTML = "<img id='fbig' src='foto/" + foto + "' />"; //ritorno falso per non far scattare il caricamento nel tag <a> return false; } </script>
-
Mi da un errore di sintassi
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /membri/italiawebchat/prova.php on line 30
-
Perdonami...errorini miei...
[PHP]
echo " <div id="".$photo.""><a href="#" onclick="caricaFoto('".$photo."')"><img width="50" height="50" id="f1" src="foto/"".$photo."" /></a></div>";
[/PHP]
-
@ilnetsurfer said:
Perdonami...errorini miei...
[php]
echo " <div id="".$photo.""><a href="#" onclick="caricaFoto('".$photo."')"><img width="50" height="50" id="f1" src="foto/"".$photo."" /></a></div>";
[/php]
mmm...
allora...al clik sulle finestre in 50px mi da la foto corrispondente...
però nelle finestre piccole mi da la x....non trova le foto
-
Ecco qui:
[php]
<div id="big"></div><?php
while ($riga = mysql_fetch_array($rs)) {
$photos = Array($riga['foto'],$riga['foto1'],$riga['foto2'],$riga['foto3']);
foreach($photos as $photo){echo " <div id="".$photo.""><a href="#" onclick="caricaFoto('".$photo."')"><img width="50" height="50" id="f1" src="file/".$photo."" /></a></div>";
}//Chiude il foreach
}//qui chiudi il while
?>
[/php]E il javascript così:
<script language="javascript"> function caricaFoto(foto) { //questa funzione cerca l'elemento chiamato big e ci scrive dentro la nuova immagine document.getElementById('big').innerHTML = "<img id='fbig' src='file/" + foto + "' />"; //ritorno falso per non far scattare il caricamento nel tag <a> return false; } </script>
-
Nulla.... anzi ora al clik sulle 4 finestre piccole mi visualizza un altra finestra con una bella x:x
posto il codice della pagina completo
[PHP]
<div id="big"></div>
<?php//connessione al database con valori ovviamente non veri
// Includo la connessione al database
require('config.php');//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono i campi da visualizzare per singolo utente
$strsql="SELECT foto,foto1,foto2,foto3 FROM iscritti ";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$photos = Array($riga['foto'],$riga['foto1'],$riga['foto2'],$riga['foto3']);
foreach($photos as $photo){echo " <div id="".$photo.""><a href="#" onclick="caricaFoto('".$photo."')"><img width="50" height="50" id="f1" src="file/".$photo."" /></a></div>";
}//Chiude il foreach
}//qui chiudi il while
?><script language="javascript">
function caricaFoto(foto) {
//questa funzione cerca l'elemento chiamato big e ci scrive dentro la nuova immagine
document.getElementById('big').innerHTML = "<img id='fbig' src='file/" + foto + "' />";
//ritorno falso per non far scattare il caricamento nel tag <a>
return false;
}
</script>[/PHP]
-
Ok...ho risolto!!!!!!!
Non avevo impostato il percorso delle foto nel codice:(
Volevo chiederti.....nel caso per un utente siano presenti nel suo profilo solo 2 o 3 foto e siccome io ho 4 finestrelle.....per non fare uscire quella brutta x in caso di mancata foto.....come potrei fare?Un if else che nel caso non trovi foto mi metta un immagine preimpostata da me....si potrebbe fare?
-
Mooolto semplice..;)
Prova così:
[PHP]while ($riga = mysql_fetch_array($rs)) {
$photos = Array($riga['foto'],$riga['foto1'],$riga['foto2'],$riga['foto3']);
foreach($photos as $photo){
if(file_exists("file/".$photo){
echo " <div id="".$photo."">
<a href="#" onclick="caricaFoto('".$photo."')">
<img width="50" height="50" id="f1" src="file/".$photo."" />
</a>
</div>";
}
else
{
echo " <div id="".$photo."">
<a href="#" onclick="caricaFoto('".$photo."')">
<img width="50" height="50" id="f1" src="file/nontrovato.jpg" />
</a>
</div>";
}//Chiude l'if
}//Chiude il foreach
}//qui chiudi il while [/PHP]
-
Ciao,
stavo cercando di far in modo che al momento dell apertura della pagina una delle foto presenti fosse già caricata in prospettiva grande...quindi fare in modo che al click su quelle piccole poi mi sostituisse quella già caricata con quella su cui ho fatto il click....
Non ci riesco...c'è un modo per far ciò?
-
Ci sono arrivato:)
[PHP]
$photos = Array($riga['foto'],$riga['foto1'],$riga['foto2'],$riga['foto3']);
//la foto già caricata che inserisco come default
echo "<div id="big"><img width="200" height="200" id="f1" src="foto/".$riga['foto1']."" /></div>";[/PHP]