Update mysql multiple en php

Gwendalfr
Invité n'ayant pas de compte PHPfrance

15 janv. 2013, 14:33

Bonjour,

Dans mon formulaire mysql, j'ai tous les mois de l'année avec une valeur.

Dans ma table mysql, je veux soit enregistrer les valeurs si elle ne sont pas présente, soit faire un update de la valeur si elle existe déjà , ce qui impose plusieurs conditions.

1. L'éléments existe ? alors update ( qui peut être multiple ) sinon enregistrement

Ma table :

un id auto_increment
date : year
Mois : char
valeur : varchar

voilà, je n'ai absolument aucune idée de comment faire cela, j'en appel à vous :)

Merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

15 janv. 2013, 15:57

Un SELECT avec un count dedans, lecture du résultat.
Si 1 => UPDATE
Si 0 => INSERT
:)

On peut même aller plus loin avec des conditions SQL (qui supportent un langage à base de IF) mais ce n'est plus dans mes compétences et je serai capable de dire des conneries...

Eléphant du PHP | 353 Messages

15 janv. 2013, 16:09

Si ce n'est qu'avec mysql, tu peux utiliser replace à la place de insert/select :
https://dev.mysql.com/doc/refman/5.0/fr/replace.html

ViPHP
AB
ViPHP | 5818 Messages

15 janv. 2013, 17:19

Si ce n'est qu'avec mysql, tu peux utiliser replace à la place de insert/select :
https://dev.mysql.com/doc/refman/5.0/fr/replace.html
Pour éviter le premier select, la syntaxe INSERT ... ON DUPLICATE KEY UPDATE est souvent plus appropriée car elle permet de spécifier les champs qui doivent être updatés.