SVP PHP "modification d'un formulaire":-

Résolu/Fermé
sniper - 28 janv. 2009 à 09:23
 sniper - 2 févr. 2009 à 14:48
Bonjour,

je suis sur une application. j'ai une page avec une requete sql qui me di presente tous les tickets(sous forme de tableau) qu'il y a dans ma table ticke de bdd.
Pour qu'il puisse etre enregistré et donc aparaitre comme je l'est di si dessus, j une page création ticket avec un formulaire qui est envoyé a la bdd de la table ticket.
A chaque fin de ligne correspondant a un ticket j mi un bouton modifier, ce que j'aimerais faire et la ou je bloque c que lorsque je clique sur le bouton modifier sa me met dans un autre formulaire d'une otre page"modif.php" mais avec les champs rempli et je puisse modifier ce que je veux et ensuite le validé.

Voila votre aide me serez d'une tres grande importance.


Mercii beaucoup d'avance
A voir également:

80 réponses

Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 10:06
Je viens te répondre (enfin essayer ^^) sur ce post plutot que l'autre du coup ^^

Alors si j'ai bien compris, sur ta page d'affichage des tickets, pour chaque ticket tu veux un bouton modifier qui te renvoie à une page avec les champs remplis pour ce ticket.

Je pense que dans ta base tu as un ID pour chaque ticket.

Donc je pense que plutôt qu'il faudrait que ton bouton te renvoie à la page modif.php avec l'ID de ce ticket en méthode GET

Donc je pense que le plus simple est que pour chaque bouton tu aies un formulaire sous la forme :

<form action="modif.php" method="get">
<input type="hidden" name="idTicket" value="<?php echo $id_du_ticket; ?>" />
<input type="submit" value="Modifier" />
</form>

Et dans le modif.php :

$id_du_ticket = $_GET['idTicket'];
// Requete de récupération des infos :
$requete = "SELECT * FROM Ticket WHERE ID_Ticket ='" . $id_du_ticket . "'";
// Ensuite tu execute ta requete, récupère les résultats et les mets dans tes champs textes sous la forme :

<input type="text" name="tonChamp" value="<?php echo $valeur_de_ton_champ; ?>" />



Voilà j'espère t'avoir aider ! =)
0
Merci beaucoup !! de ton aide mais je t'apporte plus d information histoir que sa soit plus clair.

Dans table ticket Ma clé primaire est formé de 2 champs. IndexTicket et NumeroTicket

ensuite sa fo ke je le mette ou exactement ?

<form action="modif.php" method="get">
<input type="hidden" name="idTicket" value="<?php echo $id_du_ticket; ?>" />
<input type="submit" value="Modifier" />
</form>

dans ma page "lestickets.php"

Parce que j'ai deja crée mes bouton "modifier" qui s'afficher sur toute les ligne je les mis dans la boucle.

<?php
echo "<td><input type='submit'action='?page=3' value='modifier' name='modif_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>

Mais ce echo se trouve dans la boucle et dans un form deja et dans ce form y a deja un action="lestickets.php"
(car j'ai aussi un bouton supprimer tickets") c la ou sa se complique

( dsl si je demande des chose nul ^^ je debute)
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 10:43
J'ai eu un cas à peu près similaire il y a quelques jours donc je connais un peu ce qu'on peut et ne peut pas faire ^^

Donc ma méthode ne fonctionnera pas car on ne peut pas imbriquer des formulaires.

Le plus simple à mon avis (c'est ce que j'ai fait personellement) c'est passer par le JavaScript.

Ton formulaire te renvoie à la page lestickets.php, il va donc falloir changer ça pour ton bouton modifier ^^

Sur ton bouton il faudra donc que tu mettes :
<?php
// Le onclick permettra d'executer la fonction JavaScript
// Du coup j'ai changer le type submit en type button car le bouton n'enverra pas le formulaire, c'est la fonction JavaScript qui va te renvoyer où tu veux
echo "<td><input type='button' action='?page=3' value='modifier' name='modif_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."' onclick='envoi_modif(\"" . $donnees["IndexTicket"] . "_" . $donnees["NumeroTicket"] . "\")'; /></td>";
?>

Par contre j'ai une question : est-ce que entre IndexTicket et NumeroTicket il y en a un qui est unique?
Car dans toute base, il te faut un identifiant unique (c'est celui qu'on va utiliser ici)


Ensuite , entre tes balises <head> et </head>tu met ta fonction JavaScript:
Pour la fonction tu as le choix, soit tu modifies
soit tu renvoies juste par un lien vers ta page modif.php

Dans le premier cas ça donnerait :
<script language="javascript">
function envoi_modif(id) {
document.getElementById('id_du_form').action = "modif.php?idTicket=" + id;
document.getElementById('id_du_form').submit();
}
</script>
Ici le : id_du_form est à définir dans ta balise form :
<form .. id="id_du_form" >

Dans le second cas :
<script language="javascript">
function envoi_modif(id) {
location.href = "modif.php?idTicket=" + id;
}
</script>

Dans le second cas ça reviendrait à remplacer ton bouton par un lien (ce qui dans ton cas me parait le plus simple)

A ce moment là si tu n'es pas attaché à ton bouton et que avoir un lien à la place ne te dérange pas je pense que tu peux remplacer ton bouton par :

<?php
echo "<td><a href='modif.php?idTicket=" . $donnees["IndexTicket"] . "_" . $donnees["NumeroTicket"] . "'>Modifier</a></td>";
?>

Voilà à toi de choisir.

Si tu as d'autres questions n'hésites pas ! =)
0
okok merci

Moi Ce Que je te propose c'est qu'on fasse etape par etape si tu le veux bien et que sa te derange pas car le javascript je conné mais trés peu.

OUi tout a fait j'ai IndexTicket qui reste toujour A et le numeroTicket qui est incrémenté, le ticket est donc determiné par son indexTicket et son numero ce ki donne "A001" = NomClient:jean, dateclient:12-01-2009 .......

J'ai une autre question tu la anticipé lol !! j'ai essayé de mis mon form action=page4 concernant le bouton supprimer juste avant le checkbox, j recréé un autre form action=page3 pour le bouton modifier. J'ai mis ces 2 form dans la boucle.

mais la 1er utilisation marche sans probleme le modifier me renvoi bien a la page 3 ( la ou je doi deposé mon code de recuperation + modifié) et le supprimé chekboxx marche ossi par contre lorsque je fé un supprimé et je re teste pour modifer il me renvoie a page 4 du supprimer comme si j'avais toujour le form action=page4 partout.

Voici le code de ma page "lestickets.php"

<?php
if (isset($_POST['suppression']))
{
foreach($_POST as $nom => $val) // Pour chaque valeur venant du formulaire
{
"$nom $val<br />";
if(substr($nom,0,6)=="suppr_") // Si c'est une case à cocher de suppression
{
$cle = substr($nom,6); //On enlève "suppr_" du nom de la checkbox, on a donc indexTicket_numeroTicket dans $cle
$IndexTicket = substr($cle,0,strpos($cle,"_")); // On récupère l'index : du premier caractère jusqu'au caractère avant le "_"
$temp_pos = strpos($cle,"_")+1;// On calcule la position du premier caractère après le "_"
$NumeroTicket = substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
"DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket=$IndexTicket<br />";
mysql_query("DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket='$IndexTicket' "); // Suppression
}
}
}

?>
<table border="1"><tr>
<th>Index ticket</th>
<th>Numéro du ticket</th>
<th>Nom du client</th>
<th>Date du ticket</th>
<th>Heure du Ticket</th>
<th>Nom du Recepteur</th>
<th>Interlocuteur client</th>
<th>Sujet du ticket</th>
<th>Affecté à</th>
<th>Modifier</th>
<th>Supprimer</th>

</tr>


<?php
$retour = mysql_query('SELECT * FROM tb_ticket ORDER BY NumeroTicket ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>

<tr>

<td><?php echo $donnees['IndexTicket']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['NomClient']; ?></td>
<td><?php echo $donnees['DateTicket']; ?></td>
<td><?php echo $donnees['HeureTicket']; ?></td>
<td><?php echo $donnees['RecepteurTicket']; ?></td>
<td><?php echo $donnees['InterlocuteurClient']; ?></td>
<td><?php echo $donnees['SujetTicket']; ?></td>
<td><?php echo $donnees['AffectationTicket']; ?></td>

<form method="POST" action="?page=3">
<?php
echo "<td><input type='submit'action='?page=3' value='modifier' name='modif_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>
</form>
<form method="POST" action="?page=4">
<?php
echo "<td><input type='checkbox' name='suppr_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>


<?php
} // Fin de la boucle
?>

</table>

<P align=left></p>
      
<center><input name="suppression" type=submit value="Supprimer"></center><br><br>
</form>
0
Si tu veux je peux te faire un impr ecran de ce que sa te donne et de l'envoyé en mail on en a pour 2 sec!
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 11:03
Ok je regarde ça ^^
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 11:16
Déjà, après un rapide coup d'oeil j'ai trouvé pourquoi tu as ce problème :

Tu ouvres un <form method="POST" action="?page=4"> mais à chaque fois tu ne le refermes pas, tu ne refermes que le dernier à la fin (ça doit être un peu chaotique le code HTML généré ^^ )

Je pense que pour le bouton modifier il faudrait plutôt que tu mettes un lien comme je t'ai dit :
<a href="modif.php">Modifier</a> Je pense que ça sera mieux dans ton tableau que pleins de boutons (ce n'est qu'un avis perso ^^ )
Maintenant si tu veux garder les boutons, je pense qu'il faut que tu mettes un grand form autour de ton tableau et que tu mettes comme je te l'ai mis plus haut, un onclick sur ton bouton modifier (donc changer le type du bouton modifier de submit en button )
0
sisi il y a 2 form et il sont bien refermé regarde bien .

Oui si tu veux je vais metre un lien avec une image mais ce n'est qu'un detail ^^ lol .

Sinon comme je t'est avec moi faut faire etape par etape lol dsl!!
alors la ligne concernant le bouton modifier je la modifie avec un lien ? on commence par la ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:23
Tu n'est même pas obligé d'utiliser de form, avec un lien écrit dans ton code, tu peux tout simplement modifier ce que tu veux ... ^^
0
Slt vins merci d'etre venu!

Tu sais vins la dernier fois tu m'avais parlé d'une sorte de bouton ou image que je meté a chaque ligne.
La ici ton idée m'interresse moi avec toi je voulais le faire pour supprimer mai la mon supprimer marche avec le check box comme je voulais ^^. Maintenan j'ai rajouté kom ta pu le voir un bouton lien ou image peut importe a chaque ligne pour je puisse modifier les donnée de cette ligne comment je dois faire niveau code??
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:31
Ok ben envoi moi ton code ou tu affiche ta liste de ticket, et en deu seconde jtarange ca .. Par contre il te faudrat une ptite image ^^ !!! Sinon si tu veux on pourra metre un simple texte.. Si tu veux on commencera par un texte.. Envoi moi ton code ..
0
<?php
if (isset($_POST['suppression']))
{
foreach($_POST as $nom => $val) // Pour chaque valeur venant du formulaire
{
"$nom $val<br />";
if(substr($nom,0,6)=="suppr_") // Si c'est une case à cocher de suppression
{
$cle = substr($nom,6); //On enlève "suppr_" du nom de la checkbox, on a donc indexTicket_numeroTicket dans $cle
$IndexTicket = substr($cle,0,strpos($cle,"_")); // On récupère l'index : du premier caractère jusqu'au caractère avant le "_"
$temp_pos = strpos($cle,"_")+1;// On calcule la position du premier caractère après le "_"
$NumeroTicket = substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
"DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket=$IndexTicket<br />";
mysql_query("DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket='$IndexTicket' "); // Suppression
}
}
}

?>
<table border="1"><tr>
<th>Index ticket</th>
<th>Numéro du ticket</th>
<th>Nom du client</th>
<th>Date du ticket</th>
<th>Heure du Ticket</th>
<th>Nom du Recepteur</th>
<th>Interlocuteur client</th>
<th>Sujet du ticket</th>
<th>Affecté à</th>
<th>Modifier</th>
<th>Supprimer</th>

</tr>


<?php
$retour = mysql_query('SELECT * FROM tb_ticket ORDER BY NumeroTicket ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>

<tr>

<td><?php echo $donnees['IndexTicket']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['NomClient']; ?></td>
<td><?php echo $donnees['DateTicket']; ?></td>
<td><?php echo $donnees['HeureTicket']; ?></td>
<td><?php echo $donnees['RecepteurTicket']; ?></td>
<td><?php echo $donnees['InterlocuteurClient']; ?></td>
<td><?php echo $donnees['SujetTicket']; ?></td>
<td><?php echo $donnees['AffectationTicket']; ?></td>

<form method="POST" action="?page=3">
<?php
echo "<td><input type='submit'action='?page=3' value='modifier' name='modif_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>
</form>
<form method="POST" action="?page=4">
<?php
echo "<td><input type='checkbox' name='suppr_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>


<?php
} // Fin de la boucle
?>

</table>

<P align=left></p>
      
<center><input name="suppression" type=submit value="Supprimer"></center><br><br>
</form>
<p align="center"><a href="index.php?erreur=logout"><strong>Vous déconnecter</strong></a></p>
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 11:33
Je maintiens et j'affirme que tu n'as qu'un formulaire qui est fermé à chaque passage dans la boucle ^^

Le formulaire avec la checkbox est ouvert PENDANT la boucle et est refermé APRES la fin de ta boucle.
Donc dans ta boucle il va ouvrir un form à chaque passage et ne pas le refermé.

Regarde le code HTML généré si tu ne me crois pas ^^

OK alors commencons par le bouton de modification :
Ouais je pense qu'un lien avec un image sera plus sympa ! C'est ce que j'ai fait dans une appli.

<a href='Modif.php?idTicket=" . $donnees["IndexTicket"] . "_" . $donnees["NumeroTicket"] . "'><img src='images/tonimage.jpg' alt='Modifier' title='Modifer ce ticket' /></a>

Comme ça plus besoin de ton formulaire pour la modif ! =)
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:37
Mais tu es conscient que tu ne poura modifier qu'un seul ticket à la fois !!! Et pour le moment t'as quoi dans la colone modifier ???
0
lool ba oui je sais c'est le but modifier qu'un ticket a la fois.

Enfette j'ai toute la ligne avec les intitulé o dessus de chaque colonne et au bou de ma ligne de mon ticket j'ai un bouton modifier voila ou j'en suis!

Il me manque tous le code pour que quand je clique sur modifier s'a m'ouvre une page avec un formulaire deja tout remplis avec les donnée de la ligne a modifier!

Ensuite Modifier et validé la modification.
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:42
Voila j'ai enleve le <form> et j'ai remplacer par ce qu'il ya en gras .. Essaye.. Mais crée une page "modifierticket.php".
Quand tu l'as créé, tu clik sur modifier dans ton tableau et di moi si ca te redirige sur la page modifierticket.php..



<?php
if (isset($_POST['suppression']))
{
	foreach($_POST as $nom => $val) // Pour chaque valeur venant du formulaire
	{
	"$nom $val<br />";
		if(substr($nom,0,6)=="suppr_") // Si c'est une case à cocher de suppression
		{
			$cle = substr($nom,6); //On enlève "suppr_" du nom de la checkbox, on a donc indexTicket_numeroTicket dans $cle
			$IndexTicket = substr($cle,0,strpos($cle,"_")); // On récupère l'index : du premier caractère jusqu'au caractère avant le "_"
			$temp_pos = strpos($cle,"_")+1;// On calcule la position du premier caractère après le "_"
			$NumeroTicket = substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
			"DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket=$IndexTicket<br />";
			mysql_query("DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket='$IndexTicket' "); // Suppression
		}	
	}
}

?>
<table border="1"><tr>
<th>Index ticket</th>
<th>Numéro du ticket</th>
<th>Nom du client</th>
<th>Date du ticket</th>
<th>Heure du Ticket</th>
<th>Nom du Recepteur</th>
<th>Interlocuteur client</th>
<th>Sujet du ticket</th>
<th>Affecté à</th>
<th>Modifier</th>
<th>Supprimer</th>

</tr>


<?php
$retour = mysql_query('SELECT * FROM tb_ticket ORDER BY NumeroTicket ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>

<tr>

<td><?php echo $donnees['IndexTicket']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['NomClient']; ?></td>
<td><?php echo $donnees['DateTicket']; ?></td>
<td><?php echo $donnees['HeureTicket']; ?></td>
<td><?php echo $donnees['RecepteurTicket']; ?></td>
<td><?php echo $donnees['InterlocuteurClient']; ?></td>
<td><?php echo $donnees['SujetTicket']; ?></td>
<td><?php echo $donnees['AffectationTicket']; ?></td>
<td><a href="modifierticket.php?ticket=<?php echo $donnees['IndexTicket'];?>">Modifier</a></td>
<form method="POST" action="?page=4">
<?php
echo "<td><input type='checkbox' name='suppr_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>


<?php
} // Fin de la boucle
?>

</table>

<P align=left></p>
      
<center><input name="suppression" type=submit value="Supprimer"></center><br><br>
</form>
<p align="center"><a href="index.php?erreur=logout"><strong>Vous déconnecter</strong></a></p>
0
oui sa me dirige bien vers la page modification.php
N'oubli pas ma clé primaire est formé de 2 champs index ticket et numeroticket ces c'est 2 champ qui determine tous les elements d'un ticket.
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:45
Alors j'ai enlever ton <form> et j'ai remplacer par ce qu'il y a en gras...
Alors pour que ça marche, il faut que tu crées une page "modifierticket.php"
En lorsque tu affiche ton tableau là, normalement tu doi avoir a chak foi un lien ou c écrit "modifier", tu clik sur un lien, et dis moi si ca te redirige vers la page "modifierticket.php"!!

Voila :


<?php
if (isset($_POST['suppression']))
{
	foreach($_POST as $nom => $val) // Pour chaque valeur venant du formulaire
	{
	"$nom $val<br />";
		if(substr($nom,0,6)=="suppr_") // Si c'est une case à cocher de suppression
		{
			$cle = substr($nom,6); //On enlève "suppr_" du nom de la checkbox, on a donc indexTicket_numeroTicket dans $cle
			$IndexTicket = substr($cle,0,strpos($cle,"_")); // On récupère l'index : du premier caractère jusqu'au caractère avant le "_"
			$temp_pos = strpos($cle,"_")+1;// On calcule la position du premier caractère après le "_"
			$NumeroTicket = substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
			"DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket=$IndexTicket<br />";
			mysql_query("DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket='$IndexTicket' "); // Suppression
		}	
	}
}

?>
<table border="1"><tr>
<th>Index ticket</th>
<th>Numéro du ticket</th>
<th>Nom du client</th>
<th>Date du ticket</th>
<th>Heure du Ticket</th>
<th>Nom du Recepteur</th>
<th>Interlocuteur client</th>
<th>Sujet du ticket</th>
<th>Affecté à</th>
<th>Modifier</th>
<th>Supprimer</th>

</tr>


<?php
$retour = mysql_query('SELECT * FROM tb_ticket ORDER BY NumeroTicket ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>

<tr>

<td><?php echo $donnees['IndexTicket']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['NomClient']; ?></td>
<td><?php echo $donnees['DateTicket']; ?></td>
<td><?php echo $donnees['HeureTicket']; ?></td>
<td><?php echo $donnees['RecepteurTicket']; ?></td>
<td><?php echo $donnees['InterlocuteurClient']; ?></td>
<td><?php echo $donnees['SujetTicket']; ?></td>
<td><?php echo $donnees['AffectationTicket']; ?></td>
<td><a href="modifierticket.php?ticket=<?php echo $donnees['IndexTicket'];?>">Modifier</a></td>
<form method="POST" action="?page=4">
<?php
echo "<td><input type='checkbox' name='suppr_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>


<?php
} // Fin de la boucle
?>

</table>

<P align=left></p>
      
<center><input name="suppression" type=submit value="Supprimer"></center><br><br>
</form>
<p align="center"><a href="index.php?erreur=logout"><strong>Vous déconnecter</strong></a></p>


0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:50
Excuze j'ai posté deux fois.. Ben av ec l'index du ticket tu ne peux pas retrouvé le numéro correspondant ????
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 11:51
Ouais voilà ça revient au lien que j'ai mis ^^

Il suffit après de récupérer en méthode GET et de faire la requete avec ça ! =)

Sinon il reste ton problème pour le bouton supprimer qui te fait plusieurs formulaires non fermés ...

Ouvre ta balise <form method="POST" action="?page=4"> avant ça :
<?php
$retour = mysql_query('SELECT * FROM tb_ticket ORDER BY NumeroTicket ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

et ça sera bon ! =)
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 11:52
Maintenant sur ta page modifierticket.php tu mets :


$indexticket=$_GET['ticket'];
echo $indexticket;

Dis moi si tu retrouve bien l'index du ticket sur lequel t'as cliké dessus modifier
0
Non sa me met une erreur :

Notice: Undefined index: IndexTicket in F:\Program Files\wamp\www\test\pages\Modification.php on line 7 :

$IndexTicket=$_GET['IndexTicket'];

Mais on va plutot A partir de NomClient car les Champs indexticket numeroticket ne seront pas a modifier.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 11:59
Mais on ne les cherche pas pour les modifier, juste pour récupérer les résultats de ta base de donnée qui y corespondent pour remplir tes champs donc c'est bon.

Montre le lien que tu as mis dans ton tableau pour modifier stp
0
<td><a href="?page=5"=<?php echo $donnees['IndexTicket'];?>">Modifier</a></td>

voila moi je souhaite recuperé les donnée de cette ligne pour ensuite la modifier
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 12:00
Tu t'es pas trompé ???
c'est pas :

$IndexTicket=$_GET['IndexTicket'];

c'est :
$indexticket=$_GET['ticket'];
echo $indexticket;


Rééssaye !!! Oui je sais que tu ne vas pas les modifier, justement !!! ^^ ..
0
echo $donnees['IndexTicket']; ?></td>


moi index ticket je l'ai ecrit de cette facon : IndexTicket lol et pas indexticket

et ticket sa correspond a quoi a la table ? parcke ma table ticket se nomme "tb_ticket"
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 12:09
Oui c'est bien ca en faite là quand tu fais : <td><a href="?page=5"=<?php echo $donnees['IndexTicket'];?>">Modifier</a></td> tu récupère la valeure "$donnees['IndexTicket']", comme ca quand tu seras sur la page modifierticket.php, tu pourra faire une requete pour retrouver tte ces informations là, et tu poura modifier tous les champs que tu veu concernant ce ticket là !! Tu comprends ??
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 12:12
C'est normal que tu aies eu un message d'erreur.

Remplace "?page=5" par "modifierticket.php?ticket="

Ensuite tu crées une page modifierticket.php où tu mets juste :

<?php

echo 'id du ticket : ' . $_GET['ticket'];

?>

Tu retournes sur ton tableau et tu cliques sur un lien modifier.

Normalement il devrait t'afficher :

id du ticket : x

où x est l'id du ticket que tu a choisis dans le tableau
0
non non la page5 marche elle signifie bien la page modification.php la j'ai mis ce que ta mis sa m'affiche bien id ticket :
mais rien a apré avec un message d'erreur:

Notice: Undefined index: IndexTicket in F:\Program Files\wamp\www\test\pages\Modification.php on line 8


code de la page modification.php = page5 :

<?php
require_once('connexion.php');
?>


<?php

echo 'id du ticket : ' . $_GET['IndexTicket'];

?>
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 12:14
Bon tu as bien écrit ca dans ton tableau non??? : <td><a href="modifierticket.php?ticket=<?php echo $donnees['IndexTicket'];?>">Modifier</a></td>


Si tu as éxactement écrit ça, maintenant dans ta page modifierticket.php
écrit exactement ça :

$IndexTicket=$_GET['ticket'];
echo $IndexTicket;


Voila écrit exacement ce que je t'ai dit, et tu devrai voir l'index du ticket ke ta cliké modifier...

0
non sa marche toujour pas!! sa m'envoi bien sur la page5 = a la page modification.php

mais sinon sa me met une erreur

Je doi y allé j'espere vous revoir je re a 14h j'aimerais bien finir sa avant la fin de la journé

voila si vous partie je vous remerci beaucoup de votre aide sa fait vraiment plaisir ...

Sinon a 14h a toute!
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
28 janv. 2009 à 12:25
A 14h je ne serais plus là .. Mais bon je vais te proposer un truc .. Tu fais que du copier coller de ce que je te mets là dessous ok ???? lool !!

Alors éfface ta page ou il y a le formulaire et colle ca :

<?php
if (isset($_POST['suppression']))
{
	foreach($_POST as $nom => $val) // Pour chaque valeur venant du formulaire
	{
	"$nom $val<br />";
		if(substr($nom,0,6)=="suppr_") // Si c'est une case à cocher de suppression
		{
			$cle = substr($nom,6); //On enlève "suppr_" du nom de la checkbox, on a donc indexTicket_numeroTicket dans $cle
			$IndexTicket = substr($cle,0,strpos($cle,"_")); // On récupère l'index : du premier caractère jusqu'au caractère avant le "_"
			$temp_pos = strpos($cle,"_")+1;// On calcule la position du premier caractère après le "_"
			$NumeroTicket = substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
			"DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket=$IndexTicket<br />";
			mysql_query("DELETE FROM tb_ticket WHERE NumeroTicket=$NumeroTicket and IndexTicket='$IndexTicket' "); // Suppression
		}	
	}
}

?>
<table border="1"><tr>
<th>Index ticket</th>
<th>Numéro du ticket</th>
<th>Nom du client</th>
<th>Date du ticket</th>
<th>Heure du Ticket</th>
<th>Nom du Recepteur</th>
<th>Interlocuteur client</th>
<th>Sujet du ticket</th>
<th>Affecté à</th>
<th>Modifier</th>
<th>Supprimer</th>

</tr>


<?php
$retour = mysql_query('SELECT * FROM tb_ticket ORDER BY NumeroTicket ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>

<tr>

<td><?php echo $donnees['IndexTicket']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['NomClient']; ?></td>
<td><?php echo $donnees['DateTicket']; ?></td>
<td><?php echo $donnees['HeureTicket']; ?></td>
<td><?php echo $donnees['RecepteurTicket']; ?></td>
<td><?php echo $donnees['InterlocuteurClient']; ?></td>
<td><?php echo $donnees['SujetTicket']; ?></td>
<td><?php echo $donnees['AffectationTicket']; ?></td>
<td><a href="modifierticket.php?ticket=<?php echo $donnees['IndexTicket'];?>">Modifier</a></td>
<form method="POST" action="?page=4">
<?php
echo "<td><input type='checkbox' name='suppr_".$donnees["IndexTicket"]."_".$donnees["NumeroTicket"]."'/></td>";
?>


<?php
} // Fin de la boucle
?>

</table>

<P align=left></p>
      
<center><input name="suppression" type=submit value="Supprimer"></center><br><br>
</form>
<p align="center"><a href="index.php?erreur=logout"><strong>Vous déconnecter</strong></a></p>



Ensuite tu crées une page : "modifierticket.php"
/!\ ATTENTION J'AI BIEN DIT "MODIFIERTICKET.PHP" ET NON PAS "MODIFICATION.PHP" .... OK ???? lool /!\


Et tu coles uniquement ça dedans.. Pas plus !!! :
<?php
$IndexTicket=$_GET['ticket'];
echo 'Voici lindex du ticket sur lequel nous allons effectuer des modifications : ';
echo $IndexTicket;
?>




Voila et fait bien du copier coller !!!! J'ai bien mis $_GET['ticket']; et non $_GET['IndexTicket']; !!! Ne modifie rien !!!!!!!

0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
28 janv. 2009 à 13:26
Moi je serai toujours là à 14h si tu as des soucis ^^

En fait il y a une chose que tu n'as pas compris sniper c'est que ton $_GET[] ne récupère pas l'indice 'IndexTicket' mais l'indice 'ticket' (c'est à dire celui que tu as dans la barre d'adresse de ton navigateur.
IndexTicket correspond a quelque chose dans ta Base de données qui n'a rien avoir avec le ticket

Quand tu regardes l'adresse de ton navigateur, tu as bien modification.php?ticket=xxx

Et bien pour récupérer le xxx (c'est ce qui sera l'ID de ton ticket dans ta base) tu dois écrire $_GET['ticket'].

J'espère avoir été clair ^^ Si c'est encore flou pour toi n'hésite pas à le dire.

Pour ton histoire de lien avec ?page=5 je ne comprends pas comment ça te renvoie à modification.php

Tu pourrais me montrer le lien dans la barre d'adresse que tu obtiens après avoir cliquer sur le lien comme tu l'avais mis.


@Vins :
Vins, sans vouloir te juger, je pense qu'il est mieux d'expliquer quelles sont les erreurs et de les corriger pour que sniper puisse le refaire par lui même après.
Si tu lui donne un code en lui disant : 'fais ça, ça marche!' il ne pourra pas se débrouiller après et ne pourra pas progresser.
Ce que tu as mis est surement juste (bien qu'il reste l'erreur pour le formulaire de suppression comme je l'ai expliquer plus haut ) mais ça ne va pas vraiment l'aider s'il ne comprend pas ce qu'il fait ...
0
oui oui

En ce qui concerne le lien et la page5 c'est tout simplement une page principale que j'ai creer avec lien en haut et leur correspondance enfette a chaque lien de page jleur est infligé une page.
Voila j'avais fait comme sa avant pour un autre site j'ai donc refet le meme!

Tiens je te passe comme prevu ce que tu demande :

Je clique sur modifier sa m'amene a sa dans la barre d'adress : http://localhost/test/Principal.php?page=5
avec sur la page du site sa comme message d'erreur

Notice: Undefined index: ticket in F:\Program Files\wamp\www\test\pages\Modification.php on line 6
0
a oui que suis je bete pour le $Get ticket
sachant que moi ma page sapelle juste modification.php fo que je la modifie sinon sa risque pas de marché!!
0