Echec de mise a jour

Résolu/Fermé
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016 - Modifié par baladur13 le 18/11/2015 à 14:51
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016 - 19 nov. 2015 à 15:44
Bonjour,



e rencontre un probleme innatendu. Apres avoir cree un formulaire qui contient des fonctions qui cachent et qui affichent des champs tout depend du choix du user dans un select. le formulaire marche comme voulu. Le probleme c'est que les variables ne sont pas recues dans une page pour effectuer un update dans la base de donnees.

voici les codes javascript
function changementType() {
   var type = document.getElementById("type").value;
   if (type == "Complete") {
       document.getElementById("Complete").style.display="block";
   } else{
       document.getElementById("Complete").style.display="none";
   }
   if (type == "NotFound"){
       document.getElementById("NotFound").style.display="block";
   }else{
       document.getElementById("NotFound").style.display="none";
   }
   if (type == "Start"){
       document.getElementById("Start").style.display="block";
   }else{
       document.getElementById("Start").style.display="none";
   }
}

Voici les codes du formulaire
<form  method="post" action ="claim_agent_assigned_edit.php" enctype="multipart/form-data">
<input type="text" name="id" value="<?php echo $d['id']; ?>" style="display:none" />
<div id="texte" class="texte" >
</br>
<div style="margin-left:74.6%;">
<input type="submit" value="Save" />
<input action="action" type="button" value="Cancel" onclick="history.go(-1);" />
</div>
<div style="margin-left:4%;" >
</br>
<label>Claim Status <span style="color:red">*</span></label></br>
<select name="claimStatus" id="type" onchange="changementType();" style="background:rgb(249,249,255);">
<option value="Start">Make a selection</option>
<option value="Complete">Complete</option>
<option value="NotFound">Not Found</option>
</select><br/>
</br>
<div id ="Start" style="display:yes">
<div class="control-group" id="Assign_To" style="display:yes">
<label class="control-label" for="input01">Assign To <span style="color:red">*</span></label>
<select name="AssignTo" id="departement1" class="input-xlarge" >
<option></option>
<?php
// Appel des departements
$req = "SELECT name FROM bposs_workers group by name ORDER BY name";
$rep = mysqli_query($dbc, $req);
while ($row = mysqli_fetch_array($rep)) {
echo "<option value=".$row['name'].">".$row['name']."</option>";
}
?>
</select>

</div>
</div>

<div id ="Complete" style="display:none">
<label class="control-label" for="input01">Assign To</label> </br>

<select name="AssignTo" id="departement1" class="input-xlarge" >
<option></option>
<?php
// Appel des departements
$req = "SELECT name FROM bposs_workers group by name ORDER BY name";
$rep = mysqli_query($dbc, $req);
while ($row = mysqli_fetch_array($rep)) {
echo "<option value=".$row['name'].">".$row['name']."</option>";
}
?>
</select>
</br> </br>
<label class="control-label" for="input01"><span>Office status <span style="color:red">*</span></label> </br>
<select name="OfficeStatus" class="input-xlarge" >
<option></option>
<option value="">Error </option>
<option value="">Processed</option>
</select>
</div>
<div id="NotFound" style="display:none">

<label class="control-label" for="input01">Status details </label>

<input type="text" name="StatusDetails " value="00020 --- Claim Not Found" size="30" class="input-xlarge"/></br></br>
<label class="control-label" for="input01">Does the patient</br> have coverage </br>with insurance</br> company ?</label>
<select name="PatientHasCoverage" style="margin-left:2%;background-color: white;color:rgb(64,64,64)">
<option></option>
<option value="yes">Yes</option>
<option value="no">No</option>

</select>
</br>

<label class="control-label" for="input01">Office status <span style="color:red">*</span></label> </br>
<select name="OfficeStatus" class="input-xlarge" >
<option></option>
<option value="">Error </option>
<option value="">Processed</option>

</select>

</div>

</div>
</div>
</form>

Voci les codes php pour l'update
<?php
 
 include_once('mysql_workbench.php');
 $id = mysqli_real_escape_string($dbc,$_POST["id"]) ;
 $Claim_Status = mysqli_real_escape_string($dbc,$_POST["claimStatus"]) ;
 
 $AssignTo1 = mysqli_real_escape_string($dbc,$_POST["AssignTo"]) ;
$Office_Status  = mysqli_real_escape_string($dbc,$_POST["OfficeStatus"]) ;
 
$Patient_coverage  = mysqli_real_escape_string($dbc,$_POST["PatientHasCoverage"]) ;
 
 
print_r($_POST);
 
  $sql = "update claims_follow_up.Claims_assigned set Claim_Status='$Claim_Status', AssignTo1 ='$AssignTo1', $Office_Status='$Office_Status ' Patient_coverage='$Patient_coverage' where id='$id'";
$res = @mysqli_query($dbc, $sql);
               
 
 
?>

Merci davance pour l'aide
A voir également:

2 réponses

Donc les variables sont bien reçues dans ta page.
Je suppose qu'il y a une erreur dans la requête.
Pour l'afficher, essaye
$res = mysqli_query($dbc, $sql) or die (mysqli_error($dbc));


Je suppose que tu as bien un enregistrement avec l'id 140 !
Tu devrais aussi retirer l'espace en trop dans '$Office_Status '

[edit] il manque une virgule entre les deux derniers champs de l'UPDATE
1
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016
18 nov. 2015 à 20:41
Merci beaucoup grace a vous j'ai decouvert le probleme, c'est gentils et a +
0
Utilisateur anonyme > BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016
18 nov. 2015 à 20:46
Heureux de t'avoir rendu service. À plus.
0
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016
18 nov. 2015 à 20:56
Avant il y une petite quelque chose qui close dans la balise de selection
<select  name="AssignTo"  id="departement1" class="input-xlarge" >
<option></option>
<?php
// Appel des departements
$req = "SELECT name FROM bposs_workers group by name ORDER BY name";
$rep = mysqli_query($dbc, $req);
while ($row = mysqli_fetch_array($rep)) {
echo "<option value=".$row['name'].">".$row['name']."</option>";
}
?>
</select>

la variable recoit le premier mot mais rejette le deuxieme. Par exemple si le name est
Altagrace Pierre, Pierre n'est pas recu c'est seulement Altagrace, c'est pareil pour tous les autres noms...
0
Utilisateur anonyme > BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016
18 nov. 2015 à 23:59
C'est le HTML qui est comme ça. La valeur d'un attribut (l'attribut, c'est "value" ; sa valeur, c'est ce que tu mets à droite du =) doit être en un seul mot, sinon HTML prend le deuxième mot pour un nouvel attribut. On s'en sort en encadrant cette valeur avec des apostrophes ou de doubles quotes :
value="Altagrace Pierre"
ou
value='Altagrace Pierre'
mais pas
value=Altagrace Pierre
.
Donc :
echo "<option value='".$row['name']."'>".$row['name']."</option>";
0
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016 > Utilisateur anonyme
19 nov. 2015 à 15:38
Superbe le pere, c'est genial!
Encore autre chose
dans une page j'ai ces codes

<select onChange="location.href=''+this.options[this.selectedIndex].value" required>
<option">Make a selection</option>
<option value="changeEdit.php#AncreArrivée">Complete</option>
</select>

Je voudrais utiliser cette variable
<?php echo $d['id']; ?>
dans le lien
changeEdit.php#AncreArrivee. J'ai essaiye avec ca j'ai echoue:
changeEdit.php?id=<?php echo $d['id'];?>'#AncreArrivée"

Dans la page changeEdit.php je voudrais utiliser la variable id dans une requete pour utiliser les valeurs dans cette page:
 
$id =$_GET['id'];
$req7=mysqli_query($dbc, "select * from claims_follow_up.Claims_assigned
where id='".$id."' ");
$d=mysqli_fetch_array($req7);
mysqli_free_result($req7);
0
Utilisateur anonyme
18 nov. 2015 à 15:59
Bonjour

Ton print_r($_POST) n'affiche rien ?
Si la requête ne fait pas ce que tu veux, tu ne devrais pas masquer le message d'erreur, bien au contraire. Il te dira où se situe le problème.
Tu devrais aussi vérifier si ton champ $Office_Status s'écrit bien avec un $, car tu en a mis un dans la requête. Confusion avec la variable PHP ?
0
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016
18 nov. 2015 à 18:22
je viens de corriger Office_Status. Voila le resultat du print_r($_POST)
quand je choisi (NotFound)
Array ( [id] => 140 [claimStatus] => NotFound [AssignTo] => Doris [OfficeStatus] => [StatusDetails_] => 00020 --- Claim Not Found [PatientHasCoverage] => yes )
Mais rien ne se passe dans la table
0