Zizu Posted February 26, 2009 Share Posted February 26, 2009 Ciao ragazzi,come sempre avrei bisogno di un vostro aiuto. Mi sono messo a studiare php e mysql, proprio perché da quando mi sono avvicinato a prestashop ho iniziato ad apprezzare le straordinarie potenzialità di questo linguaggio. Durante la lettura di alcuni manuali mi sono ritrovato dinanzi ad un problema che spero voi esperti sappiate individuare. A mio parere (anche se sono alle prime armi) c’è un problema nello script che adesso vi posto con il relativo errore che ne deriva.La guida spiega passo per passo la creazione dello script di una pagina che richiama elementi, creati tramite apposito form e archiviati nel database, estraendoli dal dabase mysql e permettendo così di sfogliare i risultati in pagine, invece che mostrare una lista lunghissima in una sola pagina di estrazione. L’intero codice del file è il seguente: ><html> <head> <title>Estrazione record</title> </head> <body bgcolor="#99CCCC"> </pre> <table width="750" bgcolor="#666666" align="center" cellpadding="0" cellspacing="5" border="0"> I NOSTRI PRODOTTI </table> <br><br><br><table bgcolor="#FFFFCC" border="1" cellpadding="4" cellspacing="0" width="75%" align="center">"; echo "" . $ArrLim['loc_nome'] . ""; echo "</table> <a rel=""><< precedente</a>"; <br>} <br>if($PagCorr == $PagTot) <br>{ <br>$successiva = "successiva >>"; <br>} <br>else <br>{ <br>$PagSucc = ($PagCorr + 1); <br>$successiva = "<a rel="">successiva >></a>";<br>}<br>$paginazione = "$precedente $successiva"; <br>echo " \n $paginazione\n"; <br>echo " \n\n"; <br>mysql_close(); <br>?> <br><br></body> <br></ht -------------------Prodotti: è la tabella che mi sono creato in mysqlloc_id / loc_nome / = sono parametri della mia tabella ”prodotti” in mysql---------------------------L’errore che mi presenta è il seguente:Notice: Undefined index: page in C:\Programmi\EasyPHP 2.0b1\www\miosito\estrpag.php on line 23Sono andato alla linea 23 ed ho controllato; mi sembra che il tutto non giri per quel parametro ‘page’ che non riesco a capire quale valore abbia (perché non lo riprende da nessuna variabile).In quel determinato punto la guida dice dice:“Ora torniamo un attimo alla clausola LIMIT. Dobbiamo calcolare il primo parametro da passare, cioè il numero della pagina iniziale, che sarà fortemente in relazione con il numero di record per pagina e con il numero della pagina corrente. Precisamente nella prima pagina avremo i record 0 e 1, nella seconda 2 e 3 e così via. Quindi dobbiamo passare a LIMIT un parametro, il primo record da visualizzare, che nella prima pagina avrà valore 0, nella seconda 2 e così via.Ora noi questo parametro lo otterremo moltiplicando per il numero di record presenti in una pagina, il valore della variabile $perPagina, il numero corrispondente alla pagina corrente, numero che passeremo di pagina in pagina usando il metodo GET.In pratica creiamo una variabile $PagCorr nella quale memorizziamo il valore della pagina corrente che sarà passato col metodo GET e che però all’inizio sarà sempre uguale a 1. In una variabile $prRec memorizziamo il valore del primo record da visualizzare moltiplicando $PagCorr (cui sottraiamo sempre 1) per il numero dei record presenti nella pagina: $PagCorr = (!$_GET['page']) ? 1 : (int)$_GET['page']; $prRec = ($PagCorr - 1) * $perPagina; --------------------------------SECONDO VOI COME SI PUò RISOLVERE IL PROBLEMA ?GRAZIE DI CUORE Link to comment Share on other sites More sharing options...
Zizu Posted February 27, 2009 Author Share Posted February 27, 2009 ...scusate, mi hanno fatto osservare che il mio messaggio fosse relativo a pareri sul linguaggio php/mysql, però alcuna finalità con prestashop. Chiedo scusa se davo per scontato che se ne deducesse, invece, la stretta finalità Sto creando un modulo in prestashop 1.1 per inserire tra le varie pagine delle informazioni una voce che permetta di poter inserire varie documenti da scaricare. per il mio fine i documenti sono molti (tipo .doc., pdf, csv, etc) , quindi farli apparire in un'unica pagina sarebbe lunghissimo. La domanda che ho posto nel post precedente è relativo proprio a questo, perchè non riesco a capire l'errore che me ne deriva per quel valore 'page' che non so a cosa serva. Per questo ho chiesto il parere degli esperti del forum. Tutto qui.scusate la leggerezza. Spero sia stato trasparente. E' una richiesta di aiuto per un modulo di prestashop al quale mi sto dedicando da giorni.Se qualcuno avesse qualche consiglio sarebbe davvero gentile perchè non ne riesco a venir fuori da questo errore sopra descritto, il resto mi giro tutto bene.grazie Link to comment Share on other sites More sharing options...
vinoalvino Posted February 27, 2009 Share Posted February 27, 2009 dove dice $successiva = "successiva >>"; si dovrebbe costruire un href che sembra mancare. Dovrebbe essere qualcosa tipo : $successiva ='successiva >>"; Qualcosa del genere insomma si richiama se stesso costruendo la stringa GET dinamicamente. Link to comment Share on other sites More sharing options...
Zizu Posted February 28, 2009 Author Share Posted February 28, 2009 grazie vinoalvino, come sempre gentilissimo.Il problema che isulta dallo script richiama la linea 23:$PagCorr = (!$_GET['page']) ? 1 : (int)$_GET['page'];$prRec = ($PagCorr - 1) * $perPagina;In questo pezzo di codice (vedere post #1) viene richiamato un valore 'page' che non si riferisci a nulla (a nessuna variabile). Per questo chiedo il vostro parere. Analizzando tutto lo script inviato, seondo voi, come lo dovrei modificare affinchè non mi esca:Notice: Undefined index: page in C:\Programmi\EasyPHP 2.0b1\www\miosito\estrpag.php on line 23Grazie mille per l'aiuto Link to comment Share on other sites More sharing options...
vinoalvino Posted February 28, 2009 Share Posted February 28, 2009 magari ti dico cose che sai benissimo, ma $_GET['page'] prende la query dell'url (es:file.php?page=3 prende 3). Non capisco l'errore ... prova a chiamare il file aggiungendo ?page=1 Link to comment Share on other sites More sharing options...
Zizu Posted February 28, 2009 Author Share Posted February 28, 2009 cioè dici di inserire così il codice :$PagCorr = (!$_GET[‘?page=1’]) ? 1 : (int)$_GET[‘?page=1’];$prRec = ($PagCorr – 1) * $perPagina; Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now