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

    filtro & paginazione tabella

    Salve,

    sono alle prese con un problema anche se per ora sono in fase di capire se è fattibile (senza troppi giri e mal di testa )

    in pratica, ho una tabella dove possono esserci molte righe l'idea è sia quella di abilitare l'impaginazione dei records lato client tramite javascript sia quella di permetterci eventuali filtri.

    Il problema non sussiste se utilizzo l'uno o l'altro perchè userei la proprietà della visibilità sulle righe, ma visto che vorrei abilitare entrambi stavo pensando se esistesse un metodo alternativo o se mi devo gestire entrambi tramite un class, ad esempio per marcare quelli della pagina corrente, e poi valutare l'hidden..

    Avete consigli?
    Grazie.
    Ondare, il mio blog!

  2. #2
    io non farei una roba simile, perché:
    1- Se ci sono molti record ci metti un secolo a caricarli.
    2- Gestire con i CSS le tabelle non è mai buona cosa.

    Io la farei con AJAX: fai una pagina in PHP (o quello che usi) che prende in ingresso i criteri del filtro e l'indice della pagina corrente (del tipo, vuoi visualizzare i record in 10 righe alla volta, ne hai 100, avrai dieci pagine, di cui la prima è 0 e l'ultima è 9).

    Ad esempio, metti di voler stampare gli utenti. Chiami sito.it/scripts/actor.search.php?page=3&nome=gigi&eta=9&operatoreE ta=moreOrEqual

    Nel file php viene eseguita la seguente query:

    SELECT * FROM Users WHERE nome LIKE 'gigi' AND eta >= 9 LIMIT 30, 10

    N.B. 30 = 3 * 10 = indice pagina * numero righe per pagina.

    se hai bisogno di delucidazioni chiedi pure.

  3. #3
    Capito,

    in effetti mi sembra più pulita coem soluzione solo che ignoro come applicarlo alla mia struttura ..

    ti spiego brevemente la situazione attuale

    ho una pagina php/html da cui eseguo diverse chiamate ajax asincrone, da qui partono le relative select sul database ed eleaborazioni dei records che ritornano tramite json i singoli resultset ricostruiti ad hoc (in totale nelal tabella possono esserci dai 200 ai 1200 records, a occhio).

    Queste vengono poi inserite in una tabella, eseguendo già un ordine di massima che può essere modificato.

    Ora, il problema è che questi records e anche solo le select query io non le memorizzo da nessuna parte risolvo tutto al volo e restituisco un pezzo alla volta, praticamente non costruisco pile o altro.

    Questo da una impressione di caricamente veloce ma soprattutto inizia a visualizzare i risultati a video perchè alcune select sono molto più lunghe di altre e vorrei evitare di far aspettare inutilmente il client

    Tu come lo struttureresti a livello teorico? cosa cambieresti? conta che posso metter mano su tutto quindi qualunque idea è ben accetta.

    Ciao e grazie.

  4. #4
    hai detto che hai già la pagina PHP che restituisce JSON, no? fai in modo che prenda in ingresso i parametri che indicano la pagina da visualizzare (che comporrà il LIMIT finale alle query) ed il filtro da utilizzare.

    Non posso essere più chiaro perché non so com'è la tua struttura di DB, ne che valori vuoi stampare.

  5. #5
    i valori sono per lo più numeri e descrizioni mentre la ricerca può essere fatta solo sulla descrizione.

    Grazie, ora mi ci metto sopra

  6. #6
    io farei una struttura JSON di questo tipo:

    {page : 0, numPages : 5, result : {[1,100,0, 'Descrizione1'], [2,100,0, 'Descrizione2'], [3,100,0, 'Descrizione3']}, filter : 'Descrizione'}

    A questo punto tu generi la tabella con i dati di result, in fondo crei una serie di link, da 1 a numPages, con le apposite funzioni JS per rimandare la richiesta AJAX con la page diversa, poi metti in grassetto il link con index = page. Il filter te l'ho messo in caso vuoi fare una cosa tipo, seleziona la parte del testo che combacia col filtro, ma se non ti serve lo puoi togliere.

  7. #7
    ottimo, devo solo aggiungere delle parti nella risposta json

    il discorso del filter mi interessa molto perché lo uso proprio per evidenziare le parole cercate .. che fai spii nel mio codice?? :P

    ora non mi resta che divertirmi con i cursori o analoghi penso e sperare che venga qualcosa di decente :|

    ciao e grazie

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.