Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    visualizzare tutte le foto di una gallery

    ciao a tutti/e,

    ho uno script che mi permette di visualizzare le foto contenute in un database. le foto che vengono mostrate sono solo quelle che hanno la stessa sottocategoria

    ecco il codice
    Codice PHP:
    <?php
    if(isset($_GET['id'])){
    // Connessione al DB
    .......
    $cn = @mysql_connect($host,$user,$pass) or die (mysql_error());
    $sl = @mysql_select_db($data) or die (mysql_error());

    // Cartella fisica in cui andremo ad inserire le immagini.
    // Va creata nella stessa posizione dove si trovano i file .php
    $path_img '/foto/';
      
    // apro la tabella
      
    echo "<table><tr><td>";

      
    // recupero dalla querystring l'ID dell'immagine da visualizzare
      
    $id_vis $_GET['id'];

      
    // verifico la presenza dell'immagine sul DB
      
    $query "SELECT * FROM galleria WHERE ID_CONTATORE = '$id_vis'";
      
    $res = @mysql_query($query) or die (mysql_error());
      
    $n_img = @mysql_num_rows($res);

      
    // se l'id specificato esiste procedo con la visualizzazione
      
    if($n_img == )
      {
        
    // recupero i dati dell'immagine selezionata
        
    $f = @mysql_fetch_array($res) or die (mysql_error());
        
    $titolo stripslashes($f['FOTO']);
        
    $categoria stripslashes($f['CATEGORIA']);
        
    $descrizione stripslashes($f['DESCRIZIONE']);
        
    $sottocategoria stripslashes($f['SOTTOCATEGORIA']);

        
    // estraggo dal DB il primo e l'ultimo ID
        
    $sql_count = @mysql_query("SELECT MIN(ID_CONTATORE) AS min, MAX(ID_CONTATORE) AS max FROM galleria") or die (mysql_error());
        
    $id_max = @mysql_fetch_array($sql_count) or die (mysql_error());
        
    $min $id_max['min'];
        
    $max $id_max['max'];

        
    // calcolo e stampo il link per l'immagine precedente
        
    if($_GET['id'] != $min){
          
    $query_prev = @mysql_query("SELECT ID_CONTATORE FROM galleria WHERE ID_CONTATORE < '$id_vis' AND SOTTOCATEGORIA ='"$sottocategoria ."' ORDER BY ID_CONTATORE DESC LIMIT 1 ") or die (mysql_error());
          
    $f_prev = @mysql_fetch_array($query_prev)or die (mysql_error());
          
    $id_prev $f_prev['ID_CONTATORE'];
          echo 
    "<div align=\"center\"><a href=\"visual.php?id=$id_prev\">&lt;&lt; Precedente</a> &bull; ";
        }
      
        
    // calcolo e stampo il link per l'immagine successiva
        
    if($_GET['id'] < $max){
          
    $query_next = @mysql_query("SELECT ID_CONTATORE FROM galleria WHERE ID_CONTATORE > '$id_vis' AND SOTTOCATEGORIA ='"$sottocategoria ."' ORDER BY ID_CONTATORE ASC LIMIT 1") or die (mysql_error());
          
    $f_next = @mysql_fetch_array($query_next)or die (mysql_error());
          
    $id_next $f_next['ID_CONTATORE'];
          echo 
    "<a href=\"visual.php?id=$id_next\">Successiva &gt;&gt;</a></div></td></tr>";
        }
      }else{
        
    // stampo un errore se l'immagine non esiste
        
    echo "Nessuna immagine inserita.";
      }

        
    // stampo a video l'imagine e le relative informazioni
        //echo $titolo . "
    ";
        echo "
    <tr align=\"center\"><td><img src=\"/foto/"$titolo "\" border=\"1\" alt="$descrizione ." width=\"500\">";
        echo 
    "
    "
    $descrizione "

    "
    ;

      
    // chiudo la tabella
      
    echo "</td></tr></table>";
    }
    ?>
    il problema è che così facendo non riesco a visualizzare la prima e l'ultima foto.

    se nel db ho 6 foto con id_cat, p es 6 foto, scorro ottimamente dalla seconda alla quinta, arrivati alla sesta leggo solo il testo "precedente" ma non vedo la foto. lo stesso dicasi quando arrivo alla prima foto, leggo solo "successivo" ma niente foto.

    probabilmente dovrei perfezionare la parte relativa alla query dove c'è il LIMIT 1, ma non so come o se è quella la parte da toccare.

    mi date una mano?

    grazie.
    ---------------------------
    danielix05

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    hai già provato a farti restituire $min e $max ?

  3. #3
    Come mai non tieni conto della sottocategoria nel SELECT MIN e MAX?
    Prova così...
    Codice PHP:
    $sql_count = @mysql_query("SELECT MIN(ID_CONTATORE) AS min, MAX(ID_CONTATORE) AS max FROM galleria WHERE SOTTOCATEGORIA = '"$sottocategoria ."'") or die (mysql_error()); 

  4. #4
    cosa intendi?
    se ho provato
    Codice PHP:
        echo $min "
    "
    ;
        echo 
    $max
    il risultato è
    1
    313
    ---------------------------
    danielix05

  5. #5
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    hai provato cosi?

    if($_GET['id'] >= $min){ ....

    if($_GET['id'] <= $max){ ...

  6. #6
    scusa ma non sono troppo esperto in php

    oltre i puntini cosa va messo? perchè se lascio così vedo la pagina completamente bianca.

    if($_GET['id'] >= $min){ ....

    if($_GET['id'] <= $max){ ...
    almeno che tu non intenda posizionare quell'istruzione non al posto di

    Codice PHP:
    if(isset($_GET['id'])){
    // Connessione al DB 
    ma altrove...

    mi spieghi?
    ---------------------------
    danielix05

  7. #7
    ok scusa per prima,

    ho fatto la prova a inserire quel codice prima di aprire la query che stampa il link precedente e successivo

    ma il risultato non cambia. sempre come prima non mi stampa la prima e l'ultima foto ma escono solamente i link prec e succ
    ---------------------------
    danielix05

  8. #8
    Hai letto il mio post :quote: ?

  9. #9

    ciao cubalibre

    ciao e grazie scusami ma a volte è difficile leggere queste righe

    cmq ho fatto la prova che mi hai consigliato ma il risultato nn cambia.

    prima e ultima immagine appartenenti alla stessa sottocategoria non vengono considerate.

    grrrrrrr


    che sarà chesarà?!?!?!?!?!!?
    ---------------------------
    danielix05

  10. #10
    c'è qualcunoooo......????
    ---------------------------
    danielix05

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.