Fonction ok en "production" mais pas sous EasyPHP1
Posté : 23 juin 2008, 23:16
Salut à tous,
Voilà j'ai un script de tableau dynamique qui ne fonctionne pas avec EasyPHP1.8 mais qui fonctionne avec les composants Apache, MySQL, Php et Phpmyadmin installés séparément, plus exactement
Apache Tomcat version 2.0.63, version pour Windows (x.32).
MySQL version 5.0.51b-win32.
module de Php version 5-2.5-win32
PhPMyAdmin version 2.6.11
C'est peut être une erreur de version mais j'aimerais que cela fonctionne aussi avec easyPhp1.8 pour faire une demo.
Avec la EasyPHP j'ai une erreur d'index à la ligne 37
Voilà j'ai un script de tableau dynamique qui ne fonctionne pas avec EasyPHP1.8 mais qui fonctionne avec les composants Apache, MySQL, Php et Phpmyadmin installés séparément, plus exactement
Apache Tomcat version 2.0.63, version pour Windows (x.32).
MySQL version 5.0.51b-win32.
module de Php version 5-2.5-win32
PhPMyAdmin version 2.6.11
C'est peut être une erreur de version mais j'aimerais que cela fonctionne aussi avec easyPhp1.8 pour faire une demo.
Avec la EasyPHP j'ai une erreur d'index à la ligne 37
La ligne 37 est celle ci:Notice: Undefined index: in c:\program files\easyphp1-8\www\scriptsp\TableauDynamique.php on line 37
$tableau=$tableau.'<td>'.$ligneResult[$NomChamp[$j]].'</td>';// On créé toutes les cellules dans la même ligne
+ une erreur de Warning mais je pense qui est du à la 1ère erreur:
Le code entier de la fonction du tableau dynamique est :Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\scriptsp\recherche4_zonegestion.php:4) in c:\program files\easyphp1-8\www\scriptsp\recherche4_zonegestion.php on line 25
<?php
// Fonction du tableau dynamique qui se cré tout seul en fonction des attributs données dans la requetes et du nombre de lignes
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function Affichtab($var_result)
{
// Echo de test: echo " Test ok de la fonction Affichtab()".'<br>';
$nbreLignes=mysql_num_rows($var_result);// On compte le nombre de lignes du résultat de la requete pour vérifier s'il y a des résultats
if($nbreLignes=="0") { // S'il n'y a pas de résultats on affiche un message
$tableau1='<font color="red">'." Il n'y aucuns résultats a votre demande".'<font>';
return $tableau1;
exit();
}
// Echo de test: echo $nbreLignes.'<br>';
$nbreChamps=mysql_num_fields($var_result); // On compte le nombre de champs dans la BDD (le nbre de colonnes)
// echo de test: echo $nbreChamps.'<br>';
$tableau='<table border=1>'; // Construction du début du tableau
// On va créér la 1ère ligne du tableau avec le nom des colonnes de la table obtenue par la requete
$tableau=$tableau.'<tr>';
for ($j=0;$j<=$nbreChamps;$j++)// Sur la i ème ligne on va insèrer le nom des champs de la table
{
$Champ=mysql_fetch_field($var_result);//mysql_fetch_field récupére des paramètres divers comme le nom des champ
$NomChamp[$j]=$Champ->name; // recupération du nom des champs da la table obtenue après la requete
$tableau=$tableau.'<td><b>'.$NomChamp[$j].'<b></td>';
}
$tableau=$tableau.'</tr>';// On vient de créér la 1ère ligne avec le nom des champs
// Création du tableau des résultats
// A chaque ligne "ligneResult" on va insérer les valeurs des colonnes "j" récupérées dans la BDDD
while ($ligneResult=mysql_fetch_assoc($var_result))// On charge le pointeur de la ligne de résultat.
//mysql_fetch_assoc permet d'adresser le tableau à partir de nom du champ de la colonne.
{
$tableau=$tableau.'<tr>';
for ($j=0;$j<=$nbreChamps;$j++) // On boucle sur la j ème colonnes
{
$tableau=$tableau.'<td>'.$ligneResult[$NomChamp[$j]].'</td>';// On créé toutes les cellules dans la même ligne
}
$tableau=$tableau.'</tr>';// Fin de la jème ligne complète
}
$tableau=$tableau.'</table>';
//echo de test: echo $tableau;
return $tableau; // renvoi da la fonction du tableau complet
mysql_free_result ($var_result);
exit();
}
?>
Si quelqu'un pourrait m'aider, merci.