Errori in una pagina php

  • Creatore Discussione Creatore Discussione newanfa
  • Data di inizio Data di inizio
dando un occhiata veloce noto che nel codice manca questa parte della guida:
$PagCorr=(!$_GET['page']) ? 1: (int)$_GET['page'];
$prRec=($PagCorr - 1)* $perPagina;

ora non posso soffermarmi troppo, intanto prova ad aggiungere questo e vedi se funziona.

come dice eliox puoi verificare sempre quali problemi ti da una query facendo una cosa del genere:
PHP:
if ($query=mysql_query('la tua query'))
{
//esegui istruzioni
}
else
{
echo mysql_error();
}
che significa che SE la query viene eseguita correttamente ti esegue delle istruzioni, altrimenti ti mostra l'errore sql,cioè il perchè la query non è stata eseguita!
 
Guarda sto impazzendo, anche perchè non ho ancora la tua domestichezza.

Mi da ancora quell'errore. Aiutami perfavore!!?!

Anche perchè non saprei come integrare bene nel mio codice lo script per capire quali errori da!
 
noto con stupore che il codice che mette alla fine della guida è diveso da quello che mette sopra.
prova l'allegato:
 

Allegati

Grandissimo!!!!!!!!!!!!!!
L'errore è scomparso...però mi sono accorto che non funziona il link successiva. Io inserisco 4 libri. Secondo l'architettura del sito, nella pagina 10 devono essere visualizzati 2 libri per volta. Quando premo su successiva, non fa niente. Mi dai quest'ultima dritta?
 
ciao
un piccolo particolare, gli array si scrivono

echo "<td><a href=\"06_dettagli.php?id=$array['lib_id']\">dettagli</td> ";

con l'indice tra gli apici
comunque prova a scriverla così

PHP:
echo "<td><a href=\"06_dettagli.php?id=".$array['lib_id']."\">dettagli</td> ";

p.s.
quando posti il codice non racchiuderlo con i tag quote, ma se php tra i tag php (ultima icona a dx), se è html con la penultima, si evidenzia meglio il codice per chi deve leggerlo
 
ciao
mi riferisco all'ultimo codice che hai postato
comunque gli indice di un array si scrivono tra gli apici

es.
PHP:
$_POST['pinco']; 
$mio_arrai['caio']; //ecc...
non si mettono gli apici solo in caso di variabile o numero
PHP:
$mio_arrai[$k];
$mio_arrai[55];
poi ad un certo punto dello script c'è l'istruzione che tho indicato (link alla pagina 06_dettagli) che secondo me è mglio scriverla come ti ho detto
 
ciao
no non risolve il tuo problema che, da quello che capisco, dovrebbe essere un errore sulla paginazione dei record.
se è così prova a postare il pezzo di codice che fa la paginazione
 
ciao! scusa se rispondo solo ora, non ho nemmeno un attimo questi giorni. ho dato uno sguardo allo script 10. per uno script cosi semplice è stato usato un codice abbastanza complicato e incasinato, nel senso che ci sono varie imprecisioni.ad esempio:
PHP:
if($PagCorr == 1) 
{
$precedente = "precedente";
} 
else 
{ 
$PagPrec = ($PagCorr - 1);
$precedente = "<a href=\"?pagina=$PagPrec\" title=\" pagina precedente\"><< precedente</a>";
}

if($PagCorr == $PagTot) 
{ 
$successiva = "successiva >>";
} 
else 
{
$PagSucc = ($PagCorr + 1);
$successiva = "<a href=\"?pagina=$PagSucc\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
il senso di queste IF è verificare il valore di $PagCorr.non so se conosci la sintassi degli IF,nel caso non la conoscessi posso dirti che:
PHP:
if ( condizione)
{
fai questo
}
else
{
fai quest altro
}
tradotto significa che:
PHP:
se (questa condizione è vera)
{
devi fare queste istruzioni
}
altrimenti
{
devi fare queste
}
è chiaro quindi che else serve a eseguire delle istruzioni alternative nel caso che la condizione non sia vera.ma è chiaro anche che else cosi com'è, funziona quando si verifica QUALSIASI altra condizione da quella che hai specificato tu.
quindi non ha senso fare 2 if diverse, in cui verifichi che la stessa variabile soddisfi condizioni diverse con gli else generici cosi. è logico!spiego meglio:
nel primo IF controlli se $pagCorr è uguale a 1,ALTRIMENTI (else) fai altro.
nel secondo IF controlli se $pagCorr è uguale a $pagTot,ALTRIMENTI (else) fai altro.
è ovvio che i 2 else includono le condizioni vere dell'altro if,perchè: se $pagCorr è = a $pagTot soddisfi sia la condizione del secondo if,sia l'else del primo!!perchè è comunque un valore diverso da $pagCorr ==1 (come prevede l'else del primo if). stessa cosa per il primo if!
e quindi lo script alla fine come fa a eseguire con sicurezza un codice cosi ambiguo??

tutto questo per dire che è sbagliato avere 2 else generiche quando verifichi la stessa variabile. dovresti assegnare delle condizioni anche agli else,quindi:
PHP:
if($PagCorr == 1) 
{
$precedente = "precedente";
} 
else if($PagCorr == $PagTot) 
{ 
$successiva = "successiva >>";
} 
else 
{
$PagPrec = ($PagCorr - 1);
$precedente = "<a href=\"?pagina=$PagPrec\" title=\" pagina precedente\"><< precedente</a>";
$PagSucc = ($PagCorr + 1);
$successiva = "<a href=\"?pagina=$PagSucc\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
cioè, se sei alla prima pagina,il link x la pagina precedente è disabilitato,ALTRIMENTI SE sei all'ultima pagina è disabilitato il link x la paginasuccessiva, ALTRIMENTI in qualsiasi altro caso abilita i link per precedente e successiva!

tuttavia non credo sia questo che non fa funzionare lo script. credo che l'errore sia in
PHP:
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
qui la tua guida fa l'ennesimo scherzo di cambiare il nome delle variabili nel codice messo a fine pagina,rispetto al resto della guida.questo $current_page equivale a $PagCorr. quindi cambia il nome!
va da se che cio che sta all'interno dell if non funzionerà mai se non trova $PagCorr.

quindi per concludere cambia prima il nome alla variabile come appena detto, guarda se funziona. se non funziona ancora, oppure se comunque funziona ma vuoi fare un codice + pulito cambia gli if come ti ho detto io e ricontrolla se funziona.
ripeto,ho potuto dare solo uno sguardo, quindi non ti assicuro che stia li il prboelma.

in caso di problemi riscrivi pure ma ti dico già che non potrò rispondere prima di giovedi!!:)
ciao!
 

Discussioni simili