problème avec un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème avec un tableau

Re: problème avec un tableau

par moogli » 18 août 2012, 15:00

mais du coup si je fais replace et pour les nouvelles données?
as tu regardé dans la doc de mysql ?

Après ton script semble correct (mais sans savoir exactement ce que doit contenir POST ni les tables utilisées c'est une supposition, mais elle semble juste).
La suppression à la barbare c'est pas top :)

Tu peux t'orienter vers des requêtes préparée (voir le post de stealth35 dans la section contribution, sur le sujet) ce qui devrait être un poil plus "performant".

@+

Re: problème avec un tableau

par piotrowski-s » 18 août 2012, 14:38

oui tout a fait sinon la suppression des données n'aurait pas été effective de plus var_dump l'a confirmé.

mais du coup si je fais replace et pour les nouvelles données?

Re: problème avec un tableau

par moogli » 18 août 2012, 14:26

salut,

avec mysql plutôt que le delete regarde du coté de la requete REPLACE :) (attention ce n'est pas portable su run autre SGBD).

est tu certain que $_POST data contient bien tout le formulaire ? un var_dump() devrait t'aider à le savoir :)


@+

problème avec un tableau

par piotrowski-s » 18 août 2012, 14:20

Bonjour à tous, j'ai un soucis avec un array, en fait j'affiche sur une page un formulaire sur plusieurs lignes chaque ligne correspond a un enregistrement de la base de donnée et ils ont donc tous un dénominateur commun.

De plus grâce a javascript je peux ajouter des champs à la volée.

Le soucis se fait lors de l’enregistrement des données enfait j'ai pensé a d'abord tout supprimer puis tout réinjecter j'ai donc cette requête ci:
<?php if(isset($_POST['enreg']))
{

foreach($_POST['data'] as $data){
    if (!empty($data['code_s'])){
$sql2="DELETE FROM scenarii WHERE code_s='".mysql_real_escape_string($_GET['code_s'])."'";
mysql_query($sql2) or die(__LINE__.mysql_error().$sql2); 	
	
$sql7 = '
INSERT INTO  scenarii SET 
code_s				= "'.mysql_real_escape_string($data['code_s']).'", 
titre				= "'.mysql_real_escape_string($data['titre']).'",
action 				= "'.mysql_real_escape_string($data['action']).'", 
libelle             = "'.mysql_real_escape_string($data['libelle']).'",
jour 				= "'.mysql_real_escape_string($data['jour']).'"' ;    
mysql_query($sql7) or die(__LINE__.mysql_error().$sql7);

    } 
  }	
}
?>
le soucis c'est que les informations supprimées ne sont pas enregistrées à nouveau (pourtant elles sont bien dans la variable post car elles existent sous la forme d'un formulaire et sont donc dans les variables.

en fait il n'enregistre que les nouvelles lignes issues du javascript.

Le soucis c'est que je ne peux pas faire un update car justement il y a de nouvelles lignes.

Par avance merci pour votre aide.