PDO :: FETCH_ASSOC в Jquery - PullRequest
       1

PDO :: FETCH_ASSOC в Jquery

0 голосов
/ 09 февраля 2012

Мне нужно извлечь данные из ассоциативного массива (PDO :: FETCH_ASSOC) и поместить его в 3 пустых текстовых поля ниже.Может кто-нибудь помочь мне с кодом.Заранее спасибо.

Попробовал пример ниже, не повезло:

$("#input-full-name").val(sport.values.full_name);
$("#input-short-name").val(sport.values.short_name);
$("#input-abb-name").val(sport.values.abbreviation);

1 Ответ

0 голосов
/ 09 февраля 2012

Похоже, вы путаете действия на стороне сервера и на стороне клиента. PDO работает на стороне сервера и связывается с сервером базы данных. JavaScript (в данном случае jQuery) работает на стороне клиента и работает на DOM. AJAX является своего рода связью между этими двумя.

Поэтому, если вы хотите заполнить поля ввода некоторыми значениями из базы данных, вы можете сделать это на стороне сервера:*

<?php
//run query, fetch array and store it in $sport
?>

<input type="text" name="full_name" value="<?php echo $sport['full-name']; ?>" />
<input type="text" name="short_name" value="<?php echo $sport['short-name']; ?>" />
<input type="text" name="abbreviation" value="<?php echo $sport['abb-name']; ?>" />

Или вы можете сделать это на стороне клиента (например, если пользователь щелкает ссылку / кнопку / что угодно):

<?php
//this is the script you make an AJAX-request to, e.g. get_data.php

//run query, fetch array and store it in $sport

echo json_encode($sport); //echo the array in JSON-format

Это страница, предоставляемая пользователю:

...
  <input type="text" name="full_name" id="input-full-name" value="" />
  <input type="text" name="short_name" id="input-short-name" value="" />
  <input type="text" name="abbreviation" id="input-abb-name" value="" />
...
<button id="populate_btn">Populate Data</button>

<scrip>
  $('#populate_btn').click(functiion(){
    $.post('get_data.php', {}, function(sport) {
       //sport now contains the json-array
       $.each(sport, function(key, value) {
         $('#input-'+key).val(value);
       });
    });
  });
</script>

Это очень простой пример, но я надеюсь, что вы поняли идею.Также обратите внимание, что данный пример AJAX работает, только если ключи массива совпадают с id -атрибутами полей ввода в некотором роде, например: $sport['full-name'] and <input id="input-full-name" />.Это значительно облегчает работу с ним.

...