- Home
- Categorie
- Coding e Sistemistica
- PHP
- Visualizzare "troppi" record
-
Visualizzare "troppi" record
Ciao a tutti,
vi disturbo in vacanza
volevo chiedervi questo, sperando di essere chiara:Ho scritto un programma php che semplicemente visulizza una lista di utenti in base tipo. Se i record sono pochi, visualizza bene. Se sono "troppi" da questo errore:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.Ovviamente in locale tutto ok!
C'è qualche parametro che devo cambiare?
Grazie per l'attenzione...
Patpat
-
Sei sicuro che avvenga solo quando i record sono eccessivi?
-
In verità è l'unica cosa di cui mi sono accorta. Ho diviso un tipo utente in 2 e non mi ha più dato errore...
Non so se c'è dell'altro. Purtroppo la differenza tra locale e remoto mi spiazza un po'.Ciao
Patpat
-
Occorrerebbe capire se è un problema di timeout o di memoria.
Nel primo caso puoi provare ad inserire a monte dello script
[PHP]
set_time_limit(300);
[/PHP]Nel secondo caso inserisci sempre a monte dello script
[PHP]
ini_set("memory_limit", "128M");
[/PHP]
-
Ho provato entrambe le soluzioni senza risultato. Stesso errore...
-
Domande:
-
Quanti utenti conta la lista ?
-
La lista è memorizzata in un database ? Se si, quale DBMS usi ?
-
Passano piu' di 30 secondi prima di ricevere l'errore ?
-
-
@Blancks said:
Domande:
-
Quanti utenti conta la lista ?
-
La lista è memorizzata in un database ? Se si, quale DBMS usi ?
-
Passano piu' di 30 secondi prima di ricevere l'errore ?
Ciao,
utenti 1517, uso MySQL ed è molto veloce, molto meno di 30 secondi.
Dici che ne vengo fuori ?Patpat
-
-
@Patpat said:
Ciao,
utenti 1517, uso MySQL ed è molto veloce, molto meno di 30 secondi.
Dici che ne vengo fuori ?Patpat
Boh, ci proviamo, sicuro è che non prometto miracoli
Se impiega meno di 30 secondi potrebbe trattarsi di un errore dello script che non viene riportato lasciando quindi al server usare un errore generico.
Tanto per tagliare via la testa al toro, includi ad inizio script
error_reporting(E_ALL); ```E utilizza mysql_error() per recuperare eventuali errori provenienti dal dbms. Se torna un errore piu' dettagliato sarebbe comodo, altrimenti se è appurato che con pochi record funziona ti suggerisco come workaround di giocare col LIMIT nella richiesta SQL ed usare le pagine per generare l'elenco.
-
@Blancks said:
>error_reporting(E_ALL); >```E utilizza mysql_error() per recuperare eventuali errori provenienti dal dbms. Grazie a questo tuo suggerimento mi sono accorta che l'errore non sta proprio dove pensavo, perchè mysql_error() già c'era nel php ma non intercettava nessun tipo di errore. Bene l'errore è qui:
<td><a href="#" onClick="javascript:Cancella(<?php echo $record['utenti_id'] ?>);">Cancella</a></td>
se tolgo onClick ecc. mi visualizza tutti i miei 1517 utenti di quel tipo! Mi ripeto :bho: Avete altri suggerimenti ora? Comunque grazie siete un prezioso aiuto! Patpat
-
Se metti gli apici e togli il # dall'href cambia qualcosa?
[php]<td><a href="" onClick="javascript:Cancella('<?php echo $record['utenti_id'] ?>');">Cancella</a></td>[/php]
-
Macchè, uguale!
Patpat
-
Se installi l'addons per firefox Web Developer, ti da qualche errore quando clicchi sul pulsante?
Cosi capiamo se è un errore Javascript o PHP.
-
Se disattivo javascript mi da errore lo stesso.
In verità come al solito se ho quei pochi record li visualizza, se ho i 1517 ho l'errore.Quindi è il php comunque.... intendevi qualche altra prova?
Grazie
Patpat
-
E' che mi sembra strano che con pochi vada e molti no... Perchè alla fine, non sono un esperto, ma non credo che 1517 siano tanti...
Immaginiamo solo il traffico qua su GT credo che superi i 1517 no?
Quindi algoritmi diversi a parte credo il problema possa essere anche nel Javascript.Potresti riportare il testo della funzione cancella?
-
Sì hai ragione, questo dei pochi o tanti record mi fa uscire di testa scherzo
ecco qui:
<script type="text/javascript"> <!-- function Cancella(id) { if(confirm("Confermi la cancellazione dell'utente?")==true){ document.location = "utenti.php?azione=cancella&utenti_id="+id; } } --> </script>
Ciao
Patpat
-
Prova a modificarlo momentaneamente cosi.
In questo modo lo debugghi (si scrive cosi poi?) eh eh...[php]
<script type="text/javascript">
<!--
function Cancella(id)
{
if(confirm("Confermi la cancellazione dell'utente?")==true)
{
var mylocation;
mylocation="utenti.php?azione=cancella&utenti_id="+id;
alert(mylocation);
document.location = mylocation;
}
}
-->
</script>
[/php]Faccio poi il punto, non ho capito l'errore si genera prima oppure solo quando clicchi sulla cancellazione?
-
Ora provo. Ma in effetti l'errore succede anche se non clicco su cancella.
Ho visto che se cancello onClick per richiamare la cancellazione non ho l'errore.....Già, sto facendo impazzire anche te.
Ciao
Patpat
-
Chi non impazzisce in compagnia non sa che bello sia? Ha ha...
-
Ecco visualizza:
utenti.php?azione=cancella&utenti_id=3153, ma questo sempre quando ho pochi record, perchè altrimenti la lista degli utenti non me la visualizza nemmeno... !
-
La query php che utilizzi per la visualizzazione?