我有两个文件basic.php和pptimeline.php。这里的目的是从basic.php中的组合框中选择一个值,在pptimeline.php中处理它,然后在basic.php中打印它。但我做不到。如果有人能帮我的忙我很感激。
编辑:pptimeline.php文件充当json文件header('Content-Type: application/json');。它只有查询,然后我在文件中回显,但在这里不相关,因为如果在查询中使用默认值而不是$nprocess,一切都可以工作。显示我的数据的代码位于basic.php中的basic.php参数中。如果我移除它周围的东西,一切都很好,但是它会根据我的选择而改变。
Basic.php
<label for="Process"> NProcess : </label>
<select id="cproc">
<?php
foreach ($products as $res3)
{echo "<option value='".$res3["PROCESSO"]."'>".$res3["PROCESSO"]."</option>";}
?>
</select>
<script type='text/javascript'>
$("#cproc").on("change", function(){
var v1 = $(this).val();
$.ajax({
url: "pptimeline.php",
type: "POST",
data: {'value' : v1},
success: function(response){
/**DISPLAY DATA IN INTERFACE**/
var tg1 = {};
$(function () {
// jQuery widget implementation
// with some basic options
tg1 = $("#placement").timeline({
"min_zoom":1,
"max_zoom":55,
"image_lane_height":100,
"icon_folder":"timeglider/icons/",
"data_source":"pptimeline.php",
"constrain_to_data": false
});
tg_actor = tg1.data("timeline");
// You'll use tg_actor as the key to access
// public API methods like "goTo", etc.
}); // end document-ready
/****/
}, error: function(x,y,z){
alert("error"); } }); });
</script>pptimeline.php
if (isset ($_POST['value'])) {
$nprocesso = $_POST['value'];
$query1 = "SELECT TO_CHAR(DATACRIACAO,'YYYY-MM-DD') AS DATACRIACAO, NPROCESSO,
BLOCOOPERATORIO, TIPOINTERNAMENTO, TIPOINTERNAMENTOCIRURGIA, GLASGOW_HOSPITAL
FROM PATIENT_TIMELINE_ADMISSAO WHERE NPROCESSO =".$nprocesso."";
}发布于 2015-04-05 17:25:27
您的$.ajax()调用是不必要的。删除它,只需将选定的值添加到.timeline() data_source-
<script type='text/javascript'>
$("#cproc").on("change", function(){
var v1 = $(this).val();
var tg1 = {};
$(function () {
// jQuery widget implementation
// with some basic options
tg1 = $("#placement").timeline({
"min_zoom":1,
"max_zoom":55,
"image_lane_height":100,
"icon_folder":"timeglider/icons/",
"data_source":"pptimeline.php?value="+v1, //add select value to url
"constrain_to_data": false
});
tg_actor = tg1.data("timeline");
// You'll use tg_actor as the key to access
// public API methods like "goTo", etc.
}); // end document-ready
});
</script>然后将php代码从$_POST更改为$_GET。
if (isset ($_GET['value'])) {
$nprocesso = $_GET['value']; //make sure to sanitize value to prevent SQL injection
$query1 = "SELECT ... NPROCESSO =".$nprocesso."";
}https://stackoverflow.com/questions/29458294
复制相似问题