IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP UPDATE boucle WHILE [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut PHP UPDATE boucle WHILE
    Hello tout le monde !
    Je cherche à mettre à jour mes sous-catégories via un UPDATE mais aucun enregistrement ne se fait.
    Un oeil exercé serait-il me dire ce qui ne vas pas dans ma requête ?

    Voici ma requête. Le problème vient de la boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    if($_POST) {	
     
    	$brandName = addslashes($_POST['editCategoriesName']);
      $brandStatus = $_POST['editCategoriesStatus']; 
      $categoriesId = $_POST['editCategoriesId'];
     
      $souscategoriesId = $_POST['editSousCategoriesId'];
      $souscategoriesName = addslashes($_POST['editSousCategoriesName']);
     
     
    	$sql = "UPDATE categories SET categories_nom = '$brandName', categories_active = '$brandStatus' WHERE categories_id = '$categoriesId' AND categories_statut='1'";
     
    // Jusque là c'est OK
     
    	if($connect->query($sql) === TRUE) {
     
     
    		for($x = 0; $x < count($_POST['editSousCategoriesId']); $x++) {					
     
    			$updateSousCatSql = "SELECT * FROM souscategories WHERE souscategories.categories_id = '$categoriesId'";
    			$updateSousCatData = $connect->query($updateSousCatSql);			
     
     
    			while ($updateSousCatResult = $updateSousCatData->fetch_row()) {
     
    				$updateSSCAT[$x] = $_POST['editSousCategoriesName'][$x];			
    					$updateSousCatTable = "UPDATE souscategories SET souscategories.souscategories_nom = '".$updateSSCAT[$x]."' WHERE souscategories.souscategories_id = ".$_POST['editSousCategoriesId'][$x]."";
    					$connect->query($updateSousCatTable);
     
    			} // while	
    		} // /for quantity
     
     
    	 	$valid['success'] = true;
    		$valid['messages'] = "Modifier avec succès";	
    	} else {
    	 	$valid['success'] = false;
    	 	$valid['messages'] = "Erreur lors de la modification";
    	}
     
    	$connect->close();
     
    	echo json_encode($valid);
     
    } // /if $_POST
    et une structure HTML de mes sous-catégories

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <div class="form-group">
    <label for="editSousCategoriesName" class="col-sm-4 control-label">Sous-catégorie 1</label>
    <label class="col-sm-1 control-label">: </label>
    <div class="col-sm-6">
    <input class="form-control" id="editSousCategoriesName[69]" name="editSousCategoriesName[69]" placeholder="SousTestH1" value="SousTestH1" type="text">
    <input name="editSousCategoriesId[69]" id="editSousCategoriesId[69]" value="69" type="hidden">
    </div>
    <div class="col-sm-1">
    <button class="btn btn-default removeProductRowBtn" type="button" id="removeProductRowBtn" onclick="removeProductRow('69')"><i class="glyphicon glyphicon-trash"></i></button>
    </div>
    </div>
    <!-- /form-group-->

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    En fait, rien ne va.

    Ton code se résume en fait à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    if (isset($_POST)) {	
     
    	$sth = $connect->prepare("UPDATE categories SET categories_nom = ?, categories_active = ? WHERE categories_id = ? AND categories_statut = 1");
    	$sth->execute(array($_POST['editCategoriesName'], $_POST['editCategoriesStatus'], $_POST['editCategoriesId']));
     
    	$sth = $connect->prepare("UPDATE souscategories SET souscategories_nom = ? WHERE souscategories_id = ?");
    	foreach ($_POST['editSousCategoriesId'] as $id => $souscategorie_id) {
    		$sth->execute(array($souscategorie_id, $_POST['editSousCategoriesName'][$id]));
    	}
     
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    AH ok ... tu viens de me briser le moral en fait
    Ça fais deux jours que je suis dessus et c'est pas mon métier.

    Je précise que l'UPDATE de la catégorie se passe bien. c'est au niveau des sous categories associés que sa défaille.
    Tu saurais m'apprendre à formuler la requête qui va bien ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est ce que j'ai dans mon message non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    Ah ok je vois, ça semble évident pour toi.
    Comme je te disais, c'est pas mon métier. Et cela fais des années que j'ai pas mis le nez dans un bout de code.
    Tampis, merci quand même.

  6. #6
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    Je me suis inspiré de ton modèle mais pas plus d'enregistrement.
    A force d'avoir la tête dans le guidon, je ne vois plus rien. Qu'est-ce qui cloche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php 	
     
    require_once 'core.php';
     
    $valid['success'] = array('success' => false, 'messages' => array());
     
    if($_POST) {	
     
    	$brandName = addslashes($_POST['editCategoriesName']);
      $brandStatus = $_POST['editCategoriesStatus']; 
      $categoriesId = $_POST['editCategoriesId'];
     
      $souscategoriesId = $_POST['editSousCategoriesId'];
      $souscategoriesName = addslashes($_POST['editSousCategoriesName']);
     
     
    	$sql = "UPDATE categories SET categories_nom = '$brandName', categories_active = '$brandStatus' WHERE categories_id = '$categoriesId' AND categories_statut='1'";
     
    // Jusque là c'est OK
     
    	if($connect->query($sql) === TRUE) {
     
     
     
     
    $sth = $connect->prepare("UPDATE souscategories SET souscategories_id ='$souscategorie_id' WHERE categories_id = '$categoriesId'");
     
    	foreach ($_POST['editSousCategoriesId'] as $id => $souscategorie_id) {
    		$sth->execute(array($souscategorie_id, $_POST['editSousCategoriesName'][$id]));
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/11/2008, 17h01
  2. Boucle WHILE FOUND et UPDATE
    Par Acivurt dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 07/03/2008, 01h03
  3. [MySQL] Probleme UPDATE avec boucle WHILE
    Par iverson_mac dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2007, 17h07
  4. Réponses: 15
    Dernier message: 11/05/2007, 15h28
  5. [PHP-JS] pb boucle while
    Par kodokan dans le forum Langage
    Réponses: 2
    Dernier message: 26/09/2006, 23h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo