"comment Faire executer la boucle UPDATE"

Résolu
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   -  
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour à tous, ça fait quelque jours que je cherche faire un UPDATE dans les table que j'ai nommées 'Demandef' et 'Demande' par la suite l'instruction locate() qui va s'executer, mais ce que j'ai remarqué c'est que la dans la boucle IF, les deux instructions de UPDATE sont ignorés et c'est directement l'nstruction locate() qui s'execute

voici le code :

error_reporting ( E_ALL );
ini_set ( 'display_errors', TRUE );
ini_set ( 'display_startup_errors', TRUE );

$id1 = !empty ( $_GET['id1'] ) ? $_GET['id1'] : NULL;
$date1 = !empty ( $_GET['date'] ) ? $_GET['date'] : NULL;
	
$statut = !empty ( $_POST['statut'] ) ?$_POST['statut'] : NULL;	
						
if(!empty($_POST['statut']) && $id1 = !empty ( $_GET['id1'] ) ) {	

$sql = 'UPDATE 	demandef SET statut=? WHERE id1=?';
$datas = array($statut,$id1);
try{
  $req1 = $bdd->prepare($sql);
  $req1->execute($datas);  
} catch ( Exception $e ) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage ();
    print_r ( $datas );
    exit;
  }	
	
	$sql = 'UPDATE 	demande SET statut=? WHERE id1=?';
$datas = array($statut,$id1);
try{
  $req1 = $bdd->prepare($sql);
  $req1->execute($datas);  
} catch ( Exception $e ) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage ();
    print_r ( $datas );
    exit;
  }	
header('Location:admin2.php'); 
}?>

voici la capture de la table "Demandef" qui est preque pareil à la table "Demande"

Quelqu'un peut-il me dire pourquoi mes requêtes de mise à jour ne s'éxécutent pas?

Les 2 variables ($statut,$id1) des requêtes UPDATE ont été envoyé sur cette page par le lien URL,

Est-ce parce que les variables de mes requêtes de UPDATE proviennent d'une autre page que mes requêtes ne s'éxécutent pas ?

Quelqu'un peut-il m'aider ? pourquoi les requêtes UPDATE sont ignorés ?

Cordialement

A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

Déjà... un IF .. n'est pas une BOUCLE  .. ( une boucle ça sert à faire des tours... FOR, WHILE, FOREACH sont des boucles ! )

un IF est un BLOC CONDITIONNEL.

Ensuite..

Ton IF etait faux ..  

Essaye comme ça

<?php
error_reporting ( E_ALL );
ini_set ( 'display_errors', TRUE );
ini_set ( 'display_startup_errors', TRUE );

$id1 = !empty ( $_GET['id1'] ) ? $_GET['id1'] : NULL;
$date1 = !empty ( $_GET['date'] ) ? $_GET['date'] : NULL;
$statut = !empty ( $_POST['statut'] ) ?$_POST['statut'] : NULL;	
						
if( $statut && $id1) {	

  $sql = 'UPDATE 	demandef SET statut=? WHERE id1=?';
  $datas = array($statut,$id1);
  try{
    $req1 = $bdd->prepare($sql);
    $req1->execute($datas);  
  } catch ( Exception $e ) {
      // en cas d'erreur :
      echo " Erreur ! " . $e->getMessage ();
      print_r ( $datas );
      exit;
    }	
    
    $sql = 'UPDATE 	demande SET statut=? WHERE id1=?';
  $datas = array($statut,$id1);
  try{
    $req1 = $bdd->prepare($sql);
    $req1->execute($datas);  
  } catch ( Exception $e ) {
      // en cas d'erreur :
      echo " Erreur ! " . $e->getMessage ();
      print_r ( $datas );
      exit;
  }	
  header('Location:admin2.php'); 
  exit;
}else{
   echo "Statut et/ou id1 n'ont pas été transmis ou sont vides..":
}

0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2
 

J'ai corrigé et ça marché, merci beaucoup Jordane45 pour votre précieuse contribution

0