2014-08-30 6 views
0

В моей базе данных У меня есть таблица Person (id, name, last_name, phone_number). Я делаю что-то вроде этого:JavaScript retrieve data from DB

$queryPerson = mysqli_query($con, 'SELECT * FROM Person'); 
while ($person = mysqli_fetch_array($queryPerson)) { 
       echo '<option value="'.$person["id"].'">'.$person["name"].' '.$person["last_name"].'</option>'; 
} 

Я хочу использовать Javascipt функцию, чтобы скопировать выбранное значение из избранных в текстовые поля:

function copyPerson(data) { 
    document.getElementById["name"].value = data.value; 
} 

... но вместо того, чтобы их идентификатору Я хочу, чтобы их имена и последний имена и номера телефонов, которые будут отображаться в текстовых окнах. Теперь я придумал эту идею, чтобы прочитать значение из опции, отправить запрос в DB SELECT * FROM Person WHERE id = ID_FROM_SELECT, а затем получить данные, которые я хочу получить. Хотя я не уверен, что это хорошая идея.

In before: yes, Мне нужно иметь $person["id"] в качестве значения опции.

Мой вопрос: отправка запроса в БД - хорошая идея - если да, то как я могу отправить значение из javascript в MySQL, если нет - что является лучшим решением?


EDIT: Кроме @Thanos Tourikas ответа, я нашел эту ссылку, чтобы быть полезным: http://www.w3schools.com/php/php_ajax_database.asp

+0

Ваш вопрос непонятен и ** mysql_query ($ sql, $ con) ** – M98

+0

вопросы - исправлено, мой синтаксис 'mysqli_query' верен – whiteestee

+0

oh that mysqli. – M98

ответ

2

Вообще-то это не очень хорошая идея, чтобы отправить запрос.

Решение состоит в том, чтобы отправить идентификатор с помощью ajax и иметь страницу php, обрабатывающую этот запрос.

На этой странице php вам просто нужно получить идентификатор, который отправляется в качестве параметра для запроса, и построить там запрос db. Затем просто выделите результат как объект json и обработайте этот ответ с помощью JavaScript.

Во-первых, использовать JQuery, чтобы сделать запрос на сервер отправки человека ID:

$.ajax({ 
    url: 'url_that_handles_request.php', 
    data: { id: person_id }, 
    dataType: 'json', 
    success: function(response){ 
     // here you handle the response from server. 
     // you can access the data returned doing something like: 
     var id = response.id; 
     var name = response.name; 
    } 
}); 

И потом, вы должны предоставить страницу PHP для обработки Ajax вызова:

$person_id = $_POST["person_id"]; 
// here you make the query to the database using the person id 
// and then just echo the db response as a json object 
echo json_encode($db_response); 

Вот некоторые полезные ссылки

Быстрый учебник по jQuery и как его установить: http://www.w3schools.com/jquery/default.asp

Быстрый учебник для JQuery AJAX: http://www.w3schools.com/jquery/jquery_ajax_intro.asp

Некоторые ссылки в Ajax методы, которые JQuery обеспечивает: http://www.w3schools.com/jquery/jquery_ref_ajax.asp

Учебник о JSON: http://www.w3schools.com/json/

И, наконец, документация о json_encode php: http://php.net/manual/en/function.json-encode.php

+0

. Я никогда не использовал jSon и Ajax, поэтому я не совсем уверен, что делать.Можете ли вы дать мне полезные ссылки, потому что я честно не знаю, как это сделать. – whiteestee

+0

Я отредактировал свой ответ, чтобы дать вам несколько примеров и ссылок. –

+0

Хорошо, спасибо большое за вашу помощь! – whiteestee