Probleme Tableau PHP HTML
Résolu/Fermé
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
-
15 mai 2008 à 11:37
BoyDkr81 Messages postés 32 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 août 2008 - 15 mai 2008 à 15:15
BoyDkr81 Messages postés 32 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 août 2008 - 15 mai 2008 à 15:15
A voir également:
- Probleme Tableau PHP HTML
- Tableau croisé dynamique - Guide
- Code ascii tableau - Guide
- Tableau word - Guide
- Editeur html - Télécharger - HTML
- Easy php - Télécharger - Divers Web & Internet
6 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
15 mai 2008 à 11:45
15 mai 2008 à 11:45
Bjr
Un truc tout bête ... ;-)
Passe l'identifiant du salarié en tant que paramètre
exe
$ID_Salarie = mysql_result($Resultat , $Compteur , "ID_Salarie");
echo "<a href=http://127.0.0.1/ASM/modification_salarie.php?ID_salarie=".$ID_Salarie.">";
...
echo "<a href=http://127.0.0.1/ASM/suppression_salarie.php?ID_salarie=".$ID_Salarie.">";
Ensuite tu récupères ID_salarie dans tes pages modification_salarie.php & suppression_salarie.php
Ex
Un truc tout bête ... ;-)
Passe l'identifiant du salarié en tant que paramètre
exe
$ID_Salarie = mysql_result($Resultat , $Compteur , "ID_Salarie");
echo "<a href=http://127.0.0.1/ASM/modification_salarie.php?ID_salarie=".$ID_Salarie.">";
...
echo "<a href=http://127.0.0.1/ASM/suppression_salarie.php?ID_salarie=".$ID_Salarie.">";
Ensuite tu récupères ID_salarie dans tes pages modification_salarie.php & suppression_salarie.php
Ex
<?php if (isset($_GET["ID_Salarie"])) { $ID_Salarie = $_GET["ID_Salarie"]; } else { // Oups pas de salarié : ici gestion des erreurs ! } ?>
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
15 mai 2008 à 12:00
15 mai 2008 à 12:00
Dans la boucle for :
j'utilise $ID_Salarie comme variable temporaire juste pour pas avoir à réécrire tout le temps mysql_result($Resultat , $Compteur , "ID_Salarie")
Bien sûr tu peux aussi écrire
au lieu de
for ($Compteur = 0 ; $Compteur < $NombreEnregistrement ; $Compteur ++) { $ID_Salarie = mysql_result($Resultat , $Compteur , "ID_Salarie");
j'utilise $ID_Salarie comme variable temporaire juste pour pas avoir à réécrire tout le temps mysql_result($Resultat , $Compteur , "ID_Salarie")
Bien sûr tu peux aussi écrire
echo "<a href=http://127.0.0.1/ASM/modification_salarie.php?ID_salarie=".mysql_result($Resultat , $Compteur , "ID_Salarie".">";
au lieu de
echo "<a href=http://127.0.0.1/ASM/modification_salarie.php?ID_salarie=".$ID_Salarie.">";
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
15 mai 2008 à 12:15
15 mai 2008 à 12:15
OK c'est bon ça fonctionne, juste une dernière question dans mes pages suppression.php et modification.php les requêtes de suppression et de modification je les mets comme ça:
if (isset($_GET["ID_Salarie"]))
{
$ID_Salarie = $_GET["ID_Salarie"];
mysql_connect("localhost","root") or die ("Impossible de se connecter à la base de données.");
mysql_select_db("asm") or die("Impossible de se connecter à la base de données.");
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie LIKE '$ID_Salarie'");
}
else
{
echo '<CENTER><B>Le salarié n\'existe pas!</B></CENTER>';
}
if (isset($_GET["ID_Salarie"]))
{
$ID_Salarie = $_GET["ID_Salarie"];
mysql_connect("localhost","root") or die ("Impossible de se connecter à la base de données.");
mysql_select_db("asm") or die("Impossible de se connecter à la base de données.");
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie LIKE '$ID_Salarie'");
}
else
{
echo '<CENTER><B>Le salarié n\'existe pas!</B></CENTER>';
}
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
15 mai 2008 à 12:21
15 mai 2008 à 12:21
Oui ça paraît correct sans pour le LIKE c'est "dangereux" surtout en suppression bien que j'ai horreur d'utiliser la fonction de substitution de variables de PHP et que je préfère écrire
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie = '".$ID_Salarie."'");
au moins là on distingue bien la variable
plutôt que
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie = '$ID_Salarie'");
Mais c'est affaire de goût
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie = '".$ID_Salarie."'");
au moins là on distingue bien la variable
plutôt que
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie = '$ID_Salarie'");
Mais c'est affaire de goût
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
15 mai 2008 à 12:33
15 mai 2008 à 12:33
C'est plutôt bizarre ma requête ne fonctionne pas après avoir cliquer sur supprimer il m'affiche le salarié à bien été supprimé mais il ne se passe rien dans ma base je ne devrais pas faire un form avec method="get" dans mes pages suppression et modification?
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
15 mai 2008 à 12:55
15 mai 2008 à 12:55
Ta page de départ (celle avec le tableau ne comporte pas de formulaire donc le problème ne provient pas de là)
Dans ta page suppression_salarie.php
ajoute avant
le code
Ca va t'afficher toutes les variables contenu dans $_GET[]
Pratique pour débugger
Dans ta page suppression_salarie.php
ajoute avant
if (isset($_GET["ID_Salarie"])) { $ID_Salarie = $_GET["ID_Salarie"];
le code
<?php echo "Contenu de $_GET[]<br />"; echo "<pre>"; var_dump($_GET); echo "</pre>"; ?>
Ca va t'afficher toutes les variables contenu dans $_GET[]
Pratique pour débugger
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
15 mai 2008 à 13:38
15 mai 2008 à 13:38
J'ai donc ecrit ça:
echo "Contenu de $_GET[ID_Salarie]<br />";
echo "<pre>";
var_dump($_GET["ID_Salarie"]);
echo "</pre>";
et j'ai comme affichage:
Contenu de 1
string(1) "1"
Je ne vois rien d'anormal car le salarié que j'ai tenté de supprimé a pour ID_Salarie 1.
Merci de m'éclairer encore une fois.
echo "Contenu de $_GET[ID_Salarie]<br />";
echo "<pre>";
var_dump($_GET["ID_Salarie"]);
echo "</pre>";
et j'ai comme affichage:
Contenu de 1
string(1) "1"
Je ne vois rien d'anormal car le salarié que j'ai tenté de supprimé a pour ID_Salarie 1.
Merci de m'éclairer encore une fois.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
15 mai 2008 à 13:41
15 mai 2008 à 13:41
Poste le code complet de ta page suppression_salarie.php
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
15 mai 2008 à 13:45
15 mai 2008 à 13:45
<HTML>
<HEAD>
<TITLE>Suppression d'un Salarié</TITLE>
<STYLE type="text/css">
BODY
{
color:black; font-family:Tahoma;
}
.menu
{
color:black; font-size:11pt; text-align:center; font-family:Tahoma; font-weight:bold
}
</STYLE>
</HEAD>
<BODY BGCOLOR="#BAD4FC">
<IMG SRC="http://127.0.0.1/ASM/LogoASM2.jpeg"><BR /><BR />
<CENTER><B><FONT SIZE=3>SUPPRESSION D'UN SALARIE</FONT></B></CENTER><BR />
<TABLE width="100%" bgcolor="#BAD4FC" cellpadding="5" cellspacing="2" border="2" bordercolor="#DDDDDD">
<tr>
<td width="25%">
<span class="menu"><a href="http://127.0.0.1/ASM/acceuil.html"><center>Acceuil</center></a></span></td>
<td width="25%">
<span class="menu"><a href="http://127.0.0.1/ASM/affichage_salarie.php"><center>Gestion des Salariés</center></a></span></td>
<td width="25%">
<span class="menu"><center>Planning</center></a></span></td>
<td width="25%">
<span class="menu"><center>Tableaux de résultats</center></span></td>
</tr>
</TABLE><BR /><BR />
<?
echo "Contenu de $_GET[ID_Salarie]<br />";
echo "<pre>";
var_dump($_GET);
echo "</pre>";
if (isset($_GET["ID_Salarie"]))
{
$ID_Salarie = $_GET["ID_Salarie"];
mysql_connect("localhost","root") or die ("Impossible de se connecter à la base de données.");
mysql_select_db("asm") or die("Impossible de se connecter à la base de données.");
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie='".$ID_Salarie."'");
echo '<CENTER><B>Le salarié à été supprimé avec succés.</B></CENTER>';
}
else
{
echo '<CENTER><B>Le salarié n\'existe pas!</B></CENTER>';
}
?>
</BODY>
</HTML>
<HEAD>
<TITLE>Suppression d'un Salarié</TITLE>
<STYLE type="text/css">
BODY
{
color:black; font-family:Tahoma;
}
.menu
{
color:black; font-size:11pt; text-align:center; font-family:Tahoma; font-weight:bold
}
</STYLE>
</HEAD>
<BODY BGCOLOR="#BAD4FC">
<IMG SRC="http://127.0.0.1/ASM/LogoASM2.jpeg"><BR /><BR />
<CENTER><B><FONT SIZE=3>SUPPRESSION D'UN SALARIE</FONT></B></CENTER><BR />
<TABLE width="100%" bgcolor="#BAD4FC" cellpadding="5" cellspacing="2" border="2" bordercolor="#DDDDDD">
<tr>
<td width="25%">
<span class="menu"><a href="http://127.0.0.1/ASM/acceuil.html"><center>Acceuil</center></a></span></td>
<td width="25%">
<span class="menu"><a href="http://127.0.0.1/ASM/affichage_salarie.php"><center>Gestion des Salariés</center></a></span></td>
<td width="25%">
<span class="menu"><center>Planning</center></a></span></td>
<td width="25%">
<span class="menu"><center>Tableaux de résultats</center></span></td>
</tr>
</TABLE><BR /><BR />
<?
echo "Contenu de $_GET[ID_Salarie]<br />";
echo "<pre>";
var_dump($_GET);
echo "</pre>";
if (isset($_GET["ID_Salarie"]))
{
$ID_Salarie = $_GET["ID_Salarie"];
mysql_connect("localhost","root") or die ("Impossible de se connecter à la base de données.");
mysql_select_db("asm") or die("Impossible de se connecter à la base de données.");
$resultat = mysql_query("DELETE FROM salarie
WHERE ID_Salarie='".$ID_Salarie."'");
echo '<CENTER><B>Le salarié à été supprimé avec succés.</B></CENTER>';
}
else
{
echo '<CENTER><B>Le salarié n\'existe pas!</B></CENTER>';
}
?>
</BODY>
</HTML>
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
15 mai 2008 à 14:05
15 mai 2008 à 14:05
Remplace
PAR
ca doit t'afficher les erreurs MySQL au cas où sinon le nbr de lignes effacées dans ta table
$resultat = mysql_query("DELETE FROM salarie WHERE ID_Salarie='".$ID_Salarie."'");
PAR
$resultat = mysql_query("DELETE FROM salarie WHERE ID_Salarie='".$ID_Salarie."'"); if (!$resultat) { echo "Erreur MySQL n°".mysql_errno()." : ".mysql_error(); } else { echo "Nombre d'enregistrements supprimés : ".mysql_affected_rows(); }
ca doit t'afficher les erreurs MySQL au cas où sinon le nbr de lignes effacées dans ta table
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
15 mai 2008 à 15:15
15 mai 2008 à 15:15
J'ai pour affcihage
Erreur MySQL n°1217 : Impossible de supprimer un enregistrement père : une constrainte externe l'empèche
en fait j'ai 5 tables: contrat,salarie,nature_contrat,profil_contrat,type_contrat
Chacune d'entre elles sont reliées c-a-d que dans ma table contrat j'ai comme clés étrangères
ID_Salarie, ID_Nature_Contrat, ID_Profil_Contrat, ID_Type_Contrat que j'ai fait avec phpMyAdmin dans la gestion des relations, toutes ces tables sont en InnoDB.
Erreur MySQL n°1217 : Impossible de supprimer un enregistrement père : une constrainte externe l'empèche
en fait j'ai 5 tables: contrat,salarie,nature_contrat,profil_contrat,type_contrat
Chacune d'entre elles sont reliées c-a-d que dans ma table contrat j'ai comme clés étrangères
ID_Salarie, ID_Nature_Contrat, ID_Profil_Contrat, ID_Type_Contrat que j'ai fait avec phpMyAdmin dans la gestion des relations, toutes ces tables sont en InnoDB.
15 mai 2008 à 11:56