[php] edition de plusieurs variables [resolu]

salut a tous,
je suis en train de develloper un ptit carnet d’adresse en ligne; j’ai donc désidé d’implementer une fonction d’edition.
ma base de donnée contient a ce jour : id,nom,prenom,adresse,code postal,ville,telephone fixe,portable,email.
j’hesite donc a tout editer, ou a faire une fonction qui regarde les variables qui ont changé avant d’editer.
je penche bien sur pour la seconde formule, mais je bloque.
solution simple : faire autant de requete sql que de variables a modifier.

Z’en pensez quoi ? zavez des idées pour ce genre de chose ?
je reste dispo … je suis toujours en train de chercher ( oui ça veut dire que plus vite repondu mieux c’est :stuck_out_tongue: )
merci

Je vois pas bien ton problème.

Tu peux pas charger un array avec tes valeures initiales et les comparer avec les valeures finales? Et après faire un update avec les valeures qui changent … euh … si tu veux updater seulement les champs qui ont changé, ben tu montes ta sentence SQL d’update selon les changements ( if ( champ 1 != champ 1B ) $SQL.= ‘, CHAMP_1 = :CHAMP_1’ ).

Enfin je dois rater quelque chose …

[quote name=‘Zekiller’ date=’ 30 Jan 2005, 22:03’]Je vois pas bien ton problème.

Tu peux pas charger un array avec tes valeures initiales et les comparer avec les valeures finales? Et après faire un update avec les valeures qui changent … euh … si tu veux updater seulement les champs qui ont changé, ben tu montes ta sentence SQL d’update selon les changements ( if ( champ 1 != champ 1B ) $SQL.= ‘, CHAMP_1 = :CHAMP_1’ ).

Enfin je dois rater quelque chose …
[right][post=“327310”]<{POST_SNAPBACK}>[/post][/right][/quote]
Ouais mais il y a un truc qui me bloque … je continue mes tests.

Tu peux spécifier ce qui te bloque … ?

[quote name=‹ Zekiller › date=’ 30 Jan 2005, 22:12’]Tu peux spécifier ce qui te bloque … ?
[right][post=« 327313 »]<{POST_SNAPBACK}>[/post][/right][/quote]
La premiere variable, …

je met vite fait le code que je commence :

function verif() { $maj = array(); $i=0; if($nom!=$nom2) { $maj[$i] .= $nom2.','; } $i++; elseif($prenom != $prenom2) { $maj .= $prenom2.','; } $i++; for($a=0;$a<=$i;$a++) { UPDATE `fser` SET `$maj`
non ça peut pas marcher …
nan je vois toujours pas :stuck_out_tongue: fin si mais assez complexe avec un tableau à 2 dimensions … :stuck_out_tongue:
ça sent la non verif :stuck_out_tongue:

Quel est l’intérêt de vérifier que les données n’ont pas été modifiées ?
Intuitivement, je pense que comparer chaque valeur à l’ancienne prend plus de temps que de tout remplacer.

[quote name=‹ Moe › date=’ 30 Jan 2005, 22:18’]Quel est l’intérêt de vérifier que les données n’ont pas été modifiées ?
Intuitivement, je pense que comparer chaque valeur à l’ancienne prend plus de temps que de tout remplacer.
[right][post=« 327317 »]<{POST_SNAPBACK}>[/post][/right][/quote]
C’est justement la question que je me pose :stuck_out_tongue:
edit plus haut dans le code.

Ben tu fais

[code]function verif()
{
if($nom!=$nom2)
{$maj.= $champBDnom.’ = ‹ .$nom2. ›,’; }
if($prenom != $prenom2)
{ $maj.= $champBDprenom.’ = ‹ .$prenom2. ›,’; }
$maj = substr ( $maj, strlen( $maj ) - 1 );
}

UPDATE fser SET $maj[/code]

Mais clair que pour ce cas précis c’est pas vraiment utile d’optimiser à muerte les updates de BD :stuck_out_tongue:

Bon j’ai fait une simple edition de toutes les variables, ça marche.
merci a tous :stuck_out_tongue:

Fser, ou l’art de compliquer (certaines) choses simples. :stuck_out_tongue: