Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Galleria foto - Caricare immagini da MySQL in DIV senza refresh di pagina

    Salve a tutti. Sto provando ad adattare una galleria fotografica in php/mysql ad un nuovo progetto. Di per se funziona, ma vorrei che il collegamento ipertestuale, invece di ricaricare l'intera pagina, aggiornasse solo il DIV in cui � presente la galleria, con le immagini relative alla nuova "selezione".
    Posto il codice per essere pi� chiaro:
    Codice PHP:
    <!-- gallery -->
    <div class="team-bottom" id="work">
    <div class="container">
    <h3 class="w3l_head w3l_head1">Gallery</h3>
    <p class="w3ls_head_para w3ls_head_para1">La nostra storia per immagini</p>
    <div class="w3layouts_gallery_grids">
    <ul class="w3l_gallery_grid" id="lightGallery">
    <?php
    $table2
    ='gallery';
    $mesi= array("01" => "Gennaio""02" => "Febbraio""03" => "Marzo""04" => "Aprile""05" =>
    "Maggio""06" => "Giugno""07" => "Luglio""08" => "Agosto""09" => "Settembre""10" =>"Ottobre""11" => "Novembre""12" => "Dicembre");
    $x_pag 9;
    // Recupero il numero di pagina corrente.
    // Generalmente si utilizza una querystring
    $pag = isset($_GET['pag']) ? $_GET['pag'] : 1;// Controllo se $pag è valorizzato e se è numerico ...in caso contrario gli assegno valore 1
    if (!$pag || !is_numeric($pag)) $pag 1
    // Uso mysql_num_rows per contare il totale delle righe presenti all'interno della tabella
    $all_rows1 "SELECT * FROM $table2 GROUP BY data ORDER BY data DESC";
    $all_rows2 = @mysqli_query($conn$all_rows1) or die ("ERROR: ".mysqli_connect_error());
    $all_rows mysqli_num_rows($all_rows2);
    // Tramite una semplice operazione matematica definisco il numero totale di pagine
    $all_pages ceil($all_rows $x_pag);
    // Calcolo da quale record iniziare
    $first = ($pag 1) * $x_pag;
    // Recupero i record per la pagina corrente, utilizzando LIMIT per partire da $first e contare fino a $x_pag$rs1 = "SELECT * FROM $table2 GROUP BY data ORDER BY data DESC LIMIT $first, $x_pag";
    $rs = @mysqli_query($conn$rs1) or die ("ERROR: ".mysqli_connect_error());
    $nr mysqli_num_rows($rs);
    if (
    $nr != 0){
    for(
    $x 0$x $nr$x++){
    $row mysqli_fetch_array($rsMYSQLI_ASSOC);
    $id=$row['id'];
    $datarov $row['data'];$date_arrexplode("-"$datarov);
    $anno$date_arr[0];
    $mese$date_arr[1];
    $giorno$date_arr[2];
    $img explode(", ",$row['immagini']);
    ?><li data-title="Games" data-desc="<?php echo $row['tit'];?>" data-src="/SitoNuovo/contents/parts/<?php echo $img[0];?>"data-responsive-src="/SitoNuovo/contents/parts/<?php echo $img[0];?>">
    <div class="w3layouts_gallery_grid1 box">
    <a href="#"><?php echo '<img src="/SitoNuovo/contents/parts/'.$img[0].'" alt="'.$row['tit'].'" class="img-responsive" />';?><div class="overbox"><h4 class="title overtext"><?php echo $giorno." ".$mesi[$mese]." ".$anno;?> <br/><?php echo $row['tit'];?></h4></div></a></div></li><?php    
    }
    }
    ?></ul></div></div><div id="pgs"><?php    if ($all_pages 1){       if ($pag 1){         echo "<a href=\"" $_SERVER['PHP_SELF'] . "?id=".$id."&pag=" . ($pag 1) . "\">";         echo "<img src='../img/left.png' alt=''></a>&nbsp;";
    // faccio un ciclo di tutte le pagine
             
    for ($p=1$p<=$all_pages$p++) {
    // per la pagina corrente non mostro nessun link ma la evidenzio in bold all'interno della sequenza delle pagine
              
    if ($p == $pag) echo "<b>" $p "</b>&nbsp;";
    // per tutte le altre pagine stampo il link
              
    else { 
              echo 
    "<a href=\"" $_SERVER['PHP_SELF'] .  "?id=".$id."&pag="$p "\">";
              echo 
    $p "</a>&nbsp;   
    }  }
    if (
    $all_pages > $pag){
    echo "
    <a href=\"" $_SERVER['PHP_SELF'] .  "?id=".$id."&pag=" . ($pag 1) . "\">";
    echo 
    "<img src='../img/right.png' alt=''></a>"; } }?></div>
    </div>
    <!-- //gallery -->
    In pratica viene fatta una scansione delle immagini presenti nel DB, vengono visualizzate le ultime 9 inserite e crea dei link che tramite GET ricaricano la pagina con le 9 successive e cos� via...
    Vorrei sapere se � possibile fare in modo che questi link aggiornino solo il DIV della Galleria stessa e non tutta la pagina.
    Lo posto in questa sezione perch� suppongo debba avvalermi di javascript per ottenerlo.
    Grazie a chi mi aiuter�.
    Ultima modifica di RedWarrior; 26-07-2022 a 11:22

  2. #2
    Se può interessare a qualcuno: ho risolto cambiando completamente approccio e usando esclusivamente uno script php. Se può essere utile lo condivido.

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.