IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Update inopérant


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 482
    Points : 193
    Points
    193
    Par défaut Update inopérant
    Bonsoir,

    Je cherche à incrémenter le champ hits avec le code suivant mais, si "une seule ligne" apparaît bien, l'incrémentation ne fonctionne pas et je ne vois pas mon erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $result = mysql_query("SELECT CODE FROM `HitsParPaysNew` WHERE `IP_FROM` <= $ip AND `IP_TO` >= $ip");
    $rows = mysql_num_rows($result);
    if ($rows == 1){
    	echo "une seule ligne";
    	$hits=$rows['hits'] +1;
    	$req = mysql_query("UPDATE `HitsParPaysNew` SET hits='".$hits."' WHERE `IP_FROM` <= $ip AND `IP_TO` >= $ip");
    }
    Aurais-je du brouillard devant mes yeux ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Salut,

    Tu n'as pas sélectionné de colonne "hits" dans ton select mais la colonne Code, peut-être tu devrais remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hits=$rows['hits'] +1;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hits=$rows['CODE'] +1;

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    Avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rows = mysql_num_rows($result);
    $rows sera vraisemblablement un entier contenant le nombre de ligne

    Ensuite dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hits=$rows['hits'] +1;
    Tu t'attends à ce que ce soit un array associatif disposant d'un index 'hits'.

  4. #4
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 482
    Points : 193
    Points
    193
    Par défaut
    Bonsoir,

    Merci à Bochudlo et Yellu mais ... cela ne fonctionne pas.
    Une autre idée ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Bonsoir
    Si j'ai bien compris tu veux juste rajouter 1 à la colonne hits tu peux mettre à jour direct ta colonne en rajoutant +1 et vérifier que ta requête est bien exécutée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $result = mysql_query("SELECT CODE FROM `HitsParPaysNew` WHERE `IP_FROM` <= $ip AND `IP_TO` >= $ip");
    $rows = mysql_num_rows($result);
    if ($rows == 1){
    	echo "une seule ligne";
    	$req = mysql_query("UPDATE `HitsParPaysNew` SET hits=hits+1 WHERE `IP_FROM` <= $ip AND `IP_TO` >= $ip");
           if (!$req ) {
            $message = 'Requête invalide : ' . mysql_error() . "\n";
            $message .= 'Requête complète : ' . $req ;
            die($message);
           }
    }

  6. #6
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 482
    Points : 193
    Points
    193
    Par défaut
    C'est cela même, Bochudlo, tu as tout compris et cela fonctionne, merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête update à partir d'une autre table
    Par amiral thrawn dans le forum Langage SQL
    Réponses: 5
    Dernier message: 15/02/2024, 11h40
  2. Pb d'update dans une DataGrid
    Par bidson dans le forum XMLRAD
    Réponses: 11
    Dernier message: 27/05/2003, 14h11
  3. [dBase]il y a mieux que la commande sql UPDATE ?
    Par sana72 dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/12/2002, 11h59
  4. Réponses: 3
    Dernier message: 10/11/2002, 11h03
  5. update et virgule
    Par Delph dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/08/2002, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo