|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
26-05-2001, 10.53.15 | #1 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Ho cercato un po' sulla rete uno script PHP che gestisse i link alle pagine precedenti e successive, mettendo un limite al # di pagine restituite. Ovvero qualcosa del tipo: <- ... 5 | 6 | 7 ... -> Non avendolo trovato, ho deciso di scrivermelo da solo, e a quanto sembra funziona discretamente. Non l'ho ancora testato proprio a fondo, ma finora non ho rilevato bugs. Ho deciso di renderlo disponibile a chi voglia utilizzarlo sotto la licenza GPL (x Echo... ho copiato il disclaimer che ho trovato sulle tue classi...). Lo script potete trovarlo a questo link. Sono graditi commenti / suggerimenti / segnalazioni di bachi, ed eventualmente modifiche per renderlo "db indipendent"... Ciauz! |
26-05-2001, 14.24.16 | #2 |
Hero Member
Registrato: 09-04-2000
Messaggi: 1.104
|
se ho tempo lo provo....ma prima dovrei fare un paio di cosette per echo2k savé...abbi fede
|
27-05-2001, 11.47.54 | #3 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Update
Ho corretto un piccolo bug e razionalizzato il codice (ho ridotto a 1/4 il core della funzione).
Ora è molto più veloce, non dovendo più fare molti controlli che prima faceva . Pare non ci siano più problemi. Nel caso però ne riscontraste, segnalatemeli, please... PS: mi ricorda tanto quando programmavo in C, sempre alla ricerca di un modo più chiaro e più efficiente di risolvere i problemi... 'sto PHP mi piace sempre di più! |
28-05-2001, 13.05.25 | #4 |
WT programmer
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
|
eta...non ti preoccupare per quel lavoro...ho gia' risolto, poi al limite migliora quello che ho fatto io
sono pronto al rilascio del USERS COMPONENT versione 0.1, devo solo completare la funzione di modifica di un utante gia' inserito...e scrivere tutta la documentazione...caxxx :P quipo, mo lo scarico e lo testo comunque per quanto riguarda la GPL la trovi su http://www.gnu.org/copyleft/gpl.html anche se per le librerie e' meglio la LGPL http://www.gnu.org/copyleft/lesser.html con la GPL costringi chi usa il tuo codice a rilasciare il SUO codice sotto GPL, invecie con la LGPL un progrmmatore puo' usare le tue librerie e ed utilizzare una licenza proprietaria per il suo codice.
___________________________________
Wintricks.it script programmer vuoi un sito internet professionale??? www.hor-net.com ! ...the Penguin Power |
28-05-2001, 14.06.52 | #5 | |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Quota:
PS: avevo dimenticato di liberare la memoria dopo la query... aggiunto anche quello! |
|
28-05-2001, 18.00.16 | #6 |
WT programmer
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
|
ho dato un'okkiata allo script...bene mio giovane jedi molto bene
un solo piccolo particolare... immagina di avere una tabella con 10.000 record... $numresults=mysql_query("select * from $table where $where"); $numrows=mysql_num_rows($numresults); che succede sul database? la queri impieghera' molto tempo, e se per caso il database e' su un altro server ci saranno pure problemi per l'occupazione di banda, il tutto per calcolare il numero di pagine totali. per ottimizzare la cosa c'e' un'altra soluzione...ti ci vuoi divertire o te la dico? ps. l'ho scoperta dopo che sono stato cazziato da Billow perche'lo script per le news che avevo fatto metteva a dura prova il server del database ed era esattamente come il tuo script
___________________________________
Wintricks.it script programmer vuoi un sito internet professionale??? www.hor-net.com ! ...the Penguin Power |
28-05-2001, 18.05.57 | #7 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Se parli della funzione mysql_free_result($numresults), beh, l'ho già aggiunta (vedi thread sopra), ma forse tu intendi qualcosa del tipo:
"select ID from table" anziché "select * from table"... e sai una cosa? Hai perfettamente ragione! Se invece ti riferivi ad altre ottimizzazioni ancora, fammi divertire ancora un po' (ma dimmi anche che non pensavi solo a quanto detto qui sopra, ovvero che c'è ancora spazio per miglioramenti ma questi non sono tra quelli che ti ho detto ora... ) |
28-05-2001, 19.10.37 | #8 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Aggiornato lo script... C'è altro che posso fare?
|
28-05-2001, 20.05.34 | #9 |
Hero Member
Registrato: 09-04-2000
Messaggi: 1.104
|
haemmm...mi faresti un piacere? sarò scemo ma non sono riuscito ad integrarlo in una pagina
fammi una pagina di esempio, e se ho tempo te lo trasformo per database access |
29-05-2001, 08.51.18 | #10 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Prova a vedere questo file di testo, forse ci capisci qualcosa di più...
|
29-05-2001, 10.08.06 | #11 |
WT programmer
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
|
e se la tabella nonha un campo ID?
c'e' un altra cosa che puoi fare con SQL per ridurre al minimo il carico sul DB ed avere il conteggio dei record...
___________________________________
Wintricks.it script programmer vuoi un sito internet professionale??? www.hor-net.com ! ...the Penguin Power |
29-05-2001, 22.19.22 | #12 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Premesso che nell'ultima versione dello script è l'utente a decidere la colonna su cui fare l'indicizzazione (parametro $key, che in generale può essere "ID"), credo di aver capito cosa intendi dire:
ovvero usare la funzione COUNT(*); però non mi restituisce un valore giusto: a volte anzi non restituisce nemmeno la metà del valore atteso Ecco cosa scrivo: $numrows=mysql_query("select COUNT(*) from $table where $where"); Dove sbaglio? |
30-05-2001, 15.37.14 | #13 |
WT programmer
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
|
okkio che quando fai il mysql_fetch_array non so cosa ritorna perche' non sono stato capace di trovare nulla sul sito di PHP
io personalmente uso il $row=mysql_fetch_row in quel caso e mi vado a prendere $row[0], li dentro c'e' il risultato della count...non so perche' ma ritorna 2 celle...quindi esiste anche $row[1]. ti posso giurare che fin'ora non ho avuto problemi, ne con mysql ne con ODBC ---- scusa sono bacato nel capo, ho visto ora... nella riga che mi hai scritto dentro $num_rows non ci trovi il numero delle righe, ma il result ID la meniera corretta e' questa: $query="SELECT COUNT(*) FROM $table WHERE $where"; $res=mysql_query($query,$conn) or die("errore nell'eseguire la query"); $row=mysql_fetch_row($res); $num_rows=$row[0]; a questo punto in $num_rows hai effetivamente il numero dei record della tabella. Se riesci a sostituire mysql_fetch_row con mysql_fetch_array fammi un fischio! [Edited by EcHo2K on 30-05-2001 at 15:43]
___________________________________
Wintricks.it script programmer vuoi un sito internet professionale??? www.hor-net.com ! ...the Penguin Power |
30-05-2001, 16.24.18 | #14 |
WT Assistant
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
|
Ehi, ma COUNT(*) restituisce un array??? Ma perché non lo scrivono chiaramente sul manuale???
Grrr... ci ho perso un'ora! Alla fine mi è venuta l'illuminazione... Una cosa non mi è chiara: cosa indica esattamente l'asterisco? Se io metto COUNT(1) cosa mi restituisce? Forse il # di righe non Nulle della 1a colonna? --- PS: Scusa Echo, ho scritto quanto sopra prima di vedere il tuo ultimo post... comunque ho risolto così: $numrows=mysql_query("select COUNT(*) from $table where $where"); $numrows=mysql_fetch_array($numrows); $numrows=$numrows[0]; Da me funge... |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|