[RESOLU] - [HTML-PHP-MYSQL]Valeur maximale atteinte dans une boucle ?
Dernière réponse : dans Programmation
Bonjour à tous,
J'ai codé une page "normal " avec une boucle qui va chercher des éléments dans une base de données et qui restitue le résultat sous forme d'un tableau.
A chaque ligne, je rajoute un champ de type " <select> " avec 3 " <option> " (En cours, vu & validé).
Lorsque je veux afficher ma page, cela semble fonctionner correctement mais en réalité, toutes les informations n'y sont pas : lorsque je regarde le code source de la page, celui-ci " s'arrête nettement " au milieu d'une balise avec le code suivant - fin du code :
ou autre exemple :
Alors que dans mon code (php), je termine correctement par un " </body></html> " & cie !
J'arrive à afficher actuellement 243 valeurs (des fois, cela m'en affiche moins si je rafraichis la page...)
Je me demande si je n'aurais pas atteinds une limite soit au niveau html (tableau trop grand ? Trop de <select> ?), soit au niveau php (temps d'exécution du script trop grand ? Erreur dans la boucle While ?) soit au niveau MySQL (résultat de la requête trop important ? ...)...
J'ai essayé de modifier certaines valeurs dans la conf de Apache mais cela ne change pas grand chose à la donne...
D'avance merci de vos lumières !
J'ai codé une page "normal " avec une boucle qui va chercher des éléments dans une base de données et qui restitue le résultat sous forme d'un tableau.
A chaque ligne, je rajoute un champ de type " <select> " avec 3 " <option> " (En cours, vu & validé).
Lorsque je veux afficher ma page, cela semble fonctionner correctement mais en réalité, toutes les informations n'y sont pas : lorsque je regarde le code source de la page, celui-ci " s'arrête nettement " au milieu d'une balise avec le code suivant - fin du code :
<option value=2 >Validé</option>
</select></td></tr><tr><td><b><u>241 </u></b></td><td><b></b></td><td><b><i></i></b></td><td>Afficher les informations d'une log DB2</td><td><select name=etat_241>
<option
ou autre exemple :
<tr><td><b><u>243 </u></b></td><td><b></b></td><td><b><i>EOS</i></b
Alors que dans mon code (php), je termine correctement par un " </body></html> " & cie !
J'arrive à afficher actuellement 243 valeurs (des fois, cela m'en affiche moins si je rafraichis la page...)
Je me demande si je n'aurais pas atteinds une limite soit au niveau html (tableau trop grand ? Trop de <select> ?), soit au niveau php (temps d'exécution du script trop grand ? Erreur dans la boucle While ?) soit au niveau MySQL (résultat de la requête trop important ? ...)...
J'ai essayé de modifier certaines valeurs dans la conf de Apache mais cela ne change pas grand chose à la donne...
D'avance merci de vos lumières !
Autres pages sur : resolu html php mysql valeur maximale atteinte boucle
Lassé par la pub ? Créez un compte
Voilà qui est fait :')
La table contient actuellement 266 enregistrements et le but étant de les afficher tous !
Je cherche à obtenir le résultat suivant :
----------------------------------------------------------------------------------
| Délais | Métiers | Sous-métiers | Actions/Tâches | Etat |
----------------------------------------------------------------------------------
Avec l'état qui dépend du " pilote " (en cours / vu / validé) et de la valeur "etat_formation " qui se présente sous la forme : 0;1;0;0;0;1;0;1;1;1;1;0;0;0... (et donc théoriquement 266 fois des " 0 " ou des " 1 "). D'ailleurs le tableau généré lors de l'explode n'est-il pas trop grand ? Y a t'il une limite au nombre d'entrée d'une variable tableau ?
<?php
mysql_connect($server,$user,$passwd);
mysql_select_db($db);
?>
<?php
error_reporting(E_ALL);
?>
<?php
//Test si modification de la base avant affichage
if ( isset($_POST['update']) ) {
//A COMPLETER
}
?>
<html>
<head>
</head>
<body>
<?php
//Récupération des données du profil
$id_user="0";
$req="select id,nom,etat_formation from nom_pilote where id='$id_user'";
unset($id_user);
$exec=mysql_query($req);
$resultat=mysql_fetch_row($exec);
//Récupération des données du pilote
$id_pilote=$resultat[0];
$nom_pilote=$resultat[1];
echo "<center><h1>". $nom_pilote."</h1></center>";
//On récupère la formation sous la forme d'un tableau (il peut ne pas être "complet")
$etat_formation=explode(";",$resultat[2]);
//Désallocation des variables
unset($req);
unset($exec);
unset($resultat);
//Initialisaton des variables (pour affichage, ou non, des délais, métiers & sous-métiers
$last_delais="";
$last_metiers="";
$last_sous_metiers="";
//Récupération de la checklist sous la forme d'un tableau
//Déclaration du tableau
echo "<table border=0px><tr><td><b>Délais</b></td><td><b>Métiers</b></td><td><b>Sous-Métiers</b></td><td><b>Actions/Tâches</b></td><td><b>Etat</b></td></tr>";
$req="select id,delais,metiers,sous_metiers,actions_taches from checklist";
$exec=mysql_query($req) or die(mysql_error());
$i=0;
//Boucle pour affichage des résultats
while ($resultat = mysql_fetch_array($exec) ) {
$i++;
//Déclaration de la "sélection" par défaut - désallocation / allocation
unset($default0);
unset($default1);
unset($default2);
if ( !isset($etat_formation[$resultat['id']]) ) {
$default0 = " selected";
} else {
if ( $etat_formation[$resultat['id']] == "0" ) {
$default0 = " selected";
}
if ( $etat_formation[$resultat['id']] == "1" ) {
$default1 = " selected";
}
if ( $etat_formation[$resultat['id']] == "2" ) {
$default2 = " selected";
}
}
//Initialisation des variables par défaut qui sont non déclarées
if ( !isset($default0) ) {
$default0="";
}
if ( !isset($default1) ) {
$default1="";
}
if ( !isset($default2) ) {
$default2="";
}
//Test si la valeur délais est différente (pour affichage)
if ( $resultat['delais'] != $last_delais) {
$delais = $resultat['delais'];
$last_delais = $delais;
} else {
$delais = "";
}
//Test si la valeur métiers est différente (pour affichage)
if ( $resultat['metiers'] != $last_metiers) {
$metiers = $resultat['metiers'];
$last_metiers = $metiers;
} else {
$metiers = "";
}
//Test si la valeur sous_métiers est différente (pour affichage)
if ( $resultat['sous_metiers'] != $last_sous_metiers) {
$sous_metiers = $resultat['sous_metiers'];
$last_sous_metiers = $sous_metiers;
} else {
$sous_metiers = "";
}
echo "<tr><td><b><u>".$i." ".$delais."</u></b></td><td><b>".$metiers."</b></td><td><b><i>".$sous_metiers."</i></b></td><td>".$resultat['actions_taches']."</td><td>";
$etat_id="etat_".$resultat['id'];
echo "<select name=$etat_id>
<option value=0".$default0.">En cours</option>
<option value=1".$default1.">Vu</option>
<option value=2".$default2.">Validé</option>
</select>";
echo "</td></tr>";
}
//echo "<tr><td></td><td></td><td></td><td><input type=submit value=modifier></td><td></td></tr>";
echo "</table>";
//Désallocation des variables
unset($req);
unset($exec);
unset($resultat);
?>
</body>
</html>
<?php
mysql_close();
?>
La table contient actuellement 266 enregistrements et le but étant de les afficher tous !
Je cherche à obtenir le résultat suivant :
----------------------------------------------------------------------------------
| Délais | Métiers | Sous-métiers | Actions/Tâches | Etat |
----------------------------------------------------------------------------------
Avec l'état qui dépend du " pilote " (en cours / vu / validé) et de la valeur "etat_formation " qui se présente sous la forme : 0;1;0;0;0;1;0;1;1;1;1;0;0;0... (et donc théoriquement 266 fois des " 0 " ou des " 1 "). D'ailleurs le tableau généré lors de l'explode n'est-il pas trop grand ? Y a t'il une limite au nombre d'entrée d'une variable tableau ?
Non pas de message d'erreur PHP... Le truc c'est que je charge les données MySQL à partir d'un fichier Excel et il est possible que lors de l'import, il insère certains caractères " spéciaux "... A noter que sur d'autres postes de travail, la page semble " boucler " voir renvoit sur un " Connexion avec le serveur réinitialisée " & sur Opera Portable, je n'arrive à afficher que 4 résultats...
Bon alors je tente de repartir de 0 et dans ma boucle j'ai mis une variable que j'incrèmente et que je "tente" d'afficher ! Et je tombe sur un :
Network Error (tcp_error)
A communication error occurred: ""
The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.
Network Error (tcp_error)
A communication error occurred: ""
The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.
Voici le code qui me renvoit sur le fameux Network Error :
Pour info, le serveur qui est utilisé répond convenablement ! J'ai d'autres requêtes qui s'exécutent sur d'autres bases et je n'ai aucun souci !
<?php
mysql_connect($server,$user,$passwd);
mysql_select_db($db);
?>
<?php
error_reporting(E_ALL);
?>
<html>
<head>
</head>
<body>
<?php
$req="select id,delais,metiers,sous_metiers,actions_taches from checklist limit 500";
$exec=mysql_query($req) or die(mysql_error("Erreur lors de l'exécution de la requête MySQL"));
$i=0;
//Boucle pour affichage des résultats
while ( $resultat = mysql_fetch_array($exec) ) {
$i++;
echo $i;
}
echo $i;
//Désallocation des variables
?>
<?php
mysql_close();
?>
</body>
</html>
Pour info, le serveur qui est utilisé répond convenablement ! J'ai d'autres requêtes qui s'exécutent sur d'autres bases et je n'ai aucun souci !
C'est bien là le souci :-)
J'ai essayé de supprimer la base, la recréer à vide... et toujours le même message d'erreur " Network Error "...
J'ai une bonne 50aine de tables différentes dans une 10aine de bases et je n'ai aucun message similaire (mes autres pages continuent à fonctionner correctement) ! Au niveau des ressources sur le serveur, je n'ai rien remarqué de particulier...
J'ai essayé de supprimer la base, la recréer à vide... et toujours le même message d'erreur " Network Error "...
J'ai une bonne 50aine de tables différentes dans une 10aine de bases et je n'ai aucun message similaire (mes autres pages continuent à fonctionner correctement) ! Au niveau des ressources sur le serveur, je n'ai rien remarqué de particulier...
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumPhp double boucle while mysql fetch array
- ForumBoucle php mysql avec librairie fdpf
- ForumPhp mysql boucle
- ForumRequete mysql dans boucle php
- solutionsResultat boucle php html sur deux colonnes
- ForumBoucle en mysql
- ForumPhp boucle while avec mysql
- ForumPhp update en boucle mysql insert id
- ForumBoucle php sur donnee mysql
- ForumPlusieurs conditions boucle php mysql
- Voir plus