Я создаю сайт, содержащий страницу, которая будет содержать много кнопок. Я хочу, чтобы нажимать на кнопку, чтобы заполнить 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']
Немногие вещи...
Чтобы убедиться, что вы отправляете правильную информацию на PHP, вы должны попробовать что-то вроде $.post (имя файла, JSON.stringify({'search_term': key}));
На стороне PHP вы можете использовать unserialize() для декодирования данных JSON, а затем обработать ваш запрос.
Просто небольшая личная записка и совет: если JSON плохо сформирован на стороне POST, PHP ничего не получит, и он ничего не вернет. Вы всегда должны пытаться регистрировать или отображать данные, полученные PHP при написании вызовов AJAX, чтобы гарантировать, что они были получены правильно. В противном случае вы можете преследовать ошибку в неправильном месте. ;)
`
противном случае вы получите синтаксическую ошибку.