Array - Mise à jour unique php+mysql ?
代言
代言 2017-06-12 09:19:49
0
5
801

Supposons que vous récupériez les informations sur les membres de la base de données
Il existe un champ pour les membres appelé p
Le p de chaque membre aura une valeur
Je veux faire quelque chose qui me permettra de "modifier la valeur p de tous les membres à la fois"
Après avoir utilisé php, comment la fin doit-elle être traitée ? !

代言
代言

répondre à tous(5)
漂亮男人

Écrivez d'abord un tableau pour stocker l'ID du membre et modifiez la valeur p

$vips = array(
    array(
        'id' => 1,
        'p' => 1
    ),
    array(
        'id' => 2,
        'p' => 2
    ),
    ...
);
foreach ($vips as $vip) {
    执行sql语句 update 会员表 set p  = $vip['p'] where id = $vip['id'];
}
学霸

La solution actuellement adoptée par @tony_yin est la solution la plus basique. Dans les applications réelles, il convient de veiller à activer la transaction avant le début de la boucle for et à soumettre la transaction après sa fin. Sinon, sans parler des faibles performances, s'il y a un problème avec le programme pendant la boucle for, il est facile de faire en sorte que seules certaines des valeurs p des utilisateurs soient mises à jour, tandis que d'autres ne le sont pas.

J'ajouterai une autre solution ici : puisqu'il s'agit de MySQL, vous pouvez utiliser la méthode de mise à jour par lots de INSERT ... ON DUPLICATE KEY UPDATE. Exemple de SQL :

INSERT INTO `user`
 ( `id`, `p` ) 
VALUES
 ( 11111, 1),
 ( 22222, 2),
 -- ...
 ( 99999, 9)
ON DUPLICATE KEY UPDATE
  `id` = VALUES(`id`),
  `p` = VALUES(`p`);
Ty80
update 会员表 set p = xxx
仅有的幸福

Découvrez l'identifiant du membre et modifiez-le une fois.
Si la quantité de données est importante, traitez-la par lots

update table set p = value where uid in(1,2,3)
  1. Peu importe si la quantité de données est petite et si elles peuvent être placées dans une boucle

  2. En fonction de vos propres besoins

世界只因有你

Je n'ai pas compris votre question. Veuillez l'expliquer clairement lorsque je la poserai plus tard, sinon ce sera une question inutile
Je pense que vous voulez demander à certains membres de définir leurs champs p en même temps, n'est-ce pas ? ensemble de tables p = valeur où uid in(1,2,3)
`

Écrivez ce qui suit où conditionnez-vous selon le scénario spécifique

Ou tu ferais mieux de décrire à nouveau ton problème

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal