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 :

[SQL - HeidiSQL] Comparer deux tables


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut [SQL - HeidiSQL] Comparer deux tables
    Bonjour,

    j'ai besoin d'un petit coup de main pour comparer 2 tables.

    je me trouve dans une base nommée track, contenant 2 tables ' track ' et ' blist '.
    track = contient la liste des ip des visiteurs
    blist = contient la liste des ip bloqués


    je voudrais comparé les 2 tables pour surligné (dans un tableau déjà crée) la ligne ou se trouve une ip qui se trouverais dans ces tables.

    pour le moment j'en suis la (et vous vous doutez bien que ca ne marche pas), un petit test juste pour ecrire les ips communs (l'histoire du surlignage n'étant pas importante, ca j'adapterais )

    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
    18
    19
    20
    21
    22
    <?
     
     
    mysql_connect ( "" , "" , "" );
    mysql_select_db ( "track" );
     
    $toto = mysql_query ( " select track.key, blist.ip from track where track.key=blist.ip limit 0,10 " );
     
    /***********************************
    ' key ' etant le champ comprenant les ip dans track
    ' ip ' etant le champ comprenant les ip dans blist
    ***********************************/
     
    $momo = mysql_fetch_array ($toto);
     
    echo $momo;
     
    echo 'test sortie';
     
     
     
    ?>
    Si quelqu'un peut m'aider.

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par vixious Voir le message
    Si quelqu'un peut m'aider.
    pour faire quoi ? la requête ne te donne pas ce que tu veux ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut
    Beh non je viens de le dire ca marche pas, en tout cas si la requete est bonne, j'arrive pas a afficher un resultat lol

  4. #4
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    pour faire quoi ?
    Réponse

    Citation Envoyé par vixious Voir le message
    je voudrais comparé les 2 tables pour surligné (dans un tableau déjà crée) la ligne ou se trouve une ip qui se trouverais dans ces tables.

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par vixious Voir le message
    Personne qui puisse m'éclairer ?
    Bonjour, bien sur il existe un code pour cela, mais surtout il me parait curieux
    de mettre cela dans des tables séparées ?

    Tu vois l'avantage si dans la table contenant les IP tu avais rajouté juste une valeur "O" ou "N" derriére l'IP !!

    Par ailleur pour te répondre peux tu mettre ici avec les balises CODE
    les deux définitions de tes tables

    Merci

  6. #6
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut
    mais surtout il me parait curieux de mettre cela dans des tables séparées
    ce n'est pas moi qui ai fait les tables, je suis en stage j'exploite ce qu'on me donne ^^

    pour les définitions des tables, je sais pas comment on fait, ca fait pas longtemps que je tate le sql

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par vixious Voir le message
    ce n'est pas moi qui ai fait les tables, je suis en stage j'exploite ce qu'on me donne ^^

    pour les définitions des tables, je sais pas comment on fait, ca fait pas longtemps que je tate le sql
    Simplement quand tu écris dans ta table tu as bien des noms de variables
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    DROP TABLE IF EXISTS `pages`;
    CREATE TABLE IF NOT EXISTS `pages` (
      `IndexArticle` smallint(5) unsigned NOT NULL auto_increment,
      `LeNomPage` varchar(80) NOT NULL default '',
      `LeTitrePag` varchar(80) NOT NULL default '',
      `Letextew` longtext NOT NULL,
      `Article` varchar(80) NOT NULL default '',
      PRIMARY KEY  (`IndexArticle`),
      UNIQUE KEY `LeNomPage` (`LeNomPage`)
    ) TYPE=MyISAM;

  8. #8
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut
    ha je crois que je vois c'que tu veux dire
    si c'est bien ca :

    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
    18
    19
    20
    21
     
    // table blist
    ip      char(15)        not null
    date_bloq     date      not null
    comm     varchar(255)     null
     
     
    //table track
    key     varchar(100)     not null
    type     char(4)     not null
    date     date     not null
    keybis     varchar(100)     null
    FENQUI     int(10) unsigned     null
    FENQUIC     "        "            "
    FREQST      "        "            "
    FREQST      "        "            "
    FREQSTB     "        "            "
    FBOOKG      "        "            "
    stamp     bigint(20)     not null
    tmoy     float unsigned     null
    IMG     int(10) unsigned     null

    c'est ca que tu dis ?

  9. #9
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut
    j'ai finalement trouvé grace a cette requete sous Heidi-SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select ip from blist where ip=#ip prise au hasard#
    je l'ai testé de la maniere suivante en php

    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
    18
    19
     
    <?
    // on prend tout dans la table track, dans le cas ou le type est un IP
    $reponse = mysql_query( " select * from track
    					where type='IP' and date='$date'
    					order by FENQUI desc
    					limit 0,50 " );
     
    $donnees = mysql_fetch_array($reponse);
     
    // code dont je me sert pour afficher un tableau recapitulatif des requetes emises par les visiteurs
     
    // associé donc a ce qui suit
     
    $toto = mysql_query ( " select ip from blist where ip='".$donnees[ 'key' ]."' " );
    $tata = mysql_fetch_array ($toto);
    echo $tata['ip'];
     
    ?>
    me renvoi bien une ip si celle ci se trouve dans la blist


    Merci quand meme FoxLeRenard d'avoir pris du temps pour vouloir m'aider

  10. #10
    FoxLeRenard
    Invité(e)
    Par défaut
    Si un passant réponds SUPER !!
    pour ma part je vais analyser ça tranquilement et je reviens

    HELP ....... je craque car je ne vois pas ou est l'IP ......... HELP

    dans table blist c 'est la variable ip char(15) not null
    dans table track c' est QUOI l' IP ??

  11. #11
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonsoir,
    finalement je t'ais écrit cela avec ce que j'ais,
    la syntaxe est rigoureuse, a toi de le réadapter
    au mieux a ton cas.
    mon exemple
    affiche toutes les IP mais mets en gras les IP non valides

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?PHP
    //====1 On se connecte aux base de donnees
    $Flag1=mysql_connect($Serveur,$User,$Mdp);
    $Flag2=mysql_select_db($MaBase);
     
    //====2 on parcours toute la table track
    $IPorigine="";
    $result=mysql_query( "select * from track
           where type='IP' and date='$date'
         order by FENQUI desc ");
     
          while ($row=mysql_fetch_array($result))
             {
              $Gras="N";
              $IPorigine= stripslashes($row['key']);
     
              //====== l IPorigine est elle interdite=========     
             $ip="";
             $result=mysql_query( "select * from blist
             WHERE  ip = '$IPorigine'  ");
              while ($row=mysql_fetch_array($result)) 
               {            $ip= stripslashes($row['ip']);   }
             if ($ip==$IPorigine)  {$Gras="O";}
             //============== fin controle
             if($Gras=="O") echo ("<b>".$IPorigine."</b><br />");
             if($Gras=="N") echo ("".$IPorigine."<br />");
     
             }
         mysql_close();
    ?>
    Voila dis moi ce que ça donne !!

Discussions similaires

  1. Comparer deux tables
    Par wachoo31 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 02/10/2007, 19h55
  2. comparer deux tables
    Par khayate dans le forum VB.NET
    Réponses: 1
    Dernier message: 30/07/2007, 17h21
  3. [SQL] requete sur deux tables
    Par yaka2 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/11/2006, 17h06
  4. comparer deux tables
    Par moicats dans le forum Access
    Réponses: 4
    Dernier message: 15/05/2006, 16h27
  5. SQL Query sur deux tables différentes.
    Par kabal22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/12/2005, 17h52

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