Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454

    [mysql] Riga prima riga dopo?

    Salve a tutti, qualcuno mi potrebbe aiutare con questo problema?

    sto creando un piccolo forum ed il problema è questo, nelle discussioni vorrei mettere un "Vedi discussione precedente" e "Vedi discussione successiva". Ora come faccio a fargli capire che deve prendere una discussione prima (un id prima) e una dopo? Cioé come faccio a farli capire dove sta la riga? Spero di essermi spiegato.

    codice:
    Tabella: discussioni
    
      |disc_id | forum_id | ora  | d_titolo
    ------------------------------------------------
    1 |   1    |    1     | unix | Titolo del topic
    2 |   2    |    2     | unix |        "
    3 |   3    |    1     | unix |        "
    4 |   4    |    3     | unix |        "
    5 |   5    |    1     | unix |        "
    6 |   6    |    1     | unix |        "
    7 |   7    |    1     | unix |        "

    Grazie in anticipo

  2. #2
    prendi dall'URL o da qualsiasi altra parte l'id che identifica la discussione, lo diminuisci od aumenti di uno e linki le pagine precedenti/successive.

    In parole povere

    se la tua pagina si chiama

    http://www.sito.it/mostra_discussione.php?id=3

    $id = $_GET['id']

    $id_discussione_prec = $id--;
    $id_discussione_succ = $id++;

    E per il link alla discussione precedente:
    <a href="http://www.sito.it/mostra_discussione.php?id=<?echo '$id_discussione_prec';?>

    che ne pensate?

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    beh, non credo che sia una bella idea quella di incrementare e decrmentare l'id...perché la discussione precedente o successiva si basa in base all'orario di modifica, no in base al suo id...

    la questione è leggermente + complessa. io farei così.

    Quando mostro la discussione faccio una query del tipo

    SELECT * FROM `tabella_3d` WHERE `ora` < '".$tempo_discussione_corrente."' LIMIT 1

    Siccome nei forum viene mostrata la discussione + recente, quindi quella con un tempo minore a quello della discussione che state leggendo DOVREBBE ESSERE quella successiva, viceversa

    SELECT * FROM `tabella_3d` WHERE `ora` > '".$tempo_discussione_corrente."' LIMIT 1


    ma nn so se funzioni...in questo momento penso al mio script ke mis ta facendo impazzire...provare nn nuove...naturalmente è da sistmare un po'

  4. #4
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    @tredueotto

    Grazie per il contributo, ma così non posso farlo dato che sono diversi forum nella stessa tabella topic.

    @FinalFantasy

    La tua forse può funzionare aggiungendo l'id del forum. La devo provare non ci avevo pensato così.

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.