Modifications de données avec formulaire

Signaler
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015
-
cs_fabrice88
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015
-
Bonjour,
j'ai une table manifs dans ma base de donnée.
Pour agrémenté cette table j'ai fais un formulaire qui envoie les données dans ma base.
Maintenant j'aimerai pouvoir créée un système qui me permet de modifier mes données.
Je souhaiterai en gros que lorsque je clique sur modifier les données une page s’ouvre avec le nom de toutes les manifs qui sont dans la base et avec l'option a coté de chaque nom un lien "modifier"
en cliquant sur le lien je voudrai ouvrir une nouvelle page avec un formulaire qui afficherai les données qui sont déjà stocké dans la base et que je pourrais modifié.

Voilà si quelqu'un peut m'aider a faire les codes...



ma base est celle ci :
CREATE TABLE `manifs` (
  `id` int(11) NOT NULL auto_increment,
  `Datedebut` date default NULL,
  `Datefin` date default NULL,
  `HEURES` varchar(255) NOT NULL default '',
  `LIEUX` varchar(255) NOT NULL default '',
  `MANIFESTATIONS` varchar(255) NOT NULL default '',
  `GENRE` varchar(255) NOT NULL default '',
  `ORGANISATEURS` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=98 ;

Fabrice88[8D]

18 réponses

Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
tout ce que tu demandes là est faisable assez facilement.
peux-tu nous dire où tu coinces ?

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

Je coince un peu partout en fait.
Pour faire affiché mes nom de manifs pas de problème mais pour créer un lien vers un formulaire pour modifier en fonction de la manifs choisi je bloc.
Je bloc également sur le formulaire. je sais pas comment faire affiché les données dans le formulaire en fonction du lien que j'aurai cliqué avant.

 

Fabrice88[8D]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
je vais pas te faire le boulot mais voici les questions que tu dois te poser :
A : comment identifier un manifestation de maniere unique ?
B : comment rechercher les informations d'une manif particuliere dans la base de données?
C : comment modifier les informations d'une manif particuliere dans la base de données?

si tu sais répondre à ces trois questions, tu ne devrais rencontrer auun probleme :
1 - creer une page avec la liste de toutes les manis, et en face de chaque manif tu fais un lien du type
avec 'A' etant la réponse à la question A ci dessus

2 - creer une page "page_edition_manif" dans laquelle tu recuperes en $_GET l'identifiant A de ta manif et va rechercher les infos de la base de données (réponse  à la question B)

3 - creer une page "sauver_manif" qui recuperes les données de la page précédente et les enregistre dans la base de données (réponse à la question C).

Si tu bloques sur une de ces étapes, fais le savoir

-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

j'ai fais trois pages comme tu me l'indiquais.
je pensse ne pas etre trop loin d'avoir la solution mais la je seche.
quand je clique sur modifier (sur la page 1) je passe bien sur ma page 2 mais rien ne s'affiche.

page 1 :
  <?php
    //connection au serveur:
    $cnx = mysql_connect(********, '******', '*******');
      //sélection de la base de données:
    $db = mysql_select_db( "*******" ) ;
     //requête SQL:
    $sql = "SELECT * FROM manifs " ;
     //exécution de la requête:
    $requete = mysql_query( $sql, $cnx ) ;
    //affichage des données:
    while( $result = mysql_fetch_object( $requete ) )
    {
       echo("
".$result->MANIFESTATIONS." ".$result->GENRE." idmanifs."">modifier
\n");
    }
  ?>
  <?php echo $sql; ?>

Page 2 :
/connection au serveur:
    $cnx = mysql_connect(********, '*********', '******');
      //sélection de la base de données:
    $db = mysql_select_db( "******" ) ;
 
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["id"] ;  
  //requête SQL:  $sql 'SELECT * FROM essai WHERE id ".$idmanifs" ';     
  //exécution de la requête:
$requete = mysql_query($sql, $cnx) or die('Erreur SQL !
'.$sql.'
'.mysql_error());  
  //affichage des données:
  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>   
  <form name="insertion" action="majmanifstraite.php" method="POST">
  ">
      ----

      Datedebut,
      Datedebut ) ;?>">,
   
    ----

      Datefin,
      Datefin) ;?>">,
   
    ----

      HEURES,
      HEURES ) ;?>">,
   
    ----

      LIEUX,
      LIEUX ) ;?>">,
   
    ----

      MANIFESTATIONS,
      MANIFESTATIONS) ;?>">,
   
 ----

      GENRE,
      GENRE) ;?>">,
   
 ----

      ORGANISATEURS,
      ORGANISATEURS) ;?>">,
   
    ----

      ,
   
 

</form>
  <?php
  }//fin if
  ?>

Page 3 :
<?php
    //connection au serveur:
    $cnx = mysql_connect(*****, '********', '******');
 
    //sélection de la base de données:
    $db = mysql_select_db( "*******" ) ;
 
  //récupération des valeurs des champs:
  //nom:
  $Datedebut = $_POST["Datedebut"] ;
  //prenom:
  $Datefin = $_POST["Datefin"] ;
  //adresse:
  $HEURES = $_POST["HEURES"] ;
  //code postal:
  $LIEUX = $_POST["LIEUX"] ;
  //numéro de téléphone:
  $MANIFESTATIONS = $_POST["MANIFESTATIONS"] ;
    //numéro de téléphone:
  $GENRE = $_POST["GENRE"] ;
    //numéro de téléphone:
  $ORGANISATEURS = $_POST["ORGANISATEURS"] ;  
  //récupération de l'identifiant de la personne:
  $idmanifs = $_POST["id"] ;  
  //création de la requête SQL:  $sql "UPDATE manifs SET Datedebut '$Datedebut', Datefin = '$Datefin', HEURES = '$HEURES', LIEUX = '$LIEUX', MANIFESTATIONS = '$MANIFESTATIONS', GENRE = '$GENRE', ORGANISATEURS = '$ORGANISATEURS' WHERE id = '$idmanifs' " ;  
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
  //affichage des résultats, pour savoir si la modification a marchée:
  if($requete)
  {
    echo("La modification à été correctement effectuée") ;
  }
  else
  {
    echo("La modification à échouée") ;
  }
?>

voila maintenant je seche.
Fabrice88[8D]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
super !!!
suis content que tu aies pris les choses en main (pour tout t'avouer, je penser que tu voulais du tout cuit ;)

alors... pas le temps de regarder ton code la maintenant mais.. peux tu faire un
"print_r($_GET);" au debut de ta deuxieme page
et poster le rendu html de cete page ?
je regarderai ton code des que j'ai le temps :)

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
Re hello

bon si rien ne s'affiche sur la page 2, c'est $result est vide
ce qui veut dire que le résultat de ta requete revoie rien.
Alors... est ce normal que tu interroges "essai" dans ta query de ta page 2 alors que sur ta page 1 et 3 tu interrroges manifs ? (l'erreur vient certainement de là je pense)

Tiens nous au courant

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

non sa viens pas de là. c'est bien une erreur mais sa ne resoud pas mon probleme.
en fait suis pas sur de mon "idmanifs"
je pense qu'il doit y avoir des erreurs dans mon code mais je vois pas ou.

Fabrice88[8D]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
heu en effet,c'est id et pas idmanif !

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

j'ai mis mes idmanifs en id mais toujour rien. pas d'affichage du formulaire de modif  sur la deuxieme page
par contre l'id a l'air de fonctionné. Dans ma barre d'adresse j'ai bien l'affichage de l'id qui correspond bien a l'enregistrement. 
http://www.monsite.com/admin/majmanifsform.php?id=18

Fabrice88[8D]
Messages postés
2
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2006

salut,

il est bien ton site.Comment sa ce fait qu' apres avoir fait  ce site  que tu c'est pas recuperer des information en php.
Messages postés
2
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2006

Resalut,

Frenchement c'est simple ça tu doit pas bloqué la.
Regarde moi ce que j'aurais fait c'est  modifier ta requete Update pour voir si l'erreur elle vient pas de ta connection ou de ta requete.
Voila ta requete:
SQL="UPDATE manifs SET Datedebut = '$Datedebut', Datefin = '$Datefin', HEURES = '$HEURES', LIEUX = '$LIEUX', MANIFESTATIONS = '$MANIFESTATIONS', GENRE = '$GENRE', ORGANISATEURS = '$ORGANISATEURS' WHERE id = '$idmanifs' "
Maintenant tu remplace '$idmanifs'   par un Id existant d'un enregistrement de ta table manif.

les info doivent etre modifier.
Si sa marche pas tu fait sa etape par etape:

1-tu affiche les info que ta recuperer:
$Datedebut = $_POST["Datedebut"] ;
print $Datedebut;
Si affiche --> c'est que tu recupere bien alors c'est un probleme de requete(astuce: verifie le nom exacte des champs, fait un test sur ton SGBDR)
Si affiche pas c'est que tu as mal recup tes info verifie les nom des inputs etc .....

2- si la requete est juste apres verification biensur ben ton problemes provient de l'execution de ta requete:
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
Alors verifie ça.

voila
Dis le moi si tu est bloqué.
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
ok...
qques petits test:
- peux tu rajouter apres //fin if sur ta 2ieme page
else
 echo "le requete ne retourne rien";

puis, tjrs sur ta page 2, apres$sql 'SELECT * FROM essai WHERE id ".$idmanifs" ';
faire un
echo "sql=$sql";

et dire ce que ça te sors?

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
ok...
qques petits test:
- peux tu rajouter apres //fin if sur ta 2ieme page
else
 echo "le requete ne retourne rien";

puis, tjrs sur ta page 2, apres$sql 'SELECT * FROM essai WHERE id ".$idmanifs" ';
faire un
echo "sql=$sql";

et dire ce que ça te sors?

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

j'ai ça qui s'affiche :
le requete ne retourne rien
sql=SELECT * FROM manifs WHERE id = ".$id"

Fabrice88[8D]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
Hello



désolé de ne pas avoir répondu + tot ;)


remplace ta requete sql

$sql 'SELECT * FROM essai WHERE id ".$idmanifs" ';


par

$sql 'SELECT * FROM essai WHERE id "'.$idmanifs.'";


-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
Hello



désolé de ne pas avoir répondu + tot ;)


remplace ta requete sql

$sql 'SELECT * FROM essai WHERE id ".$idmanifs" ';


par

$sql 'SELECT * FROM essai WHERE id "'.$idmanifs.'";


-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

toujours pareil


le requete ne retourne rien
sql=SELECT * FROM manifs WHERE id = ".$id."

Est ce que je pourait envoyé mes codes a qq pour qu'il regarde ? a force d'etre dessus....
Mais y'a peut etre une autre solution que celle que j'essai de faire ?

Fabrice88[8D]
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015

J'ai toujours pas trouvé.
existe-il  un site qui a un exemple sur lequelle je pourrai m'appuyer ?

Fabrice88[8D]