{MySQL} Modifier valeur champs pour tous

2K09 -  
 2K09 -
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.
Configuration: Windows XP Pro
Firefox 3.5.3

15 réponses

  1. 2K09
     
    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
  2. CaPiT Messages postés 622 Statut Membre 51
     
    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
  3. 2K09
     
    Oui tout à fait CaPiT. Saurais-tu comment faire ?

    Merci.
    0
  4. CaPiT Messages postés 622 Statut Membre 51
     
    Le truc c'est que c'est exactement ce que fait ta requête plus haut^^
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 2K09
     
    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
  7. CaPiT Messages postés 622 Statut Membre 51
     
    Peux tu me détailler tous les champs de ta table ainsi que 2-3 lignes du contenu?
    0
  8. 2K09
     
    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
  9. CaPiT Messages postés 622 Statut Membre 51
     
    Essaie comme ceci :

    UPDATE membres_tbl
    SET Compte_Active = '1'
    WHERE Compte_Active = '0'
    0
  10. 2K09
     
    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
  11. CaPiT Messages postés 622 Statut Membre 51
     
    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
  12. 2K09
     
    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
  13. CaPiT Messages postés 622 Statut Membre 51
     
    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
  14. 2K09
     
    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
  15. CaPiT Messages postés 622 Statut Membre 51
     
    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
  16. 2K09
     
    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