Probleme de modification

Résolu/Fermé
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 - 26 nov. 2014 à 10:28
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 26 nov. 2014 à 16:07
Bonjour,
en faite mon bouton edit marche mais ça me renvoie des infos d'une ligne seulement =1ereligne

voici mon code edit
<?php
	

$req = "select * from division  ";
$requete= $connexion->prepare($req);
$requete->execute();

	$division=$requete->fetch(PDO::FETCH_OBJ);
	
		
	
	
?>
<h2 align="center"> Modification des division de RMCR </h2>
<form class="formulaire" action="index.php?page=modules/division/update.php" method="post"><br/>
	<label><strong> Numero division : </strong></label>
	<input type="text" readonly name="numdiv" value="<?php echo $division->numdiv ?>" /><br/>
	<br/><br/>
	<label><strong>Nom division: </strong></label>
	<input type="text" name="nomuser" value="<?php echo $division->nomdiv ?>" /><br/>
	<br/><br/>
	<label><strong> Numero departement : </strong></label>
	<select name="nomdept"  value="<?php echo $division->nomdept ?>" >
		<option value="0"></option>
		<?php 
			while($departement=$requete->fetch(PDO::FETCH_OBJ)){
			?>

			<option value="<?php echo $departement->nomdept?>" >
			<?php echo $departement->nomdept ?>
			
			</option>
			<?php } ?>
		</select><br/>
	
	
	<br/><br/>
<input name="annuler" type="reset" value="Annuler"/>
<input name="valider" type="submit" value="Valider"/>
</form>


voici mon code update
<?php 	

	$numdiv= $_POST['numdiv'];
	$nomdiv= $_POST['nomdiv'];
	$nomdept= $_POST['nomdept'];
 try{
 
 
 $req= $connexion->prepare ("update division set 
										nomdiv=:nomdiv,
										nomdept=:nomdept
										where numdiv=:numdiv");
$req->bindParam(':nomdiv', $nomdiv,PDO::PARAM_STR);
$req->bindParam(':nomdept', $nomdept,PDO::PARAM_INT);	
$req->bindParam(':numdiv', $numdiv,PDO::PARAM_INT);				
			
	$req->execute();
	//$connexion->exec($req);																
	
	echo"<div numdiv='message'><strong> Modification effectuée avec succes </strong></div>";
	
	include "modules/division/index.php";													 
	
	}
catch (Exception $e){
	echo $e->message;
	}


3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 nov. 2014 à 12:55
Ca ressemble à ta question précédente non ?

Si ce n'est pas pareil .. merci de faire un effort sur l'explication du problème...
=> Ce que tu as...
=> Ce que tu voudrais avoir...
=> Ce qui ne marche pas selon toi...
=> La partie EXACTE du code qui ne fait pas ce que tu veux ....


Nous ne sommes pas devins...
Déjà .. pour la question précédente j'ai galéré à comprendre ce que tu voulais...
fais un effort pour celle la s'il te plait !!

0
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 1
Modifié par Zedrof le 26/11/2014 à 13:17
j'ai parvenu mais un souci reste si tu modifie ça tien pas en compte

code edit
<?php

// recup de l' ID passe en GET
$id = isset($_GET['id'])?$_GET['id']:NULL;

if($id){
$req = "SELECT * 
             FROM division
             WHERE numdiv ='$id' ";
$requete= $connexion->prepare($req);
$requete->execute();
$ligne=$requete->fetch(PDO::FETCH_OBJ);
}else{
 echo " <br> AUCUN ID ";
 print_r($_GET);
}
?>
<h2 align="center"> Modification des division de RMCR </h2>
<form class="formulaire" action="index.php?page=modules/division/update.php" method="post"><br/>
 <label><strong> Numero division : </strong></label>
 <td><input name="numdiv" value=<?php echo $ligne->numdiv ?> /></td>
 <br/><br/>
 <label><strong>Nom division: </strong></label>
 <td><input name="nomdiv" value=<?php echo $ligne->nomdiv ?> /></td>
 <br/><br/>
 <label><strong> Numero departement : </strong></label>
 <td><input name="nomdept" value=<?php echo $ligne->nomdept ?> /></td>
 
 
 <br/><br/>
<input name="annuler" type="reset" value="Annuler"/>
<input name="valider" type="submit" value="Valider"/>
</form>


code update

<?php  

 
 try{
 
 
 $req= $connexion->prepare ("update division set 
          nomdiv=:nomdiv,
          nomdept=:nomdept
          where numdiv=:numdiv");
$req->bindParam(':nomdiv', $nomdiv,PDO::PARAM_STR);
$req->bindParam(':nomdept', $nomdept,PDO::PARAM_INT); 
$req->bindParam(':numdiv', $numdiv,PDO::PARAM_INT);    
   
 $req->execute();
 //$connexion->exec($req);                
 
 echo"<div numdiv='message'><strong> Modification effectuée avec succes </strong></div>";
 
 include "modules/division/index.php";              
 
 }
catch (Exception $e){
 echo $e->message;
 }



ça mais c'est comme rien n'a ete faites (ça prend pas en compte update)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 nov. 2014 à 14:24
Tu transmets les infos en POST
<form class="formulaire" 
          action="index.php?page=modules/division/update.php" 
          method="post">


Donc.. dans ta page update.php .. il faut récupérer ses variables avant de les utiliser...

<?php
//---------------------------------------------
// RECUPERATION DES DONNEES POST
//---------------------------------------------
$nomdiv    = isset($_POST['numdiv'])?$_POST['numdiv']:'';
$nomdept  = isset($_POST['nomdept'])?$_POST['nomdept']:'';
$numdiv    = isset($_POST['numdiv'])?$_POST['numdiv']:'';

//---------------------------------------------
 try{ 
 $req= $connexion->prepare ("UPDATE division 
                             SET
                                nomdiv=:nomdiv,
                               nomdept=:nomdept
                            WHERE numdiv=:numdiv");
$req->bindParam(':nomdiv', $nomdiv,PDO::PARAM_STR);
$req->bindParam(':nomdept', $nomdept,PDO::PARAM_INT); 
$req->bindParam(':numdiv', $numdiv,PDO::PARAM_INT);    
   
 $resultat = $req->execute();
 //$connexion->exec($req);                
    if($resultat){
       echo"<div numdiv='message'><strong>
                Modification effectuée avec succes   
                  </strong></div>";
 
      include "modules/division/index.php";              
   }else{
       echo "<div numdiv='message'><strong>
                 ERREUR LORS DE LA MODIFICATION   
                  </strong><br>";
      print_r($_POST);
     echo "</div>";
  } 

} catch (Exception $e){
    echo $e->message;
}

0
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 1
26 nov. 2014 à 16:03
ça marche sauf il y a une erreur dont j'ai resolu
au lieu de nomdiv vous avez mationner numdiv

//---------------------------------------------
$nomdiv    = isset($_POST['nomdiv'])?$_POST['nomdiv']:'';
$nomdept  = isset($_POST['nomdept'])?$_POST['nomdept']:'';
$numdiv    = isset($_POST['numdiv'])?$_POST['numdiv']:'';
0
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 1 > Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022
26 nov. 2014 à 16:04
ça marche
Merci jordane45... je découvre php et c'est cool. je marque ce sujet comme résolu et j'en crée un nouveau
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 nov. 2014 à 16:07
Merci jordane45... je découvre php et c'est cool. je marque ce sujet comme résolu et j'en crée un nouveau

ça ... c'est ce que tu marques à chacun de tes messages ....
ça ne me dérange pas en soit ... mais ... tu comptes nous faire traiter TOUTES tes pages... toutes tes fonctions ????

Avec ce que tu as appris depuis nos derniers échanges.. tu ne peux pas essayer de résoudre un peu tes soucis tout seul ? .. c'est comme ça qu'on apprend le mieux non ?
0