Results 1 to 3 of 3

Thread: REGEX Pattern

  1. #1
    Join Date
    Jun 2009
    Posts
    33

    Unanswered: REGEX Pattern

    Hi, I've never done this(REGEX) using MYSQL before so bare with me

    I have the following simple query.
    Code:
     $query = "UPDATE #__jt_banners SET 
                    impressions = impressions + 1
                    WHERE id = '$id'";
    It tallies each visiting user as an impression, however i need to first compare his/her "user agent" against a database of known search engine bots, etc.

    In addition, I have a separate table which stores C class IP Addresses in the following format "72.14.199"

    Returning the IP address and User agent is simple enough through PHP.

    How can I then rewrite the query so that it first checks to make sure that these values don't match any within our database.

    structure:
    jos_jt_userAgents:
    int "id"
    text "user_agent"
    text "description"
    text "link"

    jos_jt_ip_addresses
    int "id"
    var_char(45) "search_engine"
    var_char(45) "ip_address"
    text "description"

    jos_jt_banners
    int "impressions"
    bllahblahablahlah

  2. #2
    Join Date
    Jun 2009
    Posts
    33
    ok, i tried the following. It doesn't seem to be incrementing the impressions column at all though. Am I at least on the right track?

    Code:
     $user_agent = $_SERVER['HTTP_USER_AGENT'];
    
    /*
            $query = "UPDATE #__jt_banners SET 
                    impressions = impressions + 1
                    WHERE id = '$id'";*/
            $query = "SELECT #__jt_banners.impressions
                             , #__jt_banners.id
                             , #__jt_userAgents.id AS uid
                             , #__jt_userAgents.user_agent
                        FROM #__jt_banners, #__jt_userAgents
                         UPDATE #__jt_banners SET
                            impressions = impressions + 1
                                WHERE (id = '$id' AND (user_agent LIKE '$user_agent' = NULL))";

  3. #3
    Join Date
    Jun 2009
    Posts
    33
    this one increments the impression column even after I add my browser's user agent to the table

    Code:
     $query = "UPDATE #__jt_banners, #__jt_userAgents SET
                            #__jt_banners.impressions = #__jt_banners.impressions + 1
                                WHERE (#__jt_banners.id = '$id' AND
                        (#__jt_userAgents.user_agent NOT LIKE '$user_agent'))";

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •