Отображение содержимого базы данных PHP внутри div

0

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

Я адаптировал некоторый код, который я ранее имел, но он не работает.

Исходный javascript и HTML показаны здесь:

<script>
function showBiog(key) {
//alert(key);

      // Get the search value
        var search_value = key

        // This time we're going to grab data from a file to display
        var filename = "functions/biography.php";

        // Send these values
        var posting = $.post(filename, { search_term: search_value });

        // Display this value in our results container
        posting.done(function (data) {
          $("#test_results").empty().append(data);
        });

}

</script>

<style type="text/css">
.test {
    background-color: #B32D2F;
    border: thin solid #DBB2B3;
    height: 50px;
    width: 250px;
}
.testresults {
    background-color: #88B32D;
    border: thin solid #DBB2B3;
    height: 50px;
    width: 250px;
}
</style>
</head>

<body>
<div class="test" onClick="showBiog(1)"><p>1</p></div>
<div class="test" onClick="showBiog(2)"><p>2</p></div>
<div class="test" onClick="showBiog(3)"><p>3</p></div>
<div class="test" onClick="showBiog(4)"><p>4</p></div>
Results
<div class="testresults" id="test_results"></div>

HTML biography.php - это

<body>

<?php if (! $_POST["search_term"]) { ?>
  <div class="err">
      <?php echo $row_Recordset1['firstname']; ?>
  </div>

<?php } else { ?>

<?php echo $row_results['firstname']; }?>

</body>

SQL для результатов в Dreamweaver

SELECT *
FROM pilots
WHERE key LIKE colname  

with colname $_POST['search_term']
  • 0
    Sidenote: «ключ» - это зарезервированное ключевое слово MySQL, которое требует особого внимания dev.mysql.com/doc/refman/5.5/en/reserved-words.html - Если вы хотите использовать вместо него «ключи», то и это так. Под «особым вниманием» я подразумеваю заключить имя этого столбца в тики ` противном случае вы получите синтаксическую ошибку.
  • 0
    Пожалуйста, покажите нам, как вы выполняете запрос, потому что именно там что-то идет не так.
Показать ещё 7 комментариев
Теги:

1 ответ

0

Немногие вещи...

  1. Вам может не понадобиться " var search_value = key ", если вы не вносите никаких изменений или дополнений в него. Просто используйте "ключ" в $.post (сохраните код просто).
  2. Что ожидается в " ключевом "? В зависимости от того, что вы отправляете, оператор var posting = $.post (имя файла, {search_term: search_value}); может нарушиться из-за требований структуры JSON.

Чтобы убедиться, что вы отправляете правильную информацию на PHP, вы должны попробовать что-то вроде $.post (имя файла, JSON.stringify({'search_term': key}));

На стороне PHP вы можете использовать unserialize() для декодирования данных JSON, а затем обработать ваш запрос.

Просто небольшая личная записка и совет: если JSON плохо сформирован на стороне POST, PHP ничего не получит, и он ничего не вернет. Вы всегда должны пытаться регистрировать или отображать данные, полученные PHP при написании вызовов AJAX, чтобы гарантировать, что они были получены правильно. В противном случае вы можете преследовать ошибку в неправильном месте. ;)

  • 0
    Спасибо Хулио, не совсем сломал его, но дал мне пищу для размышлений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню