首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP与POST方法

PHP与POST方法
EN

Stack Overflow用户
提问于 2015-04-05 14:24:38
回答 1查看 83关注 0票数 0

我有两个文件basic.phppptimeline.php。这里的目的是从basic.php中的组合框中选择一个值,在pptimeline.php中处理它,然后在basic.php中打印它。但我做不到。如果有人能帮我的忙我很感激。

编辑:pptimeline.php文件充当json文件header('Content-Type: application/json');。它只有查询,然后我在文件中回显,但在这里不相关,因为如果在查询中使用默认值而不是$nprocess,一切都可以工作。显示我的数据的代码位于basic.php中的basic.php参数中。如果我移除它周围的东西,一切都很好,但是它会根据我的选择而改变。

Basic.php

代码语言:javascript
复制
<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

代码语言:javascript
复制
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."";
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-05 17:25:27

您的$.ajax()调用是不必要的。删除它,只需将选定的值添加到.timeline() data_source-

代码语言:javascript
复制
<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

代码语言:javascript
复制
if (isset ($_GET['value'])) {
    $nprocesso = $_GET['value']; //make sure to sanitize value to prevent SQL injection

    $query1 = "SELECT ... NPROCESSO =".$nprocesso."";
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29458294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档