1

I have a form that is generated by the databse information displayed. The user will be able to make some modifications on this data, and I would like to save it to database, so I have the following forw (this code is the generated one)

 <form action="#" method="post">

      <input type="hidden" name="liasse" value="liasse_a"/>
      <input type="hidden" name="n_doss" value="120015660001"/>  
<table id="box-table-a" width="100%">
    <tr>
         <th scope="col"><input name="data[0][code_s]" type="text" value="CODE S" size="10" ></th>
         <th scope="col"><input name="data[0][libelle]" type="text" value="LIBELLE" size="30"></th>
          <th scope="col"><input name="data[0][action]" type="text" value="ACTION" size="15"></th>
         <th scope="col"><input name="data[0][libelle]" type="text" value="DESCRIPTION" size="40"></th>
          <th scope="col"><input type="text" name="data[0][date]" value="DATE D'ACTION" size="12"></th>   <th scope="col"><input type="text" name="data[0][date]" value="VALIDATION" size="12"></th>
          <th scope="col"><strong>ETAT</strong></th></tr>

      <tr>
         <td><input name="data[1][code_s]" type="text" value="5F" size="10" style="background-color:#FF0"><input type="hidden" name="data[1][id]" value="667"></td>
         <td><input name="data[1][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style="background-color:#FF0"></td>
         <td><input name="data[1][action]" type="text" value="RELANC1" size="15" style="background-color:#FF0"></td>
         <td><input name="data[1][description]" type="text" value="1ère relance" size="40" style="background-color:#FF0"></td>
         <td>   <input type="date" name="data[1][date]" class="date" id="date1" value="09-10-2012" size="12" style="background-color:#FF0"  readonly="readonly"></td>
 <td nowrap><input type="text" name="data[1][date_validation]" id="data[1][date_validation]" value="Non trait&eacute;" size="12" style="background-color:#FF0"></td>
         <td nowrap><a href="#" onClick="return confirm('Vous ne pouvez pas &eacute;diter ou changer la date d\'une action appartenant à votre passif !')"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=667&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="#" onClick="return confirm('Vous ne pouvez pas supprimer une action appartenant à votre passif !')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[2][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[2][id]" value="668"></td>
         <td><input name="data[2][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[2][action]" type="text" value="RELANC2" size="15" style=""></td>
         <td><input name="data[2][description]" type="text" value="2ème relance" size="40" style=""></td>
         <td>   <input type="date" name="data[2][date]" class="date" id="date2" value="17-10-2012" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[2][date_validation]" id="data[2][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=668&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal">img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=668&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=668&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[3][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[3][id]" value="669"></td>
         <td><input name="data[3][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[3][action]" type="text" value="MINITEL" size="15" style=""></td>
         <td><input name="data[3][description]" type="text" value="recherches CREDITSAFE" size="40" style=""></td>
         <td>   <input type="date" name="data[3][date]" class="date" id="date3" value="12-11-2012" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[3][date_validation]" id="data[3][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=669&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=669&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=669&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[4][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[4][id]" value="670"></td>
         <td><input name="data[4][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[4][action]" type="text" value="MEDLRAR" size="15" style=""></td>
         <td><input name="data[4][description]" type="text" value="mise en demeure LRAR" size="40" style=""></td>
         <td>   <input type="date" name="data[4][date]" class="date" id="date4" value="14-11-2012" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[4][date_validation]" id="data[4][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=670&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=670&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=670&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[5][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[5][id]" value="671"></td>
         <td><input name="data[5][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[5][action]" type="text" value="TRANSAV" size="15" style=""></td>
         <td><input name="data[5][description]" type="text" value="$ Transmission des pièces à l'avocat pour référé" size="40" style=""></td>
         <td>   <input type="date" name="data[5][date]" class="date" id="date5" value="10-12-2012" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[5][date_validation]" id="data[5][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=671&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=671&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=671&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[6][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[6][id]" value="672"></td>
         <td><input name="data[6][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[6][action]" type="text" value="POSITION" size="15" style=""></td>
         <td><input name="data[6][description]" type="text" value="RF procédure de référé en cours" size="40" style=""></td>
         <td>   <input type="date" name="data[6][date]" class="date" id="date6" value="10-12-2012" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[6][date_validation]" id="data[6][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=672&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=672&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=672&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[7][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[7][id]" value="673"></td>
         <td><input name="data[7][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[7][action]" type="text" value="AVOCA186" size="15" style=""></td>
         <td><input name="data[7][description]" type="text" value="Demande de date d'audience" size="40" style=""></td>
         <td>   <input type="date" name="data[7][date]" class="date" id="date7" value="28-12-2012" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[7][date_validation]" id="data[7][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=673&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=673&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=673&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[8][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[8][id]" value="674"></td>
         <td><input name="data[8][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[8][action]" type="text" value="CLI6108" size="15" style=""></td>
         <td><input name="data[8][description]" type="text" value="$ cette affaire sera appelée à l'audience du..." size="40" style=""></td>
         <td>   <input type="date" name="data[8][date]" class="date" id="date8" value="02-01-2013" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[8][date_validation]" id="data[8][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=674&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=674&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=674&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[9][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[9][id]" value="675"></td>
         <td><input name="data[9][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[9][action]" type="text" value="AVOCAT69" size="15" style=""></td>
         <td><input name="data[9][description]" type="text" value="Demande résultat dernière audience" size="40" style=""></td>
         <td>   <input type="date" name="data[9][date]" class="date" id="date9" value="28-01-2013" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[9][date_validation]" id="data[9][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=675&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=675&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=675&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[10][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[10][id]" value="676"></td>
         <td><input name="data[10][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[10][action]" type="text" value="CLIEN117" size="15" style=""></td>
         <td><input name="data[10][description]" type="text" value="Ordonnance de référé rendue en votre faveur" size="40" style=""></td>
         <td>   <input type="date" name="data[10][date]" class="date" id="date10" value="18-02-2013" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[10][date_validation]" id="data[10][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=676&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=676&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=676&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[11][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[11][id]" value="677"></td>
         <td><input name="data[11][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[11][action]" type="text" value="DEB6000" size="15" style=""></td>
         <td><input name="data[11][description]" type="text" value="$ Avons ordonnance de référé, menace d'exécution forcée si pas de règlement" size="40" style=""></td>
         <td>   <input type="date" name="data[11][date]" class="date" id="date11" value="08-03-2013" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[11][date_validation]" id="data[11][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=677&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=677&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=677&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  <tr>
         <td><input name="data[12][code_s]" type="text" value="5F" size="10" style=""><input type="hidden" name="data[12][id]" value="678"></td>
         <td><input name="data[12][libelle]" type="text" value="FRAIS A NOTRE CHARGE: référé" size="30" style=""></td>
         <td><input name="data[12][action]" type="text" value="SCENARIO" size="15" style=""></td>
         <td><input name="data[12][description]" type="text" value="EXF CHAINAGE VERS SCENARIO EXECUTION FORCEE " size="40" style=""></td>
         <td>   <input type="date" name="data[12][date]" class="date" id="date12" value="28-03-2013" size="12"  required="true" ></td>
 <td nowrap><input type="text" name="data[12][date_validation]" id="data[12][date_validation]" value="Non trait&eacute;" size="12" style=""></td>
         <td nowrap><a href="edit-action.php?id=678&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/gtk-edit.png" width="24" height="24"></a> <a href="validate-action.php?id=678&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"><img src="images/go.gif" width="24" height="24"></a> <a href="delete-action.php?id=678&n_doss=120015660001&liasse=liasse_a" onClick="return confirm('voulez vous vraiment supprimer cette action ?')"><img src="images/trash-paper.png" width="24" height="24"></a></td>
    </tr>

  </td></tr></table>     

   <p align="center"><input type="submit" name="enreg" value="ENREGISTRER LES MODIFICATIONS &Eacute;FFECTU&Eacute;ES"></p>
  </form>       

What I would like to do is now to save this table into my databse, In fact I just would like to update data, so I've written the following code:

<?php if(isset($_POST['enreg'])) { 
var_dump($_POST['data']) ;

$value = $_POST['data'] ; 

foreach($value as $key => $array)
{

        $sql = 'UPDATE agenda SET
        liasse = "'.mysql_real_escape_string($_GET['liasse']).'",
        code_s = "'.mysql_real_escape_string($array['code_s']).'",
        date_action = "'.date('Y-m-d',strtotime($array['date'])).'", 
        libelle = "'.mysql_real_escape_string($array['libelle']).'",
        action = "'.mysql_real_escape_string($array['action']).'",
        description = "'.mysql_real_escape_string($array['description']).'",
        n_doss = "'.mysql_real_escape_string($_GET['n_doss']).'",
        qualite = "'.mysql_real_escape_string($_GET['qualite']).'"
        WHERE id ="'.mysql_real_escape_string($array['id']).'"';
mysql_query($sql) or die(__LINE__.mysql_error().$sql);

}
echo "<div class=\"success\">Les modifications sont bien enregistr&eacute;es, vous pouvez poursuivre vos actions.</div>";
}?>

The var_dump does diplay this results:

1 => 
    array (size=7)
      'code_s' => string '5F' (length=2)
      'id' => string '667' (length=3)
      'libelle' => string 'FRAIS A NOTRE CHARGE: référé' (length=28)
      'action' => string 'RELANC1' (length=7)
      'description' => string '1ère relance' (length=12)
      'date' => string '09-10-2012' (length=10)
      'date_validation' => string 'Non traité' (length=10)
  2 => 
    array (size=7)
      'code_s' => string '5F' (length=2)
      'id' => string '668' (length=3)
      'libelle' => string 'FRAIS A NOTRE CHARGE: référé' (length=28)
      'action' => string 'RELANC2' (length=7)
      'description' => string '2ème relance' (length=12)
      'date' => string '17-10-2012' (length=10)
      'date_validation' => string 'Non traité' (length=10)
  3 => 
    array (size=7)
      'code_s' => string '5F' (length=2)
      'id' => string '669' (length=3)
      'libelle' => string 'FRAIS A NOTRE CHARGE: référé' (length=28)
      'action' => string 'MINITEL' (length=7)
      'description' => string 'recherches CREDITSAFE' (length=21)
      'date' => string '12-11-2012' (length=10)
      'date_validation' => string 'Non traité' (length=10)
  4 => 

and so on.

Now When I try to save this it display to me the following errors:

( ! ) Notice: Undefined index: description in C:\wamp\www\GESTION\edit_scenario.php on line 237 this line reffers to:

description = "'.mysql_real_escape_string($array['description']).'",

and next:

Notice: Undefined index: id in C:\wamp\www\GESTION\edit_scenario.php on line 240

this line reffers to:

WHERE id ="'.mysql_real_escape_string($array['id']).'"';

I really have no idea of what's happened there, all of my variables are declared.

Any kind of help or advice will be much appreciated.

Kind regards.

SP.

6
  • yes sir, They are named like that data[1][id] and data[1][description], the number depend on which rows I am Commented Oct 9, 2012 at 12:47
  • <a href="edit-action.php?id=677&n_doss=120015660001&liasse=liasse_a&qualite=Débiteur Principal"> will fail. Make sure you urlencode urls like this. I am referring to the Débiteur Principal part. Commented Oct 9, 2012 at 12:48
  • I do not know how to do it always change all accent and the space it replace by %20 Commented Oct 9, 2012 at 12:49
  • 1
    try dumping out the $sql variable after you build it... make sure it is writing the values you expect. Is it possible that someof the array fields are coming in unset? Commented Oct 9, 2012 at 12:49
  • no it is not possible this way, I've done a var_dump($_POST['data']) as you can see all values are in the array Commented Oct 9, 2012 at 12:51

1 Answer 1

7

You should call the values in your array correctly. On the numbers you can see that you have an iterator.

echo $array[0]['description']

or

foreach ($array as $out) {
  echo $out['description];
}

to put some data to the database you can serialize the array or objects and put the serialized string to a database field.

serialize($array);

php.net Serialize

Sign up to request clarification or add additional context in comments.

2 Comments

Dear Sir, on each beginning of lines I have this data[<?php echo ++$i; ?>][code_s]
Yes its correct. You have many datasets in one array with different data. So serialize the complete array or write every array in your database.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.