Affichage d'un tableau - PHP - Programmation
Marsh Posté le 24-04-2006 à 19:03:14
Citation : |
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 : |
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 : |
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
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 ?
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.
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
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.
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.
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 ?
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.
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 ....
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
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...
Marsh Posté le 25-04-2006 à 12:26:33
C'est quoi ça?
Code :
|
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 ].
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();}
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.
Marsh Posté le 25-04-2006 à 13:53:18
oula.
Dsl mais je suis largué.
Je suis débutant en php dsl
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.
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 :
|
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.
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
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
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,