2016-03-29 2 views
0

Я на WordPress и я хотел бы, чтобы обновить таблицу с именем wppl_friends_locator и более точно поля лат и долго из вошедшего в систему пользователяКак обновить базу данных при загрузке страницы?

Каждый раз, вошедшего посетите веб-сайт, он на самом деле захватить его координаты:

$latitude = (!empty($_COOKIE['gmw_lat'])) ? urldecode($_COOKIE['gmw_lat']) : false; 
$longitude = (!empty($_COOKIE['gmw_lng'])) ? urldecode($_COOKIE['gmw_lng']) : false; 

Теперь я хотел бы, что на некоторых страницах, база данных обновляется с помощью этих значений, когда пользователь загружает эти страницы ...

Что делать? Я очень новичок в PHP, я пытаюсь понять, я знаю, что я не на платформе, чтобы спросить и дать код, но мне нужны дни, чтобы понять такие вещи, поэтому немного помогло бы ВЕЛИКОЕ оценили!

Спасибо!

ответ

1

положить это в ваших темах functions.php

function update_coordinate($latitude, $longitude){ 
    global $current_user; 
    global $wpdb; 
    $update_result = false; 

    if (is_user_logged_in()) { 
     $update_arr = array(
      'latitude' => $latitude, 
      'longitude' => $longitude 
     ); 

     $update_result = $wpdb->update('wppl_friends_locator', $update_arr, array('user_id' => $current_user->ID)); 
    } 

    return $update_result; 
} 

затем вызвать функцию «update_coordinate» (широты и долготы) параметров в файле шаблона. Вы можете вызвать его после «get_footer()».

Вот пример (я не могу опубликовать комментарий, поэтому я просто добавлю его здесь). Вы также можете поместить его в footer.php вашей темы после того, как «wp_footer()»

$latitude = (!empty($_COOKIE['gmw_lat'])) ? urldecode($_COOKIE['gmw_lat']) : false; 
$longitude = (!empty($_COOKIE['gmw_lng'])) ? urldecode($_COOKIE['gmw_lng']) : false; 

update_coordinate($latitude, $longitude); 

UPDATE: Вставить, если текущий пользователь не имеет ряд на столе

function update_coordinate($latitude, $longitude){ 
    global $current_user; 
    global $wpdb; 
    $query_result = false; 

    if (is_user_logged_in()) { 
     # check if user has record 
     $row_count = $wpdb->get_var($wpdb->prepare( 
      "SELECT count(member_id) FROM wppl_friends_locator WHERE member_id = %d", $current_user->ID)); 

     if ($row_count > 0) { 
      $update_arr = array(
       'lat' => $latitude, 
       'long' => $longitude 
      ); 
      $query_result = $wpdb->update('wppl_friends_locator', $update_arr, array('member_id' => $current_user->ID)); 

     }else{ 
      $insert_arr = array(
       'member_id' => $current_user->ID, 
       'lat' => $latitude, 
       'long' => $longitude 
      ); 
      $query_result = $wpdb->insert('wppl_friends_locator', $insert_arr); 

     } 
    } 

    return $query_result; 
} 
+0

Здравствуйте, спасибо вам много для этого быстрого ответа! Я хотел бы попробовать, но я не уверен, что написать, насколько вызов функции ... Немного больше поможет? : p СПАСИБО СНОВА! – FrenchyNYC

+0

Может быть, так? FrenchyNYC

+0

Вам нужно добавить параметры, я добавил образец в свой ответ litopj

Смежные вопросы