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 :

Introduire une variable dans requête SQL, insérer des données à la volée


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut Introduire une variable dans requête SQL, insérer des données à la volée
    Bonjour a tous !

    J'ai quelques soucis en php :

    J'ai créer un code qui détecte le passage des robots sur un site, j'ai donc un table bots avec tout les bots qui ont crawlés le site ainsi que des tables :

    - google_ip
    - yahoo_ip
    - msn_ip

    Qui contiennent les debuts d'ip des robots ( moitié de l'ip), car beaucoup d'ip de robots on un début commun.

    J'ai aussi créer une petite interface admin pour pouvoir ajouter/supprimer des ip.

    Dans mon code "ajouter_ip.php" j'ai ce code :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
      $requete = "insert into XXXX_ip values('$ip_robot')";
      mysql_query($requete) or die(mysql_error());
      echo "OK !";

    J'aimerai bien remplacer les XXXX par la variable robot , definie plus tot dans le code !
    Comment faire ?

    Une autre petite question j'ai une liste d'ip dans un fichier texte, comment pouvoir "parser" ces ip de façon a garder les deux premier groupement de chiffres (moitié de l'ip) , puis les insérer dans une base MySql de façon automatique ?

    Dernière question , avez vous un code simple pour vérifier les doublons d'une base, pas forcement lors d'un nouvel enregistrement !

    Merci , Ronan

    PS: Si ce n'est pas clair , n'hésitez pas a me demander d'autres explications

  2. #2
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut
    XXXX_ip
    Tu veux en fait créer une nouvelle table pour chaque robot ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut
    En fait la page ajouter_ip , est faite pour ajouter un ip dans la table mais il existe un table par robot !

    Donc il faut introduire une variable dans la selection de la table

    Ex :

    SI google :
    $requete = "insert into google_ip values('$ip_robot')";

    SI yahoo :
    $requete = "insert into yahoo_ip values('$ip_robot')";

    SI msn :
    $requete = "insert into msn_ip values('$ip_robot')";

    Il faudrait pouvoir faire ca :

    $requete = "insert into $robot_ip values('$ip_robot')";


    Mais cela ne fontionne pas !

  4. #4
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut
    C'est normal ! La table n'est pas encore créer pour "robot".

    Il faut en premier que tu regarde si une table existe pour le robot.
    - si elle existe, tu insere l'ip, etc...
    - sinon tu doit créer la table : http://dev.mysql.com/doc/refman/5.0/...ate-table.html

  5. #5
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    
    $requete = "insert into '$table_tobot' values('$ip_robot')";
    ?
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $ip_robot = $_GET['ip'];
    //
    if($robot == "google")
    {
    $table = "google_ip";
    }
    if($robot == "yahoo")
    {
    $table = "yahoo_ip";
    }
    if($robot == "msn")
    {
    $table = "msn_ip";
    }
    $requete = "insert into $table values('$ip_robot')";
    mysql_query($requete) or die(mysql_error());
    echo "OK !";
    Ca marche merci , reste juste pour la liste d'ip

Discussions similaires

  1. [AC-2003] Ajout d'une variable dans requête Sql
    Par Plume27 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/09/2012, 22h50
  2. [AC-2007] Comment introduire une variable dans SQL INSERT
    Par JPJOLY dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/11/2011, 17h54
  3. Inclure une variable dans requête SQL
    Par Mvu dans le forum Visual Studio
    Réponses: 2
    Dernier message: 04/07/2008, 09h13
  4. [SQL] Insérer des données dans une table
    Par wonga dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 01/08/2007, 12h00
  5. une variable dans du SQL ??
    Par Black Pearl dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/06/2005, 12h55

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