Récupération d'un champ pour update

Fermé
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021 - 2 juin 2017 à 12:17
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 - 15 juin 2017 à 17:53
bonjour, je suis débutant et j'aimerais récupéré le champ USER_ID (clé primaire de ma bdd) de la ligne que j'ai sélectionné dans mon tableaux pour modifié le champ (statut) en affecté ou non affectée pour cela j'ai réalisé un dialbox avec oui ou non
j'ai fais un script selectrow pour sélectionné la ligne
comment puis-je faire pour prendre en considération la ligne sélectionne pour modifié le champs voulu?
merci
A voir également:

6 réponses

jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
2 juin 2017 à 12:20
Bonjour,

sans voir ton code ... IMPOSSIBLE de te répondre !

NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
2 juin 2017 à 13:45
page tableaux, js,

<?php
//PHP avant tout
if (!empty($_POST)) {
//la connexion
$connect = mysqli_connect("localhost", "root", "Mm101010", "smartphone");

//la requete de recherche
$query = "Select * from vu_affect_empl ";
if (!empty($_POST["query"])) {
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query .= "WHERE USER_ID LIKE '";
$query .= $search;
$query .= "%' OR USER_ID LIKE '";
$query .= $search;
$query .= "%' OR Num_SIM LIKE '";
$query .= $search;
$query .= "%' ORDER BY Nom asc";
} else {
$query .= "ORDER BY USER_ID";
}
//Lancement de la requete
$result = mysqli_query($connect, $query);
}

?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<?php
if(isset($result) && mysqli_num_rows($result) > 0) {
?>

<div id="Affectation">
<form method="post" action="Affectation_result.php" >
<div class="table-responsive" id="AffectationTable">
<table class="table table bordered">
<tr id="first-tr">
<td> </td>
<th>USER ID</th>
<th>Nom</th>
<th>Prenom</th>
<th>Num SIM</th>
<th>PIN Terminal</th>
<th>PIN SIM</th>
<th>Num EMEI</th>
<th>Date Debut</th>
<th>Date Fin</th>
<th>Vitre</th>
<th>Coque</th>
<th>Support Vehicule</th>
<th>Actif</th>
<th>Or Affectation1</th>
<th>Statut</th>
</tr>
<?php
while($row = mysqli_fetch_array($result)) {
?>
<tr id="<?php echo $row["USER_ID"]; ?>">
<td><input type="radio" name="select" class="del_customer" value="<?php echo $row["USER_ID"]; ?>" /></td>
<td><?php echo $row["USER_ID"]; ?></td>
<td><?php echo $row["Nom"]; ?></td>
<td><?php echo $row["Prenom"]; ?></td>
<td><?php echo $row["Num_SIM"]; ?></td>
<td><?php echo $row["PIN_Terminal"]; ?></td>
<td><?php echo $row["PIN_SIM"]; ?></td>
<td><?php echo $row["Num_IMEI"]; ?></td>
<td><?php echo $row["Date_Debut"]; ?></td>
<td><?php echo $row["Date_Fin"]; ?></td>
<td><?php echo $row["Vitre"]; ?></td>
<td><?php echo $row["Coque"]; ?></td>
<td><?php echo $row["Support_Vehicule"]; ?></td>
<td><?php echo $row["Actif"]; ?></td>
<td><?php echo $row["Or_Affectation1"]; ?></td>
<td><?php echo $row["Statut"]; ?></td>
</tr></div></div>
</form>
<?php
} } else { echo 'Pas enregistrement pour le moment'; }
?>
<script>
function selectRow(){
var radios = document.getElementsByName("select");
for( var i = 0; i < radios.length; i++ )
{
radios[i].onclick = function()
{
var el = document.getElementById("first-tr");
while(el = el.nextSibling)
{
if(el.tagName === "TR")
{
el.classList.remove("selected");
}
}
this.parentElement.parentElement.classList.toggle("selected");
};
}
}
function confirmer()
{
UPDATE Abonnements SET Statut_Abo = "Non Affecté" WHERE Abonnements.Statut_Abo = ""
}
</script>
</body>
</html>


page bouton
 <html lang="fr">
 <head>
  <meta charset="utf-8" />
  <title>Flotte Mobile</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  <script src="dialog.js"></script>
  <script src="AffectationTable.js"></script>
  
  <link href="Tableau.css" rel="stylesheet" />
  <link rel="stylesheet" type="text/css" href="Bouton.css">
  <link rel="stylesheet" href="dialog.css">
  <link href="jtable.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
    <h2 align="center">Affectation</h2><br />

   <center>
      <a href="Abonnement.php" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page">Abonnement</a>
      <a href="Employe.php" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page"> Employe</a>
      <a href="Equipement.php" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page"> Equipement</a>
      <a href="Modele.php" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page"> Modele</a>
      <a href="Nouvelle_Affectation.php" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page"> Nouvelle Affectation</a>
      <a href="Employe.php" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page"> Employe</a>
      <a href="Menu_Smartphone.html" rel="nofollow noopener noreferrer" target="_blank" class="bouton_dans_page"> Menu Smarphone</a>
   </center>
  <div class="container">
   <br />
   <div class="form-group">
    <div class="input-group">
     <span class="input-group-addon">Recherche</span>
     <input type="text" name="search_text" id="search_text" placeholder="Rechercher par Nom/Opérateur/Num SIM" class="form-control" />
    </div>
   </div>
   <br />
   <div id="result"></div>
  </div>
<center>
<div id="dialogoverlay"></div>
<div id="dialogbox">
  <div>
    <div id="dialogboxhead"></div>
    <div id="dialogboxfoot"></div>
  </div>
</div>
<button id="DeleteAllButton" class="Menu" role="button"  aria-disabled="false">
<span class="ui-button-text">Delete all selected records</span></button>
<button type="button" class="Menu" id="Supprimer_affect" name="Supprimer_affect" onclick="Confirm.render()">Suprimer Affectation</button>
<button class="Menu" type="button" id="C_R_E" onclick="javascript:Confirmer" name="C_R_E">Confirmer Retour Equipement</button>
<a href="Equipement_Modal.php" rel="nofollow noopener noreferrer" target="_blank" class="Menu" id="R_E" name="R_E"> Remplacer Equipement</a> 
<button class="Menu" type="button" id="A_S_L" name="A_S_L">Ajout et Supression Ligne</button> 
<button class="Menu" type="button" id="C_R_A" name="C_R_A">Confirmer Retour Abonnement</button>
<button class="Menu" type="button" id="Reaff_Equip" name="Reaff_Equip">Reaffectation Equipement</button>
</center> 
</body>
</html>


<script>
$(document).ready(function(){

 load_data();

 function load_data(query)
 {
  $.ajax({
   url:"fetch_Affect.php",
   method:"POST",
   data:{query:query},
   success:function(data)
   {
    $('#result').html(data);
   }
  });
 }
 $('#search_text').keyup(function(){
  var search = $(this).val();
  if(search != '')
  {
   load_data(search);
  }
  else
  {
   load_data();
  }
 });
});
</script>
>
0
yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 Ambassadeur 1 557
4 juin 2017 à 17:53
bonjour,
tu dois appeler une page php qui va recevoir le statut et le userid,
et qui va faire, après les vérifications et les protections habituelles:
UPDATE Abonnements SET Statut_Abo = $_POST("statut") WHERE USER_ID = $_POST("userid")


je vois que tu connais et utilises déjà deux méthodes pour appeller des pages php:
- une fois, via ajax, pour appeller fetch_Affect.php
- une autre fois, via un formulaire, pour appeler Affectation_result.php
0
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
15 juin 2017 à 13:22
tu peux me montrez un exemple car mes tentative marche pas
merci
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
15 juin 2017 à 13:52
Tes tentatives ne marchent pas ... c'est à dire ???
Le mieux serait que tu nous montes ce que tu as essayé de faire ( que tu nous indiques les éventuels messages d'erreurs rencontrés...)
Ainsi nous pourrons essayer de te le corriger.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
Modifié le 15 juin 2017 à 14:45
<?php
    //PHP avant tout
    if (!empty($_POST)) {
        //la connexion
        $connect = mysqli_connect("localhost", "root", "Mm101010", "smartphone");
         
        //la requete de recherche
        $query = "Select * from vu_affect_empl ";
        if (!empty($_POST["query"])) {
            $search = mysqli_real_escape_string($connect, $_POST["query"]);
            $query .= "WHERE USER_ID LIKE '";
            $query .= $search;
            $query .= "%' OR  USER_ID LIKE '";
            $query .= $search;
            $query .= "%' OR  Num_SIM LIKE '";
            $query .= $search;
            $query .= "%' ORDER BY Nom asc";
        } else {
            $query .= "ORDER BY USER_ID";
        }
        //Lancement de la requete
        $result = mysqli_query($connect, $query);
    }
$row = mysqli_fetch_array($result)
$data = array(
    array( $row["USER_ID"]),
    array( $row["Nom"])
);
?>

<div class="users">
<?php foreach ($data as $user) : ?>
    <div class="ligne user">
        Id : <?php echo htmlspecialchars($user['user_id']); ?><br>
        Nom : <?php echo htmlspecialchars($user['nom']); ?><br>
        Nom : <?php echo htmlspecialchars($user['statut']); ?>
        <button class="btn-changer-statut" data-userid="<?php echo htmlspecialchars($user['user_id']); ?>">Changer le statut</button>
    </div>
<?php endforeach; ?>
</div>

<script>    
var boutonsStatut = document.querySelectorAll('.btn-changer-statut');

for (var i = 0; i < boutonsStatut.length; i++) {
    boutonsStatut[i].addEventListener('click', function() {
        var userid = this.getAttribute('data-userid');
        alert('Changement de statut pour l\'utilisateur id = ' + userid);
    });
}
</script>
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
</head>
<body>
<?php
  if(isset($result) && mysqli_num_rows($result) > 0) {
?>

<div id="Affectation">
        <form method="post" action="Affectation_result.php" >
    <div class="table-responsive" id="AffectationTable">
        <table class="table table bordered">
            <tr id="first-tr">
                <td> </td>
                <th>USER ID</th>
                <th>Nom</th>
                <th>Prenom</th>
                <th>Num SIM</th>
                <th>PIN Terminal</th>
                <th>PIN SIM</th>
                <th>Num EMEI</th>
                <th>Date Debut</th>
                <th>Date Fin</th>
                <th>Vitre</th>
                <th>Coque</th>
                <th>Support Vehicule</th>
                <th>Actif</th>
                <th>Or Affectation1</th>
                <th>Statut</th>
            </tr>
<?php 
            while($row = mysqli_fetch_array($result)) {
?>
            <tr id="<?php echo $row["USER_ID"]; ?>">
                <td><input type="radio" name="select" class="del_customer" value="<?php echo $row["USER_ID"]; ?>" /></td>
                <td><?php echo $row["USER_ID"]; ?></td>
                <td><?php echo $row["Nom"]; ?></td>
                <td><?php echo $row["Prenom"]; ?></td>
                <td><?php echo $row["Num_SIM"]; ?></td>
                <td><?php echo $row["PIN_Terminal"]; ?></td>
                <td><?php echo $row["PIN_SIM"]; ?></td>
                <td><?php echo $row["Num_IMEI"]; ?></td>
                <td><?php echo $row["Date_Debut"]; ?></td>
                <td><?php echo $row["Date_Fin"]; ?></td>
                <td><?php echo $row["Vitre"]; ?></td>
                <td><?php echo $row["Coque"]; ?></td>
                <td><?php echo $row["Support_Vehicule"]; ?></td>
                <td><?php echo $row["Actif"]; ?></td>
                <td><?php echo $row["Or_Affectation1"]; ?></td>
                <td><?php echo $row["Statut"]; ?></td>
            </tr></div></div>
</form>
<?php
           } } else { echo 'Pas enregistrement pour le moment'; }
?>
<script>

</script> 
</body>
</html>


http://static.ccm2.net/www.commentcamarche.net/pictures/qXapJcstp7z4pQ6FQYtBGiKMIBqK0ZpC1t31WB0bxonFfOP1nTyjOIer6WtRGNvD-capture3.png
0
yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 1 557
15 juin 2017 à 14:53
il manque un point-virgule à la fin de la ligne 25.
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
15 juin 2017 à 14:55
Il manque un ";" à la ligne 25
$row = mysqli_fetch_array($result)

A remplacer par :
$row = mysqli_fetch_array($result);
0
vinkey33 Messages postés 92 Date d'inscription mercredi 9 décembre 2015 Statut Membre Dernière intervention 23 janvier 2021
Modifié le 15 juin 2017 à 17:40
Merci je les rectifiez mais en essayant j'ai u une deuxieme erreur de syntaxe dans ma page : ( ! ) Parse error: syntax error, unexpected end of file in C:\wamp64\www\phone\fetch_Affect.php on line 57
<?php
    //PHP avant tout
    if (!empty($_POST)) {
        //la connexion
        $connect = mysqli_connect("localhost", "root", "Mm101010", "smartphone");
         
        //la requete de recherche
        $query = "Select * from vu_affect_empl ";
        if (!empty($_POST["query"])) {
            $search = mysqli_real_escape_string($connect, $_POST["query"]);
            $query .= "WHERE USER_ID LIKE '";
            $query .= $search;
            $query .= "%' OR  USER_ID LIKE '";
            $query .= $search;
            $query .= "%' OR  Num_SIM LIKE '";
            $query .= $search;
            $query .= "%' ORDER BY Nom asc";
        } else {
            $query .= "ORDER BY USER_ID";
        }
        //Lancement de la requete
        $result = mysqli_query($connect, $query);
    $data = array(
    array( $row["USER_ID"]),
    array( $row["Nom"])
);

?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
</head>
<body>
<div class="users">
<?php foreach ($data as $user) : ?>
    <div class="ligne user">
        Id : <?php echo htmlspecialchars($user['user_id']); ?><br>
        Nom : <?php echo htmlspecialchars($user['nom']); ?><br>
        Nom : <?php echo htmlspecialchars($user['statut']); ?>
        <button class="btn-changer-statut" data-userid="<?php echo htmlspecialchars($user['user_id']); ?>">Changer le statut</button>
    </div>
<?php endforeach; ?>
</div>}

<script>    
var boutonsStatut = document.querySelectorAll('.btn-changer-statut');

for (var i = 0; i < boutonsStatut.length; i++) {
    boutonsStatut[i].addEventListener('click', function() {
        var userid = this.getAttribute('data-userid');
        alert('Changement de statut pour l\'utilisateur id = ' + userid);
    };
}
</script>
</body>
</html>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45


merci
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
15 juin 2017 à 17:53
Déjà..petite erreur dans ton javascript.
Un oublie de parenthèse
<script type="text/javascript">    
var boutonsStatut = document.querySelectorAll('.btn-changer-statut');

for (var i = 0; i < boutonsStatut.length; i++) {
    boutonsStatut[i].addEventListener('click', function() {
        var userid = this.getAttribute('data-userid');
        alert("Changement de statut pour l'utilisateur id = " + userid);
    });
}
</script>


Ensuite pour ton PHP.. une petite réécriture du code histoire de le rendre plus lisible
//la requete de recherche
$query = "SELECT * FROM vu_affect_empl ";

$search= !empty($_POST["query"]) ? mysqli_real_escape_string($connect, $_POST["query"]) : NULL;
if($search){
   $query .= " WHERE USER_ID LIKE '$search%'";
   $query .= " OR  Num_SIM LIKE '$search%'";
   $query .= " ORDER BY Nom asc";

} else {
$query .= "ORDER BY USER_ID";
}
</code>


Pour le reste... ça peut aller.
Concernant ton message d'erreur .. c'est soit un souci de balise mal fermée, une erreur de syntaxe dans le code (peut-être corrigé par ma correction de ton js ) soit un souci d'encodage de ton fichier.
Applique le chapitre 1 de ce lien (et même les autres ça ne fera pas de mal...) : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
0