Page 1 sur 1

Update multiples

Posté : 11 mai 2010, 12:54
par Kimbalala51
Bonjour,

je suis actuellement en train de créer mon propre script de ptp (paid-to-promote) et je rencontre un seul et unique soucis.

En effet, lorsqu'il s'agit de faire la convertion (points -> euros) , j'ai un soucis.

Je dois sélectionner les points de la table membres pour ensuire faire tout les updates sur chacun des membres en même temps et en fonction de leurs nombre de points.

Pour la convertion, j'ai trouvé le système.

Le seul truc qui me pose problème, c'est comment updater tout les membres ? Je pense qu'il va falloir que je mettre les données en tableau while mais si quelqu'un pouvait me renseigner pour m'aider, ce serait super sympa :)

Je vous remercie

Re: Update multiples

Posté : 11 mai 2010, 14:10
par ouckileou
On ne connait pas ta formule mais tu peux mettre à jour une colonne à partir d'une autre :
-- 1 point = 0,5 euro
UPDATE membres m SET m.euros = m.points * 0.5;
-- select pour voir ce que donnera l'update
SELECT m.euros, m.points, mpoints * 0.5 FROM membres m;

Re: Update multiples

Posté : 11 mai 2010, 18:14
par Invité
Salut,

déja, merci de ta réponse :)

Mais je doute (je suis pas sur ^^) que ce soit cela.

En faite, je sélectionne les points de membres dans ma table membres, je créer aussi la convertion.

Ce qu'il faut, c'est updater tout les comptes membres après que la convertion soit effectué.

Je pense donc qu'il faut mettre la requete dans un while et ainsi effectuer la convertion de tout les points --> euros de tout les membres.

Mais je n'en ai aucune idée :(

Re: Update multiples

Posté : 11 mai 2010, 18:33
par AB
Soit plus précis, elle consiste en quoi ta conversion ?
Parce que ouckileou t'a déjà montré la méthode pour appliquer un coefficient...

Sinon pour faire des update à l'intérieur d'une boucle, ben y'a rien de particulier, si ce n'est que pour accroitre la performance des mises à jour il est vivement conseillé d'utiliser des requêtes préparées (possible aussi bien avec mysql, mysqli ou pdo).

Re: Update multiples

Posté : 27 mai 2010, 15:19
par Invité
Bonjour,

je doit selectionner 1 à 1 les points de chaque membre pour ainsi updater en fonction du taux que j'ai entrer !

Par exemple :

le membre B dispose de 1000 points et le taux est de 1.80 € / 1000 points, son compte sera donc crédité de 1.80 €.

le membre C dispose de 500 points et le taux est de 1.80 € / 1000 points, son compte sera donc crédité de 0.90 €

Au niveau des calculs, je n'ai aucun soucis, j'y suis arrivé mais c'est comment crédité tout les membres d'un seul coup qui me pose problème. D'ou ma question précédente au niveau du while !!

Pour infos, j'ai le champ (points) et champ (euros) si cela peut aider

Je patauge dessus depuis des jours et impossible de trouver :(

merci à vous

Re: Update multiples

Posté : 29 mai 2010, 16:44
par ouckileou
Ben non, pas besoin de prendre un par un, avec la requête que je t'ai donnée cela va mettre à jour TOUTES les lignes, en fonction du nombre de points correspondant. Fais un table de test et essaie, tu verras.