Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-02-2014, 16:33   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
[PHP] Ordinamento dinamico degli elementi visualizzati

Sera!

Ho realizzato un semplicissima pagina PHP con la quale visualizzo i record presenti nel database, supponiamo:
Codice PHP:
mysql_query("SELECT * FROM tabella ORDER BY rand()"); 
All'utente, vorrei dare la possibilità di cambiare il tipo di ordinamento es.
- ORDER BY id DESC
- ORDER BY price
- ORDER BY name
etc...

Come faccio a realizzarlo senza che la pagina venga ricarica e quindi con un refresh della visualizzazione degli elementi secondo l'ordinamento scelto?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2014, 18:15   #2
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
https://datatables.net/
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2014, 19:53   #3
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Uhm...grazie...vedrò di dargli un'occhiata!
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2014, 00:39   #4
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
L'ho visto, ma sembra che sia più adatto alla visualizzazione di una griglia di lavoro tipo Excel o simili.

Io invece dovrò usarlo per una pagina che contiene informazioni riguardanti appartamenti, quindi con Immagini, Tiolo, etc...organizzati in blocco verticali...per capirci un pò la disposizione che hai Ebay annunci...
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2014, 07:37   #5
jeremy.83
Senior Member
 
L'Avatar di jeremy.83
 
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
Io caricherei l'intero div o pagina, non so cos'hai, in ajax
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision
Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo
jeremy.83 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2014, 22:20   #6
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Quote:
Originariamente inviato da jeremy.83 Guarda i messaggi
Io caricherei l'intero div o pagina, non so cos'hai, in ajax
Quindi con un refresh dell'intero DIV che contiene i miei elementi da visualizzare dici?
Uhm....non ho le idee molto chiare...tenterò con un'altra ricerca sul WEB.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2014, 07:37   #7
jeremy.83
Senior Member
 
L'Avatar di jeremy.83
 
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Quindi con un refresh dell'intero DIV che contiene i miei elementi da visualizzare dici?
Uhm....non ho le idee molto chiare...tenterò con un'altra ricerca sul WEB.
Sì, se usi framework javascript come JQuery o simili è molto semplice, lanci un ajax e fai ritornare un xml che contiene del codice html (io uso xml ma dovrebbe funzionare anche json). Infine prendi quel codice html e lo fai caricare nel div. Così è comodo, se hai necessità nel codice html puoi inserire anche del javascript che potrebbe lanciare altri ajax ecc.

Ciao
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision
Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo
jeremy.83 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2014, 13:23   #8
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Quote:
Originariamente inviato da jeremy.83 Guarda i messaggi
Sì, se usi framework javascript come JQuery o simili è molto semplice, lanci un ajax e fai ritornare un xml che contiene del codice html (io uso xml ma dovrebbe funzionare anche json). Infine prendi quel codice html e lo fai caricare nel div. Così è comodo, se hai necessità nel codice html puoi inserire anche del javascript che potrebbe lanciare altri ajax ecc.

Ciao
Grazie, il concetto è molto chiaro, il problema sta nella realizzazione del codice...

Potreste darmi un mano?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2014, 10:18   #9
jeremy.83
Senior Member
 
L'Avatar di jeremy.83
 
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
Lato js, un ajax lanciato così dovrebbe funzionare
Codice:
$.post("tuo_script.php",$("#id_tuaform").serialize(), function(xml){
var risultato=$(xml).find("risultato").text();
$("#id_tuo_div").html(risultato);
});
Lato php invece devi eseguire la query che fai e salvare il codice html in una variabile stringa. Infine devi generare un file xml che abbia un tag "risultato". Io per creare l'xml utilizzo la classe DomDocument.

Saluti
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision
Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo
jeremy.83 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2014, 11:18   #10
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Secondo me è più corretto convertire i dati in formato json e costruire l'html direttamente sul client sfruttando jquery, in questo modo si riduce il traffico di rete e si sposta il peso dell'elaborazione sul client, rendendo il servizio più efficiente.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2014, 13:59   #11
jeremy.83
Senior Member
 
L'Avatar di jeremy.83
 
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Secondo me è più corretto convertire i dati in formato json e costruire l'html direttamente sul client sfruttando jquery, in questo modo si riduce il traffico di rete e si sposta il peso dell'elaborazione sul client, rendendo il servizio più efficiente.
Potrei anche essere d'accordo, ma dipende anche dalla potenza del client e del server.

Se si sa che il server ha poca banda e poca potenza allora la soluzione client è buona, ma se si ha a che fare con client della grande guerra il caricamento e la composizione della pagina potrebbe essere veramente irritante. Io mi trovo spesso a che fare con client pessimi pieni zeppi di spyware e company e ti assicuro che preferisco far viaggiare il server
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision
Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo
jeremy.83 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2014, 14:38   #12
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Secondo me (ma è solo una supposizione), costruire gli elementi della pagina invocando i metodi del DOM (anche attraverso jQuery) è comunque più efficiente di eseguire il parsing dell'html inviato dal server per poi generare i medesimi elementi. Inoltre il carico per il client è piccolo e generalmente poco influente sulle prestazioni; il carico sul server è altrettanto piccolo, ma va moltiplicato per tutte le richieste da servire.
E poi c'è il discorso della banda: se è vero che generalmente un server ha una banda di upload mostruosa, non è detto che lo stesso valga per il client.

Ma il vero motivo per cui farei questa scelta è fondamentalmente la maggiore versatilità: sul client arrivano dati strutturati che possono essere formattati in modo dinamico dal browser. Pensa ad esempio di voler dare all'utente la possibilità di visualizzare i dati in diversi formati (ad esempio, elenco o tabellare): i dati sono già a disposizione, basta rigenerare gli elementi del DOM ed il gioco è fatto, nessuna connessione al server, nessun tempo di attesa.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2014, 15:30   #13
jeremy.83
Senior Member
 
L'Avatar di jeremy.83
 
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Secondo me (ma è solo una supposizione), costruire gli elementi della pagina invocando i metodi del DOM (anche attraverso jQuery) è comunque più efficiente di eseguire il parsing dell'html inviato dal server per poi generare i medesimi elementi. Inoltre il carico per il client è piccolo e generalmente poco influente sulle prestazioni; il carico sul server è altrettanto piccolo, ma va moltiplicato per tutte le richieste da servire.
E poi c'è il discorso della banda: se è vero che generalmente un server ha una banda di upload mostruosa, non è detto che lo stesso valga per il client.
E' vero, possiamo fare mille supposizioni, ma dovremmo vederci davanti all'ambito proposto, secondo me le alternative sono valide entrambe e questa è una scelta che deve fare l'utente valutando i pro e contro. Qua si hanno anche a che fare con delle immagini, io preferisco sempre la computazione lato server

Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Ma il vero motivo per cui farei questa scelta è fondamentalmente la maggiore versatilità: sul client arrivano dati strutturati che possono essere formattati in modo dinamico dal browser. Pensa ad esempio di voler dare all'utente la possibilità di visualizzare i dati in diversi formati (ad esempio, elenco o tabellare): i dati sono già a disposizione, basta rigenerare gli elementi del DOM ed il gioco è fatto, nessuna connessione al server, nessun tempo di attesa.
Eh, anche qui dipende dalle situazioni, in caso di query con miliardi di record non conviene secondo me recuperare tutto, ma fare query paginate che ritornano solo gli elementi richiesti, il più delle volte funziona sempre al primo colpo e non devo fare altre ricerche.
Se guardi ad esempio la flexigrid fa questo ragionamento, che d'accordo si occupa di tutto l'html, ma i dati li recupera ogni volta sul server con un ajax
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision
Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo
jeremy.83 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2014, 15:56   #14
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Ma io mi riferivo alle mere operazioni di formattazione, non di ordinamento e ricerca, per quelle sono pienamente d'accordo con te, se i record sono tanti la paginazione deve essere eseguita sul server a livello DB.
Non ho mai usato flexgrid, però ho utilizzato datatables ed ho ovviamente implementato la parte php per farlo funzionare con ajax, è bastato personalizzare il template già fornito, i dati viaggiano in formato json, mentre il codice html viene generato direttamente da javascript sul browser.
Poi è ovvio che ognuno fa come vuole, ad essere sincero ho iniziato anch'io generando il codice sul server, poi per necessità ho cambiato approccio e mi sono trovato molto meglio.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Amazon scatenata nel weekend: sconti sug...
Pulizia per 45 giorni senza pensieri: il...
Apple taglia il prezzo degli AirPods Pro...
Tutti i MacBook Air M4 2025 da 13 pollic...
Roborock QV 35A a 429€ o Dreame L40 Ultr...
SpaceX Starship: Ship 37 ha eseguito due...
Sharkoon punta sui case a basso costo, m...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
Il rover NASA Perseverance ha ''raccolto...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v