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

    [MySQL] SELECT con LIMIT inverso

    Ciao a tutti.

    Il mio problema è questo:

    Ho una galleria immagini.
    Come parametro della pagina ho idphoto=x

    la x può essere un id qualsiasi.

    Devo visualizzare la foto x, le 2 precedenti e le 2 sucessive.

    Per le 2 sucessive il problema non c'è... basta fare LIMIT x,2

    ma per le 2 precedenti non riesco proprio! avrei voluto fare LIMIT x,-2 ma LIMIT non accetta valori negativi.

    Vi ringrazio in anticipo
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  2. #2

    Re: [MySQL] SELECT con LIMIT inverso

    Originariamente inviato da Mackey
    Ciao a tutti.

    Il mio problema è questo:

    Ho una galleria immagini.
    Come parametro della pagina ho idphoto=x

    la x può essere un id qualsiasi.

    Devo visualizzare la foto x, le 2 precedenti e le 2 sucessive.

    Per le 2 sucessive il problema non c'è... basta fare LIMIT x,2

    ma per le 2 precedenti non riesco proprio! avrei voluto fare LIMIT x,-2 ma LIMIT non accetta valori negativi.

    Vi ringrazio in anticipo
    Codice PHP:
    $primo = (int)$_GET['idphoto']-2;
    $query "SELECT * FROM tabella WHERE 1 LIMIT $primo, 5"
    Ciao!

  3. #3

    Re: Re: [MySQL] SELECT con LIMIT inverso

    Originariamente inviato da fmortara
    Codice PHP:
    $primo = (int)$_GET['idphoto']-2;
    $query "SELECT * FROM tabella WHERE 1 LIMIT $primo, 5"
    Ah gia... su questo punto non mi ero spiegato bene.

    Ecco una tabella tipo:
    ID
    12
    13
    14
    15
    17
    20
    21
    23
    25
    26

    mettiamo il caso che x=20

    tu mi dici di fare LIMIT 18,2
    ma il risultato sarebbe 20 e 21!
    io invece vorrei 15 e 17 perchè sono i 2 ID precedenti di 20

    non so se mi sono spiegato bene... quelli che mancano sono record eliminati
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  4. #4
    ok... allora ti servono due query mi sa...
    Ciao!

  5. #5
    Originariamente inviato da fmortara
    ok... allora ti servono due query mi sa...
    non posso fare 2 query perchè il limite 2 è variabile tramite un settaggio di configurazione. non posso sapere quante query mi servono a priori...

    Ad esempio
    $fotosuccessive = 4;

    nella query.... LIMIT $x, $fotosucessive

    e la stessa cosa vale per quelle precedenti
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  6. #6
    Originariamente inviato da Mackey
    non posso fare 2 query perchè il limite 2 è variabile tramite un settaggio di configurazione. non posso sapere quante query mi servono a priori...

    Ad esempio
    $fotosuccessive = 4;

    nella query.... LIMIT $x, $fotosucessive

    e la stessa cosa vale per quelle precedenti
    ASP...
    mysql con $primo prende il numero di riga... non l'id della stessa...
    Ciao!

  7. #7
    prova in questo modo:

    Codice PHP:

    $primo 
    $_GET['idphoto'];
    $dopo $fotosuccessive+1;
    $prima $fotosuccessive;

    $query "SELECT * FROM tabella WHERE id >= $primo ORDER BY id ASC LIMIT 0,$dopo";
    $query "SELECT * FROM tabella WHERE id < $primo ORDER BY id DESC LIMIT 0,$prima"
    Ciao!

  8. #8
    Originariamente inviato da fmortara
    prova in questo modo:

    Codice PHP:

    $primo 
    $_GET['idphoto'];
    $dopo $fotosuccessive+1;
    $prima $fotosuccessive;

    $query "SELECT * FROM tabella WHERE id >= $primo ORDER BY id ASC LIMIT 0,$dopo";
    $query "SELECT * FROM tabella WHERE id < $primo ORDER BY id DESC LIMIT 0,$prima"
    si, avevo pensato a questa soluzione, ma come faccio a visualizzarle in ordine normale anzichè inverso?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  9. #9
    quando le visualizzi, anziche concatenare la variabile con .= lo fai con =.
    e poi stampi a video la variabile con echo.

    E' l'unica che mi viene in mente adesso...
    Ciao!

  10. #10
    Originariamente inviato da fmortara
    quando le visualizzi, anziche concatenare la variabile con .= lo fai con =.
    e poi stampi a video la variabile con echo.

    E' l'unica che mi viene in mente adesso...
    GRAZIEEEE... ho risolto proprio in questo modo!
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

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 © 2026 vBulletin Solutions, Inc. All rights reserved.