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

    paginazione - news precedente - news successiva

    Premettendo che non ne ho mai avuto l'esigenza finora (paginavo gli ultimi titoli che mi portavano solo all'articolo relativo) ora mi ritrovo a dover gestire un "gestore FAQ", dove:

    - index.php : si visualizzano le ultime 5 faq
    - showfaq.php : visualizzazione della FAQ relativa (con passaggio della variabile dell'ID della FAQ)

    in questa pagina vorrei avere i link all'articolo precedente e successivo a quello che
    sto leggendo
    ma non ho la minima idea di come possa fare.......

    qualcuno ha qualche ideuzza?

    grazie
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    come sono ordinati questi articoli? per data di pubblicazione?

    Basta che ti fai una query:

    // articolo successivo

    SELECT id FROM articoli WHERE data > {dataordinechestaivisualizzando} order BY data ASC LIMIT 1

  3. #3
    grazie mille ora provo...

    in realtà non ho una data... essendo delle faq non ne ho la necessità, ma l'id va bene comunque direi...

    ma in questo modo c'è la possibilità di capire se sono al primo o all'ultimo record, per poter mettere link "circolari" (ovvero, se sono all'ultimo, l'articolo successivo sarà al primo e cosi via...)

    grazie ancora
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    in genere se non c'è una data io metto un campo ordine (cosi posso fare anche decidere all'utente dal pannello di controllo come ordinare gli articoli).

    Per quanto riguarda la circolarità, se una delle 2 query non ti da risultati vuol dire che è arrivata in fondo, a quel punto puoi gestire la cosa.

    Ciao

  5. #5
    grazie mille, ora provo subito... anche con il campo "ordine"

    saluti
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  6. #6
    Codice PHP:

        <?php 
            $query 
    "SELECT id, ordine, domanda_it, domanda_en FROM heliolux_faq WHERE ordine<'$ordine' order by id limit 1'";
            
    $result1 mysql_query($query$db);
            
    $prev mysql_fetch_array($result1);
            
    $query "SELECT id, ordine, domanda_it, domanda_en FROM heliolux_faq WHERE ordine<'$ordine' order by id limit 1'";
            
    $result2 mysql_query($query$db);
            
    $next mysql_fetch_array($result2);
            
    $prev_domanda $prev['domanda_'.$cl.''];
            
    $next_domanda $next['domanda_'.$cl.''];
        
    ?>
            [url="?id=<?php echo ($prev['id']); ?>"]<?php echo '$prev_domanda'?>[/url] | 
            [url="?id=<?php echo ($next['id']); ?>"]<?php echo '$next_domanda'?>[/url]
    ehm... dov'è l'errore????

    ($cl è solo la variabile che passo per la lingua e non influisce sul codice, mi da l'errore di SQL FETCH ARRAY)
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    mi sembra di vedere un apice in più a fondo query, e comunque dovresti ordinare per il campo ordine e non id, altrimenti non ha senso di esistere il campo.

    ciao

  8. #8
    in realtà, prendendo la precedente e successiva per ordine, l'id è solo l'identificativo (il limite è di 1, quindi non ha molta importanza per cosa sia ordinata l'unica faq di risultato - teoricamente il fatto di "quella prima" e "quella dopo" in ordine di "ordine" dovrei gia averlo con "WHERE ordine > $ordine' no?)

    comunque... era proprio l'apice di troppo che non avevo notato, grazie mille!
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non è vero, immaginati una tabella cosi:

    codice:
    +-----+-------------------+------+
    |  id | titolo            |ordine|   
    +-----+-------------------+------+
    |   1 | Prova             |    4 |   
    +-----+-------------------+------+
    |   2 | Prova             |    3 |   
    +-----+-------------------+------+
    |   3 | Prova             |    2 |   
    +-----+-------------------+------+
    |   4 | Prova             |    1 |   
    +-----+-------------------+------+
    |   5 | Prova             |    0 |   
    +-----+-------------------+------+
    E vuoi prenderti l'articolo successivo di quello con ordine = 2

    La tua query sarà

    SELECT id FROM tabella WHERE ordine > 2 ORDER BY id LIMIT 1

    Ti restituirà 1, mentre tu vorresti ottenere 2.

    Perchè ordine è > 2 e ordinando per id il primo che ti estra è quello con id = 1.

    Se ordinassi per ordine invece il primo sarebbe quello con id 2.

    Ciao

  10. #10
    DOH!

    parlo più... in effetti me ne ero accorto proprio mentre ci stavo lavorando

    grazie ancora, funzia tutto alla perfezione, e ho messo pure il ciclico una volta arrivati a prima e ultima....

    saluti!
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

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.