Newsgroup: it.comp.www.php
Titolo: Apertura popup di dimensione variabile

Buongiorno a tutti,
arrivo dalla sezione javascript, dove giustamente mi hanno mandato da
voi...
Volevo sottoporvi una domanda in merito all'apertura di pop-ups, vista
la mia totale ignoranza nel campo.
Ho un sito nel quale, grazie ad un gestionale ed un DB mysql, faccio
upload di alcune foto che vengono poi pubblicate sul sito come
thumbnails e, a seguito del click dell'utente, si apre un pop-up
contenente la foto a dimensioni naturali.
Considerando che non posso vincolare chi fa l'upload imponendogli un
formato standard, la grandezza di conseguenza è variabile (cmq mai
superiore a 1024x768), dovrei fare in modo che il popup si autoregoli
in base alla dimensione della foto richiamata.
Attualmente, la soluzione tampone che ho adottato è di forzare la
dimensione del popup a 1024x768, con il risultato però che quando si
tratta di una foto piu piccola, è decisamente abbastanza
antiestetico...
Questo è la parte di php in questione:
echo '<td valign="top" align="center">
         <table border="0" cellspacing="1" cellpaddin="0" align="left"
width="63" bgcolor="#CCCCCC">
                <tr>
                         <td valign="middle" align="center"
bgcolor="#EEEEEE"
height="70">
                        <a href="#immagini"
onclick="window.open(\'../uploads/news_images/'.$record_images['filename'].'\',\'\',\'width=1024,height=768\')">
                                <img
src="../uploads/news_images/thumbs/'.$record_images['filename'].'"
border="0" alt="'.$record_images['description'].'">
                        </a>
                         </td>
                </tr>
        </table>
           </td>
Questo un esempio di html resituito:
<td valign="top" align="center">
        <table border="0" cellspacing="1" cellpaddin="0" align="left"
width="63" bgcolor="#CCCCCC">
                <tr>
                          <td valign="middle" align="center"
bgcolor="#EEEEEE"
height="70">
                        <a href="#immagini"
onclick="window.open('../uploads/news_images/Fiori.jpg','','width=1024,height=768')">
                                  <img
src="../uploads/news_images/thumbs/Fiori.jpg" border="0"
alt="Fiori di serra">
                        </a>
                          </td>
                </tr>
        </table>
</td>
Credo di dover cambiare la parte: width=1024,height=768... ma come?!?
Grazie in anticipo per tutto l'aiuto che riuscirete a darmi!!!

 Credo di dover cambiare la parte: width=1024,height=768... ma come?!?
Devi passare gli argomenti alla funzione open di JavaScript prendendoli da
getimagesize()
Chiaro?

 
Magari prova a dare una occhiata qui:
http://it.php.net/manual/it/ref.image.php
in particolare:
http://it.php.net/manual/it/function.getimagesize.php
prendi le dimensioni dell'immagine e crei dinamicamente il tutto.
Ciao
-- 
Dott. Hellboy
MSN: 
simo...@hotmail.com
IChat: 
simo...@mac.com
http://www.hardboiled.it

Ok ci siamo.
La faccenda si complica però.....
In php viene interrogato il database per sapere quante immagini ci sono
relative a quella notizia. Se ce n'è più di una allora lui mi mette
le thumbnails in fondo che se clicco si aprono nel pop-up, altrimenti
no..
Essendo però la definizione del numero delle immagini relative alla
notizia all'interno di un ciclo, il problema (dettato dalla mia
ignoranza) è:
come e dove definisco il valore width ed heigth? Essendo che potrebbero
esserci n° foto di n° dimensioni diverse... Mi spiego meglio postando
tutto il codice in questione:
$record_per_riga = 4;
	for ($i=1; $i<mysql_num_rows($result_images); $i++) {
	  $record_images = mysql_fetch_array($result_images);
	if (is_int(($i-1)/$record_per_riga)) { echo '<tr>';}
		echo '<td valign="top" align="center">
			  <table border="0" cellspacing="1" cellpaddin="0" align="left"
width="63" bgcolor="#CCCCCC">
				<tr>
				  <td valign="middle" align="center" bgcolor="#EEEEEE" height="70">
					<a href="#immagini"
onclick="window.open(\'../uploads/news_images/'.$record_images['filename'].'\',\'\',\'width=1024,height=768\')">
					  <img
src="../uploads/news_images/thumbs/'.$record_images['filename'].'"
border="0" alt="'.$record_images['description'].'">
					</a>
				  </td>
				</tr>
			  </table>
			</td>
			<td bgcolor="white" width="5"></td>
	  ';
	  if (is_int(($i)/$record_per_riga) or
$i==mysql_num_rows($result_images)) { echo '</tr>';}
	}
Dott. Hellboy ha scritto:


 in base alla dimensione della foto richiamata.
...il tutto è risolvibile con un javascript...
...siamo sicuri che quelli di javascript abbiano capito bene...?
Toh, siccome oggi mi sento buono ti mando tutto il codice per il pop-up
Basta che rendi il file dinamico inviando ogni volta il percorso per l'img
e il gioco e' fatto...
################################
<HTML>
<HEAD>
<title>IMAGE</title>
<script language="javascript">
function resize() {
w = document.images[0].width;
h = document.images[0].height;
w = w + 5;
h = h + 30;
window.resizeTo(w,h);
}
</script>
</HEAD>
<BODY onload=resize(); border=0 marginwidth=0 marginheight=0>
<div><img src="../img/unmasked.jpg"></div>
<div></div>
</BODY>
</HTML>
#########################
Ciao,
AndreaR