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

    Sapere l'id del record set successivo di mysql

    Ciao a tutti, sto creando un sito web che ha come fine la sensibilizzazione degli abitanti della mia città in materia di rifiuti poichè si vengono a creare molte discariche abusive.
    Nel DB ho i campi "id", "est" e "localita" che sono l'id dell'immagine, la sua estensione e la località di dove è stata scattata la foto. (es. 34.jpg scattata a Milano).
    Ho fatto la pagina dove tiro fuori dal DB tutte le miniature delle immagini in base alla località:
    Codice PHP:
    $result mysql_query("SELECT * FROM foto_cassonetti WHERE localita = " $_GET['quale']); 
    Ogni miniatura è cliccabile per visualizzarla grande con link ad esempio "mostrafoto.php?id=36".
    A questo punto io avrei bisogno di scorrere le foto per non obbligare l'utente al classico link "Torna indietro" che trovo bruttissimo. Quindi dovrei creare un link alla stessa pagina ma che la variabile $_GET['id'] abbia come valore l'id dell'immagine successiva.
    Avevo pensato ad inserire gli id dei risultati della query in un'array:
    Codice PHP:
    $ID[0] = 2
    $ID[1] = 5
    $ID[2] = 7;
    $ID[3] = 45;
    $ID[4] = 54
    e grazie al valore della variabile $_GET['id'] riuscire ad ottenere l'indice dell'array per conoscere il valore successivo, tipo se il link fosse mostrafoto.php?id=2 riuscire a sapere che l'indice è = 0 e quindi creare il link mostrafoto.php?id=valore di $ID[1] ma i miei limiti di amatore non mi permettono di sapere l'indice dell'array in base alla variabile $_GET['id'].
    Qualcuno mi puo dare una dritta? Grazie infinite.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    L'array mettilo in sessione, non puoi mandarlo in giro come parametro dell'indirizzo.
    Oddio.. volendo potresti anche farlo con qualche artificio, ma è una "ciofeca" (uno schifo).

    Esempio:
    Codice PHP:
    /*questo va come prima istruzione in ogni file dove usi la variabile $_SESSION
    va prima di qualunque altra cosa, sulla prima riga del file metti */
    <?php session_start()


    //questo sulla prima pagina per poter fare la query
    $result mysql_query("SELECT * FROM foto_cassonetti WHERE localita = " $_GET['quale']);

    //poi metti i risultati in sessione
    while($row mysql_fetch_row($result))
    {
        
    $_SESSION['immagini'][] = $row;
    }

    /*
    adesso puoi usare gli indici in questo modo: nel link con la prima foto, 
    nell'indirizzo fai arrivare un parametro ?indice=0
    all'interno della pagina, dove crei il link per la nuova metti
    ?indice=<?php echo $_GET['indice']+1 ?>
    */

    //Il valore dall'array in sessione lo prendi così
    $_SESSION['immagini'][$_GET['indice']];

  3. #3
    Il modo in cui affronti il problema a me nn piace: io andrei ad estrarre tutte le img e poi le scorrerei tramite una delle tante gallery fatte in javascript.

    Ma volendo seguire il tuo approccio io farei in questo modo:
    Codice PHP:
    $id 5;
    $localita 'napoli';

    $query_next "SELECT id FROM foto_cassonetti WHERE localita ='".$localita."' AND id>".$id." LIMIT 1";

    $id_next mysql_result($result_next0'id') or die(mysql_error()); 
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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.