Update avec ID multiples dans mysql
Fermé
prositef
Messages postés
25
Date d'inscription
jeudi 9 août 2012
Statut
Membre
Dernière intervention
3 juin 2013
-
16 mars 2013 à 13:32
prositef Messages postés 25 Date d'inscription jeudi 9 août 2012 Statut Membre Dernière intervention 3 juin 2013 - 16 mars 2013 à 15:25
prositef Messages postés 25 Date d'inscription jeudi 9 août 2012 Statut Membre Dernière intervention 3 juin 2013 - 16 mars 2013 à 15:25
A voir également:
- Update avec ID multiples dans mysql
- Windows update 0x80070643 - Accueil - Windows
- Windows update bloqué - Guide
- Asus live update - Télécharger - Utilitaires
- Mysql community server - Télécharger - Bases de données
- Email id - Forum Consommation & Internet
8 réponses
jee pee
Messages postés
40565
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 décembre 2024
9 459
16 mars 2013 à 13:54
16 mars 2013 à 13:54
Salut,
Tu devrais poster ta commande et le message d'erreur ou ce qui se produit.
Car la commande sql semble toute simple :
update table set solde = heb
d'ailleurs je te proposerais plutôt update table set solde = solde + heb
cdlt
Tu devrais poster ta commande et le message d'erreur ou ce qui se produit.
Car la commande sql semble toute simple :
update table set solde = heb
d'ailleurs je te proposerais plutôt update table set solde = solde + heb
cdlt
prositef
Messages postés
25
Date d'inscription
jeudi 9 août 2012
Statut
Membre
Dernière intervention
3 juin 2013
16 mars 2013 à 14:02
16 mars 2013 à 14:02
Avant tout, 2 petites choses, 1) merci de la rapidité et 2) Un étranger, c'est un ami qu'on n'a pas encore rencontré. (j'aime beaucoup).
En fait je n'ai pas de message d'erreur mais simplement que rien ne se passe.
Voici mon script, il y manque la MAJ en jquery
<?php
date_default_timezone_set('Europe/Paris');
setlocale(LC_TIME, 'french');
$j = strftime("%d"); // le jour de 01 à 31
$h = strftime("%m"); // le mois de 1 à 12
$h = strftime("%y"); // l'année en 2 chiffres
if ($j =="28")
{
$req = mysql_query("SELECT * FROM clients");
while ($cl = mysql_fetch_array($req))
{
$id = $cl['id'];
$nom = $cl['nom'];
$prenom = $cl['prenom'];
$email = $cl['email'];
$heb = $cl['heb'];
$mensu = $cl['mensualite'];
$solde = $cl['solde'];
$etat = $cl['etat'];
}
$req1 = mysql_query("UPDATE clients SET etat='1',solde='$mensu' WHERE id='$id'");
echo '<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">';
echo 'solde réactivé';
exit();
}
else
{
echo '<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">';
echo "en attente d'être réactivé";
exit();
}
?>
En fait je n'ai pas de message d'erreur mais simplement que rien ne se passe.
Voici mon script, il y manque la MAJ en jquery
<?php
date_default_timezone_set('Europe/Paris');
setlocale(LC_TIME, 'french');
$j = strftime("%d"); // le jour de 01 à 31
$h = strftime("%m"); // le mois de 1 à 12
$h = strftime("%y"); // l'année en 2 chiffres
if ($j =="28")
{
$req = mysql_query("SELECT * FROM clients");
while ($cl = mysql_fetch_array($req))
{
$id = $cl['id'];
$nom = $cl['nom'];
$prenom = $cl['prenom'];
$email = $cl['email'];
$heb = $cl['heb'];
$mensu = $cl['mensualite'];
$solde = $cl['solde'];
$etat = $cl['etat'];
}
$req1 = mysql_query("UPDATE clients SET etat='1',solde='$mensu' WHERE id='$id'");
echo '<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">';
echo 'solde réactivé';
exit();
}
else
{
echo '<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">';
echo "en attente d'être réactivé";
exit();
}
?>
jee pee
Messages postés
40565
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 décembre 2024
9 459
Modifié par jee pee le 16/03/2013 à 14:43
Modifié par jee pee le 16/03/2013 à 14:43
Sur la syntaxe je ne vais pas t'être d'un grand secours car je ne connais pas php et pas mysql.
Mais ne faut-il pas une commande pour ouvrir, se connecter à la base.
Il faudrait aussi toujours gérer les codes retour après les ordres sql.
Et sur le fond pourquoi faire une commande select pour faire un update derrière ? Il serait plus simple de faire l'update direct : update clients SET etat='1', solde=mensualite
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Mais ne faut-il pas une commande pour ouvrir, se connecter à la base.
Il faudrait aussi toujours gérer les codes retour après les ordres sql.
Et sur le fond pourquoi faire une commande select pour faire un update derrière ? Il serait plus simple de faire l'update direct : update clients SET etat='1', solde=mensualite
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
prositef
Messages postés
25
Date d'inscription
jeudi 9 août 2012
Statut
Membre
Dernière intervention
3 juin 2013
16 mars 2013 à 14:52
16 mars 2013 à 14:52
Le code n'est pas complet, effectivement il y a avant un include("connect.php") pour aller chercher la connection et le SELECT sert à récupérer les infos et les ID des clients dont je dois modifier les champs.
Quand aux retours, ils se font via JQUERY.
Tout est OK sauf le fait que la mise à jour des mensualités ($mensu) ne se fait pas.
Quand aux retours, ils se font via JQUERY.
Tout est OK sauf le fait que la mise à jour des mensualités ($mensu) ne se fait pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jee pee
Messages postés
40565
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 décembre 2024
9 459
Modifié par jee pee le 16/03/2013 à 15:05
Modifié par jee pee le 16/03/2013 à 15:05
Et pourquoi l'update n'est pas dans la boucle mais à l'extérieur ?
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
prositef
Messages postés
25
Date d'inscription
jeudi 9 août 2012
Statut
Membre
Dernière intervention
3 juin 2013
16 mars 2013 à 15:09
16 mars 2013 à 15:09
Pour faire l'update, j'ai besoin des coordonnées des clients à mettre à jour donc ça nécessite le SELECT pour aller chercher les infos et ensuite le UPDATE pour les mettre à jour en temps réel.
Le refresh est assuré par une fonction en JQUERY qui se charge de cette tache toutes les secondes et m'affiche le résultat sur ma page d'administration.
Seul le update des "$mensu" ne se fait pas, le reste si !
Le refresh est assuré par une fonction en JQUERY qui se charge de cette tache toutes les secondes et m'affiche le résultat sur ma page d'administration.
Seul le update des "$mensu" ne se fait pas, le reste si !
jee pee
Messages postés
40565
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 décembre 2024
9 459
Modifié par jee pee le 16/03/2013 à 15:20
Modifié par jee pee le 16/03/2013 à 15:20
Comme je l'ai écrit plus haut je ne pratique ni php ni mysql mais ...
Pour moi, l'update devrait être à l'intérieur de la boucle while { ... } puisque c'est là que sont initialisées les variables pour traiter chaque enregistrement de la base ramené par le select.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Pour moi, l'update devrait être à l'intérieur de la boucle while { ... } puisque c'est là que sont initialisées les variables pour traiter chaque enregistrement de la base ramené par le select.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
prositef
Messages postés
25
Date d'inscription
jeudi 9 août 2012
Statut
Membre
Dernière intervention
3 juin 2013
16 mars 2013 à 15:25
16 mars 2013 à 15:25
C'est pas grave, je te remercie d'avoir pris de ton temps pour essayer des solutions merci encore, je vais continuer à chercher.