我只是对html-php-jquery-ajax组合的基本知识,但我在VB很长一段时间。我可以用VB术语来描述我正在尝试做的事情,但我需要在已经使用jQuery,ajax和php接口的html / php页面中进行操作。
我正在查询数据库并返回id&描述。我想动态构建一个代表返回数据的控件数组。
此函数从按钮onclick事件...
调用db读取 <script type="text/javascript">
function loadio(){
var request = $.ajax({
url: "/db/loadio.php", type: "POST", datatype: "html"
}); //request
request.done(function(result) {
$('#status').html("Result: " + result );
}); //request.done
request.fail(function(jqXHR, textStatus) {
$('#status').html("Request failed: " + textStatus + " " + jqXHR.status );
}); //request.fail
}; //loadio
</script>
它调用并返回此php文件中的数据......
<?php
$con = new mysqli('localhost', 'user', 'password', 'dbtable');
$stmt = $con->prepare('select id, description from iotable where iotype = 1');
$stmt->execute();
$stmt->bind_result($id, $description);
while ($stmt->fetch()){
echo $id, $description, "<br/>";
}
$stmt->close();
$con->close();
?>
所以我想做的是以下内容: 构建一个表示返回的$ description的标签数组 构建相应的按钮数组,以某种方式分配#id,以便在单击时可以使用#id作为可以传递给公共函数的变量 (例如警报(“按钮”+ #id +“被点击”);)。
如果我必须在.NET中执行此操作,我将创建一个包含控件和事件的类,并根据需要创建类的新实例,并在该实例中存储所有必需的变量。
所以这是我的问题: 我应该如何使用html,php,jQuery,ajax? 我可以创建动态控制数组吗? 我是否需要考虑采用完全不同的方法?
提前致谢。
答案 0 :(得分:0)
你要做的是用php填充数组,然后以JSON格式发送回来:
<?php
header('Content-type: application/json'); //we tell the browser that we are going to send json
$con = new mysqli('localhost', 'user', 'password', 'dbtable');
$stmt = $con->prepare('select id, description from iotable where iotype = 1');
$stmt->execute();
$stmt->bind_result($id, $description);
$results = array(); //array declaration
while ($stmt->fetch()){
$results[$id] = $description; //associative array : key = id, value = description
}
$stmt->close();
$con->close();
echo json_encode($results); //we send (ie print) json-encoded array $results
exit(); //not mandatory, just to precise that the script has to stop here
?>
然后你将在javascript中接收json数组,你可以解码它并在其上循环,例如:
request.done(function(result) {
var results = $.parseJSON(result);
$.each(results, function(){
//create here your buttons
});
});