Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 26-05-2001, 10.53.15   #1
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
Ciao a tutti.
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!
quipo.it non è collegato   Rispondi citando
Vecchio 26-05-2001, 14.24.16   #2
Etabeta
Hero Member
 
Registrato: 09-04-2000
Messaggi: 1.104
Etabeta promette bene
se ho tempo lo provo....ma prima dovrei fare un paio di cosette per echo2k savé...abbi fede

Etabeta non è collegato   Rispondi citando
Vecchio 27-05-2001, 11.47.54   #3
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
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ù!
quipo.it non è collegato   Rispondi citando
Vecchio 28-05-2001, 13.05.25   #4
EcHo2K
WT programmer
 
L'avatar di EcHo2K
 
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
EcHo2K promette bene
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
EcHo2K non è collegato   Rispondi citando
Vecchio 28-05-2001, 14.06.52   #5
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
Quota:
Originally posted by EcHo2K
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.
Grazie 1000! E' che devo ancora capirlo questo mondo del sw libero. Però mi attira un casino e sto cercando di entrarci dentro anch'io in maniera attiva, per quel che posso...

PS: avevo dimenticato di liberare la memoria dopo la query... aggiunto anche quello!
quipo.it non è collegato   Rispondi citando
Vecchio 28-05-2001, 18.00.16   #6
EcHo2K
WT programmer
 
L'avatar di EcHo2K
 
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
EcHo2K promette bene
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
EcHo2K non è collegato   Rispondi citando
Vecchio 28-05-2001, 18.05.57   #7
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
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... )
quipo.it non è collegato   Rispondi citando
Vecchio 28-05-2001, 19.10.37   #8
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
Aggiornato lo script... C'è altro che posso fare?
quipo.it non è collegato   Rispondi citando
Vecchio 28-05-2001, 20.05.34   #9
Etabeta
Hero Member
 
Registrato: 09-04-2000
Messaggi: 1.104
Etabeta promette bene
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

Etabeta non è collegato   Rispondi citando
Vecchio 29-05-2001, 08.51.18   #10
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
Prova a vedere questo file di testo, forse ci capisci qualcosa di più...
quipo.it non è collegato   Rispondi citando
Vecchio 29-05-2001, 10.08.06   #11
EcHo2K
WT programmer
 
L'avatar di EcHo2K
 
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
EcHo2K promette bene
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
EcHo2K non è collegato   Rispondi citando
Vecchio 29-05-2001, 22.19.22   #12
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
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?
quipo.it non è collegato   Rispondi citando
Vecchio 30-05-2001, 15.37.14   #13
EcHo2K
WT programmer
 
L'avatar di EcHo2K
 
Registrato: 05-01-2001
Loc.: Siena
Messaggi: 523
EcHo2K promette bene
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
EcHo2K non è collegato   Rispondi citando
Vecchio 30-05-2001, 16.24.18   #14
quipo.it
WT Assistant
 
L'avatar di quipo.it
 
Registrato: 19-12-2000
Loc.: Cambiano (Torino)
Messaggi: 591
quipo.it promette bene
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...
quipo.it non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Orario GMT +2. Ora sono le: 02.05.33.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.