Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Florian, PrimFX
Ce topic a été résolu
Auteur Sujet: Inséré dans une base de donnée

Florian

Messages: 73

Hello,

J'ai un problème, je veux faire un système de permission mais je suis bloquer a un endroit, c'est d'insérer la permission dans la BDD voici les colonnes



Donc je vous explique, quand on rentre une permission, elle est enregistre dans list_perm et une colonne se créé dans Grade, jusqu'ici tout va bien, mais quand je veux update Grade, je galère royalement, voici mon code

      <div class="grid-1">
           <div class="title-grid"><?= $page ?></div>
           <div class="content-gird">
           <div class="form">
              <?php 
              if (isset($_POST['delete'])){
                 //delete du grade
           }
           if(isset($_POST['send'])){
              //On doit update mais impossible
           }
         $req = $bdd -> query("SELECT * FROM list_perm");
         while ($r = $req -> fetch(PDO::FETCH_ASSOC))
         {
            $nom = $r['nom'];
         ?>
         <form method="post" id="customForm">
               <div class="elem">
                        <label class="left">Permission: <?= $nom ?></label>
                        <div class="indent distance">
               <p><input type="radio" name="<?= $nom ?>" value="1" class="styled"/> <label>Oui</label></p>
               <p><input type="radio" name="<?= $nom ?>" value="0" class="styled" checked="checked"/> <label>Non</label></p>
               
                        </div>
                 </div>
                 <?php  } ?>
                <div class="elem" id="customForm">
                   <div class="elem">
                  <input id="send" name="send" type="submit" class="button-a gray" value="Send" /> 
                    
                  <button class="button-a dark-blue" type="submit" name="delete">Supprimer le grade</button>  
              </div>
          </div>
                 </form>
                 <div class="clear"> </div>
             </div>
         </div>
     </div>
Donc ou est le problème ? J'ai mis tout mes résultat dans un tableau ça ressort comme ça 
Array ( [frefr] => 0 ) Array ( [test] => 0 ) Array ( [test1] => 0 )
Donc jusqu'ici tout va bien mais lors du update je met frefr, test, test1, est a cause de la virgule derrière  test1 l'update se fait pas, donc j'ai essayer le substr mais soit ça enleve toutes les virgules soit ça fait rien :x
Publicité

PrimFX
Membre Premium

Messages: 113

Salut ! Je suis désolé mais il va falloir être plus précis dans les informations que tu nous donnes... Stressé

quand on rentre une permission, elle est enregistre dans list_perm et une colonne se créé dans Grade
Sur ton screen, quelle table est "list_perm" et laquelle est "Grade" ? La table "list_perm" te permet simplement de faire un listing des dernières modifications de permissions ou elle est aussi censée être liée aux membres ? Et la table "Grade" doit être liée aux membres elle aussi je suppose ? Tire la langue

J'ai mis tout mes résultat dans un tableau ça ressort comme ça  
De quels résultats parles-tu ? De ce d'une requête sur ta base de donnée ? Du formulaire que tu envoies ?

Bref, un peu plus de précisions sur ce que tu fais dans ton code ainsi que la structure de ta base de données ne serait pas de refus pour pouvoir t'aider Clin d'oeil

Florian

Messages: 73

C'est ça List_perm permet de lister toutes les perms et de savoir qui l'a mis pour avoir un pti suivis

Ensuite pour le grade oui, c'est en rapport avec la tables users qui va recup la colonne Nombre pour voir a qu'elle grade il appartient, jusqu'ici tout va bien, mais c'est pour ajouter les perms

Quand je veux mettre des perms a un grade 



Donc quand je veux update j'ai ça frefr, test, test1, mais c'est la virgule après le dernier grade, et c'est ça qui me bloque, donc j'ai essaye avec un pti substr mais ça enleve toutes les virgules, je t'envoie le code PHP

ATTENTION très moche car je savais pas par ou passer :x j'essayerais d'optimiser quand ça sera fini x)

     <?php
      if(isset($_POST['send'])){
         $req = $bdd -> query("SELECT * FROM list_perm");
         while ($r = $req -> fetch(PDO::FETCH_ASSOC))
         {
            $update = $r['nom'].', ';
            $execute = $_POST[$r['nom']].', <br />';
            echo $update.'<br />'.$execute;
         $SQL = $bdd -> prepare("UPDATE grade SET '.$update.' WHERE ID = ?");
         $SQL -> execute(array($execute $id));
           }
        }
?>

Après être passer par un fetchall et un foreach toujours rien Pleur

Florian

Messages: 73

Hop voici le résultat ça fonctionne Clin d'oeil
foreach($r as $row) {
    $names[] = $row['nom'];
}
$names = implode(',', $names);
echo $names;


Veuillez vous connecter ou créer un compte pour poster une réponse