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 :

Modifier en boucle


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 53
    Par défaut Modifier en boucle
    Bonjour ,
    je cherche à faire une modification sur tous les champs .
    Mon problème c'est que la modification n'est faisable que sur le dernier champ seulement.
    voici mon code
    Code php : 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
    <?php
    foreach($cat as $pers)
     {
     
         ?>
      Nom:     <input type="text" name="Libelle_categorie"  id="Libelle_categorie" value="<?php  echo $pers['Libelle_categorie'] ;?> "/>  Image: 
    <img  src=" <?php  echo 'Images/' . $pers["tof"];?>" alt="" />   <
     
    		  <input name="id"  id="id" type="hidden" value="<?php  echo $pers['Id_Categorie'] ;?>"/>
    			 <input   class="tof" type="file" name="tof"  /> <br/>
               	<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
    <input class="btn btn-info dropdown-toggle" type="submit" value="Entrer" name="modif" />
              <?php
     
     }
     ?>
    appel de la fonction modifier:
    Code php : 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
     
    <?php
    $pers= new Categorie($base);
    if (isset($_POST['modif']))
    {
    	var_dump($_POST);
    	 foreach($pers as $p)
     {
    $p->Libelle_categorie=$_POST["Libelle_categorie"];
     
     
    $p->tof=$_FILES['tof']['name'];
    move_uploaded_file($_FILES['tof']['tmp_name'], "Images/".$p->tof);
     
    $p->update($_POST["id"]);
     
     
    }}
    ?>
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code php : 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
    <form ............... >
    	<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
    <?php
    foreach($cat as $pers)
    {
    ?>
    	<input type="hidden" name="id[<?php echo $pers['Id_Categorie']; ?>]" value="<?php echo $pers['Id_Categorie']; ?>"/>
     
    	Nom : <input type="text" name="Libelle_categorie[<?php echo $pers['Id_Categorie']; ?>]" value="<?php echo $pers['Libelle_categorie'] ;?> "/> Image: 
    	<img src=" <?php echo 'Images/' . $pers["tof"];?>" alt="" /> 
     
    	<input type="file" name="tof[<?php echo $pers['Id_Categorie']; ?>]" class="tof" /> <br/>
     
    <?php
    }
    ?>
    	<input type="submit" name="modif" class="btn btn-info dropdown-toggle" value="Entrer" />
    </form>

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 53
    Par défaut
    Bonjour
    ça n' a pas marché .il m'affiche l'erreur "attempt to assign property of non-object"
    Voici le code de update:
    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
     
    public function  update($id)
    {
          $q=$this->database->prepare(" update categorie set  Libelle_categorie=?,tof=? where Id_Categorie= " .$id);
     
         $q->bindParam(1,$this->Libelle_categorie);
    	 $q->bindParam(2,$this->tof);
     
     
         $resultat=$q->execute();
       if ($resultat)
         {
             echo "Modification r&eacuteussie" ;
         }
         else
     
         var_dump($this->database->errorInfo());
    }
    Merci

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 53
    Par défaut
    Bonjour,
    j'ai trouvé une solution en ce qui concerne la modification du "libellé".
    Mais la modification des images ne fonctionne pas et le message d'erreur suivant s'affiche"Notice: Undefined offset".J'ai pas compris où réside le problème.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
    		 <?php
    foreach($cat as $pers)
    {
    ?>
    	<input type="hidden" name="id[<?php echo $pers['Id_Categorie']; ?>]" value="<?php echo $pers['Id_Categorie']; ?>"/>
      Image: 
    	<img width="200" height="100" src=" <?php echo 'Images/' . $pers["tof"];?>" alt="" /> 
     
    	<input type="file" name="tof[<?php echo $pers['Id_Categorie']; ?>]" class="tof" /> <br/>
     
     <?php
    }
    Update:
    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
     
     <?php
      if( isset($_POST['modif']) )
        {
            if( !empty($_POST['id']) )
            {
                foreach( $_POST['id'] as $index => $value ) // $index représente l'id de la categorie.
                {
                      $C = new Categorie($base);
                    $C->Libelle_categorie = $_POST['Libelle_categorie'][$index];
                    $C->tof = $_FILES['tof'][$index]['name'];
     
     
                    // 
                   move_uploaded_file($_FILES['tof'][$index]['tmp_name'], "Images/".$C->tof);
                    $C->update($index);
               }
            }
            else
            {
                // 
            }
        }
     
    ?>
    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    l'index n'est pas où il faut.

    $_FILES['tof'][$index]['......'] -> $_FILES['tof']['......'][$index].

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 53
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. Modifier des paramètres pendant un affichage en boucle
    Par lafarigoule dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 27/12/2007, 00h09
  2. Modifier une boucle <<for>>
    Par Mataka dans le forum MATLAB
    Réponses: 22
    Dernier message: 31/05/2007, 09h20
  3. [Débutant] Modifier la limite d'une boucle For dynamiquement
    Par seiryujay dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/12/2006, 19h45
  4. Réponses: 3
    Dernier message: 12/06/2006, 13h04
  5. [VBA-E] Modifier le contenu d'un range sans boucle
    Par MatMeuh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/04/2006, 12h19

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