Chiarimenti su galleria immagini

Silen

Utente Attivo
24 Nov 2008
64
0
0
silen.netsons.org
Premesso che sono molto novizia di php (lo sto imparando da sola annaspando nel web, e finalmente pare che abbia trovato un salvagente qui) quindi vi scongiuro di essere pazienti nelle spiegazioni "tecniche" :p

ho seguito i tutorial di claudio garau (a cui farei un monumento per la chiarezza e che spero dia un occhio a questo post) e sono riuscita a creare un piccolo script molto elementare per uppare delle immagini nel database del mio sito

ho creato la tabella, un form per l'upload, una pagina che mi mostra le immagini archiviate dal campo blob, e fin qui tutto bene

--- specifico, non ho bisogno di fare eccessivi controlli sulla validità delle immagini, formato, etc. perchè è uno script che serve soltanto a me, quindi so ciò che uppo e dove ^_^ ---

ora, ho inserito il risultato dei miei sforzi sulla pagina dove voglio che siano visualizzate le mie immagini, e anche qui sono più o meno riuscita

PHP:
<script language="javascript" type="text/javascript"> 
function popUp(url) {
window.open(url, 'FinestraPopUp', 'width=200, height=300, left=500, top=500, toolbar=no, location=no, status=no, menubar=no, scrollbars=no, resizable=no').focus()
 } 
</script>

<table align="center">
  <tbody>
    <tr>
      <td>
Titolo
      </td>
    </tr>
    <tr>
      <td>
<?php
include "config.php"; 
$query="SELECT id_img, name, image, cat FROM immagini WHERE cat='Ragazze' ORDER BY id_img ASC";
$result=mysql_query($query);
while ($row=mysql_fetch_array($result)) {
$id_img=$row['id_img'];
$name=$row['name'];
$image=$row['image'];
echo "
<a target=\"_blank\" onclick=\"popUp('/Sito/Personaggi/show.php?name=$name')\" ><img
 class=\"preview\" src=\"/Sito/Personaggi/show.php?name=$name\" alt="" /></a>";
}
?>
     </td>
    </tr>
    <tr>
      <td>
<?php
include "config.php";
$query="SELECT id_img, name, image, cat FROM immagini WHERE cat='Ragazzi' ORDER BY id_img ASC";
$result=mysql_query($query);
while ($row=mysql_fetch_array($result)) {
$id_img=$row['id_img'];
$name=$row['name'];
$image=$row['image'];
echo "
<a target=\"_blank\" onclick=\"popUp('/Sito/Personaggi/show.php?name=$name')\" ><img
 class=\"preview\" src=\"/Sito/Personaggi/show.php?name=$name\" alt="" /></a>";
}
?>
      </td>
    </tr>
  </tbody>
</table>

due precisazioni: il javascript mi serve per fare aprire gli ingrandimenti, e non ho fatto il resize delle immagini con l'apposita funzione ma creato una classe con i CSS che me le mostra 100x150

------

domanda: come posso fare in modo di non dover ripetere la select in ogni td della tabella ed evitare di ripetere lo stesso codice più volte? tenendo conto che questa tabella va dentro ad un div in un'altra pagina dinamica, quindi ho gia header e footer e contenitori vari già preimpostati uguali in tutto il sito.

ho suddiviso le immagini per categoria (ragazzi, ragazze, etc.) per poterle estrarre a gruppi, però se c'è un modo migliore per estrarre le immagini e poterle vedere raggruppate ditemelo, che io prendo appunti!

altra domanda: come è adesso mi apre un popup che contiene soltanto l'immagine, ovviamente, ma se io volessi far aprire un'altra pagina, chiamata per esempio "popup.php" che per ogni preview cliccata mi apre l'ingrandimento della mia immagine, potendo però metterci sotto anche un altro campo "descrizione" estratto anch'esso con una query dal database. è possibile o sto volando troppo alto?
per adesso io sono soltanto riuscita a farmi visualizzare sempre la stessa, oppure con un while tutte quante insieme; avevo pensato ad uno switch, ma... ripeto, sono ancora in alto mare con lo studio :p

le soluzioni come lightbox per me sono troppo complicate, dato che non credo mi troverò mai a dover gestire più di una trentina di files, e vorrei proprio riuscire (almeno così imparo qualcosa di nuovo) a fare tutto il sito in PHP, visto che mi sta dando molte soddisfazioni :fonzie:

grazie anticipate a chiunque avrà voglia e pazienza di leggere il mio primo (e già troppo lungo) post, ma soprattutto aiutarmi :)
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Per non dover riscrivere la select puoi semplicemente mettere il codice all'interno di una funzione e richiamarla nel punto in cui ne hai bisogno. Nel tuo caso ad esempio:

PHP:
function showImages($cat) {
  include "config.php"; 
  $query="SELECT id_img, name, image, cat FROM immagini WHERE cat='$cat' ORDER BY id_img ASC";
  $result=mysql_query($query);
  while ($row=mysql_fetch_array($result)) {
    $id_img=$row['id_img'];
    $name=$row['name'];
    $image=$row['image'];
    echo "
<a target=\"_blank\" onclick=\"popUp('/Sito/Personaggi/show.php?name=$name')\" ><img
 class=\"preview\" src=\"/Sito/Personaggi/show.php?name=$name\" alt="" /></a>";
  } 
}

Puoi inserire questa funzione nella pagina oppure in una pagina separata che raccoglie tutte le funzioni e che verrà inclusa all'inizio.
Infine:

PHP:
<script language="javascript" type="text/javascript"> 
function popUp(url) {
window.open(url, 'FinestraPopUp', 'width=200, height=300, left=500, top=500, toolbar=no, location=no, status=no, menubar=no, scrollbars=no, resizable=no').focus()
 } 
</script>

<table align="center">
  <tbody>
    <tr>
      <td>
Titolo
      </td>
    </tr>
    <tr>
      <td>
<?php
showImages("Ragazze");
?>
     </td>
    </tr>
    <tr>
      <td>
<?php
showImages("Ragazzi");
?>
      </td>
    </tr>
  </tbody>
</table>
 

Silen

Utente Attivo
24 Nov 2008
64
0
0
silen.netsons.org
you saved my day!

grazie 1GB satifal! :tifoso:

io sono ancora lontana dal riuscire a creare piccole funzioni ad hoc, che funzionino, però... :crying:
ed ora che la vedo scritta nero su bianco mi sembra così facile...:book:
ottimo anche il consiglio di fare un file a parte contenente tutte le funzioni come per il config, lo terrò presente :fonzie:


e intanto io mi rimetto a lavorare sull'altra questione :byebye:
 

Silen

Utente Attivo
24 Nov 2008
64
0
0
silen.netsons.org
se io volessi far aprire un'altra pagina, chiamata per esempio "popup.php" che per ogni preview cliccata mi apre l'ingrandimento della mia immagine, potendo però metterci sotto anche un altro campo "descrizione" estratto anch'esso con una query dal database. è possibile o sto volando troppo alto?
per adesso io sono soltanto riuscita a farmi visualizzare sempre la stessa, oppure con un while tutte quante insieme; avevo pensato ad uno switch, ma... ripeto, sono ancora in alto mare con lo studio

dunque, dopo un bel po' di studio e prove, e tempo libero permettendo,
sono riuscita nel mio intento, sottopongo il codice in caso qualcuno avesse qualche miglioria da suggerirmi

intanto ho fatto come ha detto satifal e ho creato un file funcs.php

PHP:
<script language="javascript" type="text/javascript"> 
function popUp(url) {
window.open(url, 'FinestraPopUp', 'width=630, height=690, left=400, top=300, toolbar=no, location=no, status=no, menubar=no, scrollbars=no, resizable=no', '_blank').focus()
 } 
</script>

<?php

include "config.php";
function showPreview($cat) {
$showimage="SELECT id_img, name, image, cat FROM immagini WHERE cat='$cat' ORDER BY id_img ASC";
$result=mysql_query($showimage);
while ($row=mysql_fetch_array($result)) {
$id_img=$row['id_img'];
$name=$row['name'];
$image=$row['image'];
$imgtitle=str_replace("_", "", substr($row['name'], 0, -4));
echo " 
<a onclick=\"popUp('/Sito/Pagine/popup.php?imgtitle=$imgtitle')\"><img 
 class=\"preview\" src=\"/Sito/Personaggi/show.php?name=$name\" alt=\"$imgtitle\" /></a>";
}
}

function showPopup($id_img) {
$showimage="SELECT id_img, name, image, title, descr FROM immagini WHERE id_img='$id_img'";
$result=mysql_query($showimage);
$row=mysql_fetch_array($result);
$id_img=$row['id_img'];
$name=$row['name'];
$image=$row['image'];
$imgtitle=str_replace("_", "", substr($row['name'], 0, -4));
$descr=$row['descr'];
$title=$row[title];
echo "<h2>$title</h2><hr class=\"popup\" /><img class=\"popup\" src=\"/Sito/Personaggi/show.php?name=$name\" alt=\"$imgtitle\" />";
echo "<hr class=\"popup\" />".$descr."";
}

?>

questa è la mia paginetta delle thumbnails
PHP:
<div class="SpaceImmagini">

 clicca sulle immagini per vederle ingrandite

<?php include "funcs.php";?>

<table align="center"><tbody>
<tr><td><a name="protagonisti_1"></a><a  href="#protagonisti_crucchi"
 title="Protagonisti_1">Protagonisti 1</a></td></tr>
<tr><td><?php showPreview("Ragazze"); ?></td></tr>
<tr><td><?php showPreview("Ragazzi"); ?></td></tr>
</tbody></table>

<hr class="pg" />

<table align="center"><tbody>
<tr><td colspan="2"><a name="protagonisti_2"></a><a href="#Protagonisti_2"
 title="Les héros à Paris">Protagonisti 2</a></td></tr>
<tr><td><?php showPreview("Amici"); ?></td></tr>
</tbody></table>

<hr class="pg" />

<table align="center"><tbody>
<tr><td colspan="2"><a name="immagini_varie"></a><a href="#immagini_varie"
 title="Immagini varie">Immagini varie</a></td></tr>
<tr><td><?php showPreview("Varie"); ?></td></tr>
</tbody>
</table>

 clicca sulle immagini per vederle ingrandite
</div>

qui richiamo le immagini ingrandite nel popup, che cambia ogni volta

PHP:
<div class="PopupImmagini">
<?php
include "funcs.php";
$imgtitle=$_GET['imgtitle'];
switch($imgtitle) {
case "Anna":
showPopup("1"); break;
case "Luca":
showPopup("15"); break;
}
?>
</div>

[HO OMESSO UN PO DI CASE PER NON APPESANTIRE IL POST]

dite che va bene? oppure c'è un modo più snello dello switch?

già che ci sono aggiungo una richiesta di suggerimento:
se volessi un domani aggiungere qualche immagine, come potrei fare per visualizzarle in una seconda pagina nelle thumbnails?
cioè, con le immagini divise in categorie, nelle preview io vedo sulla stessa riga tutte le immagini della stessa categoria,
perché ho usato il ciclo while, ma se volessi vederne tre soltanto e poi per vedere le tre successive andare pagina due?

è possibile? mi indirizzate su cicli e funzioni da usare?

E grazie tante di nuovo anticipate dell'attenzione :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
Licantropo Chiarimenti sul terzo livello Domini 1
Sevenjeak [Java EE] Problema JUnit e alcuni chiarimenti su jee Java 0
Shyson [WordPress] Chiarimenti sugli RSS WordPress 5
J [WP] Chiarimenti modifica campo WordPress 0
J Chiarimenti funzionamento wordpress WordPress 0
K Chiarimenti Java 2
K Supporto - consigli e chiarimenti per utilizzo transazioni ... PHP 6
Frapantex Chiarimenti Chiavi esterne PHP 0
K alcuni chiarimenti sul metodo di ricerca nelle stringhe o array Javascript 1
muttley chiarimenti ereditarieta in php PHP 1
B Alcuni chiarimenti sulla creazione di un sito web (Copyright e affiliazioni) Leggi, Normative e Fisco 0
P chiarimenti su clausola where PHP 2
M [HTML] Chiarimenti nella pubblicazione FRONT PAGE HTML e CSS 0
nim funzione array(); e chiarimenti foreach PHP 6
B Chiarimenti Lezione AJAX Ajax 4
G chiarimenti su mod rewrite Web Server 4
G Neofita. Informazioni, chiarimenti... consigli PHP 1
Z Chiarimenti sullo spam Web Server 1
E upload chiarimenti Javascript 1
M ciao, ho bisogno di chiarimenti per creare un carrello della spesa! Classic ASP 0
F [PHP] Galleria immagini PHP 6
Z Problema Galleria Javascript Javascript 1
V Galleria con CSS e Javascript Javascript 2
I [CSS] Galleria immagini non funziona HTML e CSS 12
M [wordpress-galleria immagini]Inserire classe php in html PHP 0
J Creata galleria fotografica con Adobe Bridge ...... Webdesign e Grafica 7
L [php e xml] per creare una galleria fotografica con diversi file xml PHP 0
S Galleria fotografica con geotag Webdesign e Grafica 14
ANDREA20 [HTML] galleria immagini HTML e CSS 2
T Galleria fotografica con valutazione HTML e CSS 5
asevenx cerco plugin per miniature galleria fotografica in widjet WordPress 1
M element style immodificabile dentro una galleria javascript Javascript 6
P domanda su galleria HTML e CSS 4
L effetto galleria popup (immagini) jQuery 1
J Video galleria in php no prende l'id PHP 1
J Galleria di video PHP 1
L Centrare galleria immagine HTML e CSS 2
L galleria fotografica da cartella PHP 10
Monital galleria a fisarmonica con aga.js jQuery 3
M Galleria fotografica per inserzioni eBay HTML e CSS 1
asevenx galleria fotografica che da problemi con Internet Explorer Javascript 1
B creare galleria fotografica dreamweaver HTML e CSS 1
J Galleria fotografica jq editabile jQuery 0
R Problema con didascalie galleria immagini PHP 1
M Galleria fotografica HTML e CSS 1
R galleria immagini semplice a schermo intero jQuery 1
A Creare una galleria foto senza refresh PHP 0
Trapano Galleria immagini semplice PHP 5
R Galleria di immagini ad apparimento jQuery 1
A Problema gestione galleria fotografica in java Javascript 4

Discussioni simili