Affichage d'un tableau

Affichage d'un tableau - PHP - Programmation

Marsh Posté le 24-04-2006 à 18:00:09    

Salut tous,
 
J'ai un petit souci.
 
Voici mon code pour afficher les valeurs d'une tables dans ma base de donnée.
 
Cela m'affiche bien ce que je veut mais j'ai ces erreurs la en plus et je ne voit pas dout ca peut venir.
 
Voici le code :  
 
function tab_out($result) {
 
 $nombre=mysql_num_fields($result);
 echo "<table width=90% border=0 align='center' cellpadding='2' cellspacing='2'>";
 echo "<tr bgcolor=#FFEFBF>";
 for ($i=0;$i<$nombre;$i++) {
  echo "<th>";
  echo mysql_field_name($result,$i);
  echo "</th>";
 }
 echo "</tr>";
 echo "<tr>";
 while ($row  =  mysql_fetch_array($result,MYSQL_ASSOC)) {
  $couleur = 1;
  foreach ($row as $elem) {
   if ($couleur == 1) {
    echo "<td bgcolor='#A6C8C8'><div align='center'><font size='-1'>$elem</font></div></td>";
    $couleur = 2;
   } else {
    echo "<td bgcolor='#B99CA3'><div align='center'><font size='-1'>$elem</font></div></td>";
    $couleur = 1;
   }
  }
  echo "</tr>";
 }
 echo "</table>";
}
 
  /*************************************************************
      ************              creation du rapport              ****************
     *************************************************************/
   
 
$lk=connect();  
$db="projet";
$sql="SELECT*FROM agenda ORDER BY client_visite";
 
If ($result=mysql_db_query($db,$sql))  {
   echo"<div align='center'><font size='+1'>Liste des rendez-vous</font></div><br>";
   tab_out($result);
} else {
   echo "la commande SQL n'a pas pu être exécutée.";
}
 
 
 
Et voici les erreur qu'il m'affiche  
 
Warning: Missing argument 1 for tab_out() in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 41
 
Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 43
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 53
 
 
Pourriez-vous m'aidez svp
merci d'avance,

Reply

Marsh Posté le 24-04-2006 à 18:00:09   

Reply

Marsh Posté le 24-04-2006 à 19:03:14    

Citation :


Warning: Missing argument 1 for tab_out() in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 41


Attention: L'argument n°1 est manquant pour tab_out dans c:\program files\easyphp1-8\www\projet\action_agenda.php à la ligne 41
 

Citation :

 
Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 43

 
Attention: mysql_num_fields(): l'argument founit n'est pas un résult valide de Mysql dans c:\program files\easyphp1-8\www\projet\action_agenda.php à la ligne 43
 

Citation :

 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 53

 
Attention: mysql_fetch_array(): l'argument founit n'est pas un résult valide de Mysql dans c:\program files\easyphp1-8\www\projet\action_agenda.php à la ligne 53
 
http://php.net/mysql_error

Reply

Marsh Posté le 25-04-2006 à 10:04:38    

Merci pour ta réponse.
 
J'avais bien compris, qu'il y avit des argument non valide mais le probleme c'est que je ne vois pas pourquoi ?

Reply

Marsh Posté le 25-04-2006 à 10:31:06    

Dans le if: mysql_db_query(...) me semble un peu louche... dans le manuel ( http://php.net/mysql_db_query ) il est indiqué que cette fonction est obsolète. Utilise mysql_query, et/ou mysql_select_db() ça résoudra sûrement ton problème.
 
Remarque: Pour le if ci-dessus, il est habituel d'ajouter une paire de parenthèses supplémentaires dans les affectation:
if( ($result=mysql_query(...)) )
...pour la relecture.

Reply

Marsh Posté le 25-04-2006 à 10:34:21    

dans tous les cas, utilise mysql_error() pour debugger

Reply

Marsh Posté le 25-04-2006 à 10:49:06    

J'ai modifier mon mysql_db_query en mysql_query mais les erreurs y sont toujours

Reply

Marsh Posté le 25-04-2006 à 11:08:23    

C'est probablement ta requête SQL qui ne retourne rien. Teste la avec un client MySQL pour voir si elle fonctionne. Fais attention à la casse.

Reply

Marsh Posté le 25-04-2006 à 11:16:22    

Si justement, ma requete SQL fonctionne puisque mon tableau s'affiche bien comme je veux avec les bonnes info dedans, mais le probleme c'est qu'il y a toujours ces messages d'erreurs.

Reply

Marsh Posté le 25-04-2006 à 11:27:37    

En revanche, j'ai fais une autre pages avec axactement le même code mais il n'y a pas de date et d'heure à afficher alors que dans celui-ci oui, aurraisse un lien ?

Reply

Marsh Posté le 25-04-2006 à 11:31:51    

On peut tout imaginer. En tout cas si c'est réellement la seule chose qui diffère, c'est forcément ça. Essaie de changer le format de tes dates et heures. Du genre, vire les points, les tirets,.... et ne garde que du texte ou des chiffres.

Reply

Marsh Posté le 25-04-2006 à 11:31:51   

Reply

Marsh Posté le 25-04-2006 à 11:38:07    

Voici une autre info.
 
J'ai repris le code de mon affichage pour l'autre tableau que j'ai coller à la place de mon code ci-dessus.
 
L'affichage est ok et sans msg d'erreur, mais des que je remet le reste, ca me remet les message ....

Reply

Marsh Posté le 25-04-2006 à 11:57:01    

Je vous met mon code avant et apres affichage des erreurs :
 
$table = "agenda";
 
function connect() { // connextion bdd
 if (! $linkid=mysql_connect("localhost", "root", "" )) {
  echo "Impossible d'établir la connexion à ",$MySQL_Host,"<br>";
  exit;
 }
 return $linkid;
}
 
function send_sql($db, $sql) { // envoie d'ordre SQL
 if (! $res=mysql_db_query($db, $sql)) {
  echo mysql_error();
  exit;
 }
 return $res;
}
 
 
 
function tab_out($result) {
 $nombre=mysql_num_fields($result);
 echo "<table width=90% border=0 align='center' cellpadding='2' cellspacing='2'>";
 echo "<tr bgcolor=#FFEFBF>";
 for ($i=0;$i<$nombre;$i++) {
  echo "<th>";
  echo mysql_field_name($result,$i);
  echo "</th>";
 }
 echo "</tr>";
 echo "<tr>";
 while ($row  =  mysql_fetch_array($result,MYSQL_ASSOC)) {
  $couleur = 1;
  foreach ($row as $elem) {
   if ($couleur == 1) {
    echo "<td bgcolor='#A6C8C8'><div align='center'><font size='-1'>$elem</font></div></td>";
    $couleur = 2;
   } else {
    echo "<td bgcolor='#B99CA3'><div align='center'><font size='-1'>$elem</font></div></td>";
    $couleur = 1;
   }
  }
  echo "</tr>";
 }
 echo "</table>";
}
 
 
$lk=connect(); // connexion
$db="projet";
 
$sql="SELECT*FROM"."`$table`"."ORDER BY client_visite";// requète
 // affichage entete et résultats
If ($res=send_sql($db,$sql))  {
   echo"<div align='center'><font size='+1'>Liste des enregistrements dans la table : $table</font></div><br>";
   tab_out($res);
} else {
   echo "la commande SQL n'a pas pu être exécutée.";
}
 
 
 
 
Tout marche,
 
 
 
 
 
if (isset($_POST["consult"]))  
{ tab_out();}  
 
if (isset($_POST["ajout"]))  
{ Ajouter();}  
 
if (isset($_POST["supr"]))  
{ Supprimer();}
 
if (isset($_POST["modif"]))  
{ Modifier();}
 
 
$table = "agenda";
 
function connect() { // connextion bdd
 if (! $linkid=mysql_connect("localhost", "root", "" )) {
  echo "Impossible d'établir la connexion à ",$MySQL_Host,"<br>";
  exit;
 }
 return $linkid;
}
 
function send_sql($db, $sql) { // envoie d'ordre SQL
 if (! $res=mysql_db_query($db, $sql)) {
  echo mysql_error();
  exit;
 }
 return $res;
}
 
 
 
function tab_out($result) {
 $nombre=mysql_num_fields($result);
 echo "<table width=90% border=0 align='center' cellpadding='2' cellspacing='2'>";
 echo "<tr bgcolor=#FFEFBF>";
 for ($i=0;$i<$nombre;$i++) {
  echo "<th>";
  echo mysql_field_name($result,$i);
  echo "</th>";
 }
 echo "</tr>";
 echo "<tr>";
 while ($row  =  mysql_fetch_array($result,MYSQL_ASSOC)) {
  $couleur = 1;
  foreach ($row as $elem) {
   if ($couleur == 1) {
    echo "<td bgcolor='#A6C8C8'><div align='center'><font size='-1'>$elem</font></div></td>";
    $couleur = 2;
   } else {
    echo "<td bgcolor='#B99CA3'><div align='center'><font size='-1'>$elem</font></div></td>";
    $couleur = 1;
   }
  }
  echo "</tr>";
 }
 echo "</table>";
}
 
 
$lk=connect(); // connexion
$db="projet";
 
$sql="SELECT*FROM"."`$table`"."ORDER BY client_visite";// requète
 // affichage entete et résultats
If ($res=send_sql($db,$sql))  {
   echo"<div align='center'><font size='+1'>Liste des enregistrements dans la table : $table</font></div><br>";
   tab_out($res);
} else {
   echo "la commande SQL n'a pas pu être exécutée.";
}
 
 
 
 
 
/********************************************************************************************************
********************** CONNEXION À LA BASE DE DONNÉE ET ENOIE DE REQUETE *******************
********************************************************************************************************/
 
 
 
function Ajouter() {
  echo "<form action='action_agenda.php' method='post'>";
  echo "<br>Client visité : <input type='text' name='client_visite'><br>";
  echo "Date du rendez-vous  : <input type='text' name='date_rdv '><br>";
  echo "Heure du début du rendez-vous : <input type='text' name='heure_debut'><br>";
  echo "Heure de fin du rendez-vous  : <input type='text' name='heure_fin '><br>";
  echo "<input type='hidden' name='ajout' value='1'>";
  echo "<br><input type='submit' value='Enregistrer (INSERT)'>";
  echo "</form>";
}
 
 
function Supprimer() {
  echo "<form action='action_agenda.php' method='post'>";
  echo "<br>ID : <input type='text' name='id'>";
  echo "<br><input type='submit' value='Supprimer (DELETE)'>";
  echo "<input type='hidden' name='supprime' value='1'>";
  echo "</form>";
}
 
 
function Modifier() {
  echo "<form action='action_agenda.php' method='post'>";
  echo "<br>ID du rendez-vous : <input type='text' name='ID '><br>";
  echo "<br>Client visité : <input type='text' name='clientvisite'><br>";
  echo "Date du rendez-vous  : <input type='text' name='daterdv '><br>";
  echo "Heure du début du rendez-vous : <input type='text' name='heuredebut'><br>";
  echo "Heure de fin du rendez-vous  : <input type='text' name='heurefin '><br>";
  echo "<input type='hidden' name='modif' value='1'>";
  echo "<br><input type='submit' value='Modifier (UPDATE)'>";
  echo "</form>";
}
 
/*************************************** ACTION D'ADMINISTRATION *********************************/
 
//ACTION CONSULTER
 
 
 
// ACTION AJOUTER
 
if (!empty($_POST['client_visite']) && !empty($_POST['date_rdv']) && !empty($_POST['heure_debut']) && !empty($_POST['heure_fin']) && !empty($_POST['ajout'])) {
 
 $client_visite = $_POST['client_visite'];
 $date_rdv = $_POST['date_rdv'];
 $heure_debut = $_POST['heure_debut'];
 $heure_fin = $_POST['heure_fin'];
 
 $lk = connect();  
 $bdd = "projet";
 $sql = "INSERT INTO `agenda` (`ID_agenda`, `client_visite`, `date_rdv`, `heure_debut`, `heure_fin`) VALUES ('''', '".$client_visite."', '".$date_rdv."', '".$heure_debut."', '".$heure_fin."')";
 If ($res=mysql_db_query($bdd,$sql))  {
  echo"<center>enregistrement ajouté</center>";
 } else {
  echo "la commande SQL n'a pas pu être exécutée.";
 }
}
 
 
// ACTION SUPPRIMER
 
if (!empty($_POST['id']) && !empty($_POST['supprime'])) {
 
 $id = $_POST['id'];
 $lk=connect();  
 $bdd="projet";
 $sql = "DELETE FROM `agenda` WHERE `ID_agenda` = $id LIMIT 1";
 If ($res=mysql_db_query($bdd,$sql))  {
  echo"<table width='100%'><tr><td width='25%'></td><td width='25%'></td><td width='25%'>enregistrement supprimé</td><td width='25%'></td></tr></table>";
 } else {
  echo "la commande SQL n'a pas pu être exécutée.";
 }
}  
 
 
// ACTION MODIFIER
 
if (!empty($_POST['ID']) && !empty($_POST['client_visite']) && !empty($_POST['date_rdv']) && !empty($_POST['heure_debut']) && !empty($_POST['heure_fin']) && !empty($_POST['modif'])) {
 
 $ID = $_POST['ID'];
 $clientvisit = $_POST['clientvisite'];
 $datrdv = $_POST['daterdv'];
 $heurdebut = $_POST['heuredebut'];
 $heurfin = $_POST['heurefin'];
 $lk = connect();  
 $bdd = "projet";
 
 
 $sql = "UPDATE `agenda` SET `client_visite`='$clientvisit', `date_rdv`='$datrdv',  `heure_debut`='$heurdebut', `heure_fin`='$heurfin' WHERE ID_agenda=$ID";
 If ($res=mysql_db_query($bdd,$sql))  {
  echo"<table width='100%'><tr><td width='25%'></td><td width='25%'></td><td width='25%'>enregistrement modifer</td></tr></table>";
 } else {
  echo "la commande SQL n'a pas pu être exécutée.";
 }
}
 
Et la ça m'affiche les erreur mais ça m'affiche quand même le tableau

Reply

Marsh Posté le 25-04-2006 à 11:58:02    

Autre question, comment dois-je faire pour afficher mon code sur une page du forum sous forme de texte déroulant...

Reply

Marsh Posté le 25-04-2006 à 11:58:06    

que dit mysql_error()?

Reply

Marsh Posté le 25-04-2006 à 11:59:43    

[ code ] [ /code]

Reply

Marsh Posté le 25-04-2006 à 12:09:25    

ca me marque juste ces trois erreurs

Reply

Marsh Posté le 25-04-2006 à 12:26:33    

C'est quoi ça?

Code :
  1. if (isset($_POST["consult"])) 
  2. { tab_out();}


J'ai pas tout lu, vérifie encore une fois où se trouve la ligne 41 du fichier c:\program files\easyphp1-8\www\projet\action_agenda.php.
 
Sinon, édite tes messages précédents et mets des balises  [ code ].

Reply

Marsh Posté le 25-04-2006 à 13:27:44    

je t'explique:
 
J'ai créer une page html avec dedans un formulaire avec 4 choix (consult, ajout, supr, modif) tout ces choix renvoi sur une même page php ou dedans est codé les différente fonction correspondant à ces choix.
 
c'est pour cela que j'ai    
      if (isset($_POST["consult"]))  
       { tab_out();}

Reply

Marsh Posté le 25-04-2006 à 13:43:37    

M'enfin! dans ces lignes tab_out() n'a pas d'argument!
T'en a beaucoup comme ça?
 
Attends, je me concentre sur ma boule de cristale...
 
attention... je vois ... je vois ...
 
 
Je vois que t'en a un à la ligne 41 du fichier c:\program files\easyphp1-8\www\projet\action_agenda.php.

Reply

Marsh Posté le 25-04-2006 à 13:53:18    

oula.
 
Dsl mais je suis largué.
 
Je suis débutant en php dsl

Reply

Marsh Posté le 25-04-2006 à 13:56:03    

là c'est plus du php, c'est prendre ton éditeur de texte, te positionner à la ligne indiquée par l'erreur, et vérifier si tu appelle la fonction tab_out() sans arguments.

Reply

Marsh Posté le 25-04-2006 à 13:58:56    

ok.
 
Ca j'ai deja essayé et dans ce cas la voila ce qu'il me met
 

Code :
  1. Notice: Undefined variable: result in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 41
  2. Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 41
  3. Notice: Undefined variable: result in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 51
  4. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 51
  5. Liste des rendez-vous
  6. Notice: Undefined variable: result in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 41
  7. Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 41
  8. Notice: Undefined variable: result in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 51
  9. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet\action_agenda.php on line 51

Reply

Marsh Posté le 25-04-2006 à 14:01:02    

Fait un tour sur http://php.net/ , lis les premiers chapitres de la documentation de référence sur les bases du language PHP.
Lis aussi cette partie sur mysql: http://php.net/mysql
Quand tu a terminé, tu est en mesure de régler le problème.

Reply

Marsh Posté le 25-04-2006 à 14:22:10    

c'est bon j'ai résolut mon probleme.
 
C'était vraiment idiot en plus.
 
Dsl de t'avoir souler

Reply

Marsh Posté le 25-04-2006 à 14:32:59    

J'ai encore une petite question si ca vous dérange pas.
 
Dans mon formulaire,  j'ai une zone ou quelqu'un foit rentrer une date de type aaaa/mm/jj puis une heure de début et une heure de fin de type hh:mm:ss.
 
Je voulais savoir si pour incorprorer les infos saisi dans le formulaire à la base de donnée, est-ce que les " : " ou " - " sont reconnu par sql

Reply

Marsh Posté le 27-04-2006 à 11:12:44    

salut,
 
en faite ca aussi j'ai résolut,
 
merci à vous,
 
@+

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed