{MySQL} Modifier valeur champs pour tous

Fermé
2K09 - 29 sept. 2009 à 23:44
 2K09 - 30 sept. 2009 à 21:34
Bonjour ou bonsoir, voilà, j'avais créé un champs il y a quelques temps maintenant maintenant.

Suite à une refonte du site et de quelques scripts, la valeur par défaut de ce champs n'est plus bonne.
Comment puis-je faire pour modifier à tous les membres en même temps (car oui il y en a plusieurs centaines, je ne peut les modifier une par une), comment faire pour changer la valeur de ce champs pour tous les membres en même temps ?

Merci à vous, excellente journée.
A voir également:

15 réponses

Rebonsoir, alors j'ai essayé de faire:

UPDATE membres_tbl
SET Compte_Active = 1
WHERE Compte_Active = 0

Mais sa ne fonctionne pas.

Même en faisant l'inverse, ce qui est étrange, sa me met (nombre de membres) requêtes efféctuées. Mais quand je regarde les valeurs des champs et bien non, elles sont toujours à la même valeur qu'avant.

Quelqu'un aurait une solution s'il vous plaît ?

Merci.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 09:02
Bonjour,

Le but de ta requête est bien de passer tous les Compte_Active qui sont à 0, de ta table membres_tbl, à 1?
0
Oui tout à fait CaPiT. Saurais-tu comment faire ?

Merci.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 13:42
Le truc c'est que c'est exactement ce que fait ta requête plus haut^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Et bien oui c'est ce à quoi j'avais pensé, et j'ai testé mais sa ne fonctionne pas, les valeurs ne sont pas mises à 1 et restent à 0.

Comment est-ce possible ?
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 13:50
Peux tu me détailler tous les champs de ta table ainsi que 2-3 lignes du contenu?
0
Alors voici des champs dans ma table membres:
  `Date_Inscription` int(10) NOT NULL default '0',
  `Compte_Active` enum('0','1') NOT NULL default '0',
  `Clef_Activation` varchar(8) NOT NULL,


Je ne comprends pas pourquoi lorsque j'envoie la requête SQL, les valeurs restent à 0.
Existerait-il un autre moyen pour attribuer la valeur 1 ?

Merci encore.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 14:01
Essaie comme ceci :

UPDATE membres_tbl
SET Compte_Active = '1'
WHERE Compte_Active = '0'
0
WOA, sa fonctionne, mille merci à toi.

Je te remercie beaucoup CaPiT de ta précieuse aide, de plus si rapide.

Vraiment merci bien à toi, je te souhaite de passer une excellente journée, voilà un problème de résolu dans mon code.

A bientôt.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 14:14
En fait j'ai compris ton erreur quand j'ai vu que le type de Compte_Active était enum('0','1') et non un simple int.

Bonne continuation à toi et bonne journée également.
(Tu peux mettre ton 1er post en résolu).
0
A oui, merci, je ne savais pas qu'il y avait une différence dans le code SQL si c'était en INT ou enum.

Mais merci encore.

Sinon j'ai un autre problème, et oui encore (^^), j'essaye de simplement afficher le pseudo du membre lorsqu'il est connecté.
Cependant, lors de sa connexion par la page connect.php, voici comment est reconnu le membre:
// Création des cookies
                                   setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
                                   setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
                                   // Fermeture de la connexion à la base de données
                                   mysql_close();
                                   
                                   // Redirection de l'utilisateur
                                   header("Location: index.php");

ils sont donc reconnus par système de cookie. Je pense que pour ce que je veut faire il faut utiliser les sessions, mais alors comment puis-je faire ? Il n'est pas possible d'utiliser les cookies ?

Merci encore.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 15:21
J'avoue les COOKIES dans ce cas sont inutiles.

Les sessions suffisent et sont bien plus simples à utiliser.

Mais j'ai pas compris ce que tu voulais faire précisément dans cette page.
0
Oui, c'est vrai, j'ai pas été très clair, alors en fait, j'ai une page:
index.php
connect.php

je voudrais que quand l'utilisateur se connecte avec ses identifiants sur connect.php, lorsqu'il est redirigé sur index.php sa affiche sont pseudo (genre: Bonjour 'pseudo') et que si à son arrivé il n'est pas encore connecté, il y ai un script (voilà pourquoi je pensais aussi aux sessions) qui voient que
if(!isset($_SESSION['Nom_Utilisateur'])

qu'il n'est donc pas connecté, que sa affiche alors un autre message (par exemple: Bonjour visiteur, pensez à vous enregistrer).

Je me suis emmêlé les pinceaux avec des cookies etc..., et je ne vois maintenant plus comment faire.

Merci bien, encore de ton assistance.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
30 sept. 2009 à 16:15
Tout d'abord il faut mettre dans toutes tes pages qui utilisent des sessions :
<?php session_start(); ?>

Dans ta page connect.php :
Pour que l'utilisateur entre ces données :

<form action="/connect.php" method="post">
   <input type="text" name="nom">nom</input>
   <input type="text" name="mdp">nom</input>
   <input type="sumbit" >valider</input>
</form>


Pour vérifier si les données sont dans la base :
<?php

if(isset($_POST["nom"] && $_POST["mdp"])){

... Requete qui vérifie si les données sont bonnes dans la bdd ...

    if( Tout Est Ok){
       $_SESSION['nom'] = $_POST["nom"]  ;
       $_SESSION['mdp'] = $_POST["mdp"] ;
       echo "vous avez réussi a vous loguer";
    }else{
        echo "Erreur dans le login ou mdp";
    }
}
?>


Du coup dans tes autres pages tu peut mettre :
if(isset( $_SESSION['nom'] && $_SESSION['mdp'])){
 echo "Bonjour ". $_SESSION['nom'] ." ". $_SESSION['mdp'];
}
0
Désolé, je n'ai pu répondre avant, mais en tout cas sa marche.

Merci beaucoup, encore une fois tu m'as beaucoup aidé, problème résolu.

Excellente journée à toi.
0