【问题标题】:HTML form select to drive PHP/SQLSRV resultsHTML 表单选择以驱动 PHP/SQLSRV 结果
【发布时间】:2020-10-28 18:52:59
【问题描述】:

我正在制作一个非常基本的网页以方便数据输入。我让它使用 PHP 与 SQL Server 对话以输入和显示数据。在最简单的层面上,他们将从下拉列表中选择一家商店并输入一些数据,然后点击提交。

当从表单选择输入中选择他们的商店时,我正在尝试动态显示过去 7 天的数据。如何获取 Select 值来驱动 SQL 查询?我发现了如何使用 onchange 来触发一个 javascript 函数,我可以提醒这个值。然后我真的需要使用 jquery 或 AJAX 将其链接回 PHP 选择查询还是有更简单的方法来解决这个问题?

我正在尝试从头开始学习这一切,并且无可否认,我完全不符合我的要求。以下是我所拥有的一些 sn-ps:

...
<script>
    function OnSelectChange(obj)
    {
        alert(obj.options[obj.selectedIndex].value);
    }
</script>
...
<td align="right">Store</td><td width="125"><select style="width:100%" name="store" onchange="OnSelectChange(this)">
...
<?php
    $tsql = "select * from test where DateStamp >= getdate()-7";
    $stmt = sqlsrv_query($conn, $tsql);

    //generate table view of data
    echo "<table>";
    echo "<tr><td>Store ID</td><td>Date</td><td>Data</td></tr>";
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))  
    {  
        $StoreID = $row['StoreID'];
        $DateStamp = $row['DateStamp'];
        $Donations = $row['Data'];
        echo "<tr><td>".$StoreID."</td><td>".$DateStamp."</td><td>".$Data."</td></tr>";
    }  
    echo "</table>";
?>

我找到了很多有用的信息来帮助我走到这一步,但现在卡住了。

提前谢谢你。

【问题讨论】:

  • 注意:数据集太小了,如果我能以某种方式更改显示的内容,我真的不需要更改 SQL 查询。
  • 我已经成功分配了两个班级。一个驱动初始 CSS display:none,而另一个允许我以有针对性的方式切换显示。不幸的是,我使用的是 ,所以它弄乱了表格的外观。但它在其他方面工作得很好。

标签: javascript php html sqlsrv


【解决方案1】:

知道了!对于其他人来说,这里是相关的sn-ps代码:

<style>
.hideable {
    visibility: collapse;
}
</style>

...

<script language="JavaScript">
    function OnSelectChange(cl)
    {
        var els = document.getElementsByClassName('hideable');
        for(var i=0; i<els.length; ++i){
            var s = els[i].style;
            s.visibility = 'collapse';

        };
        var els = document.getElementsByClassName(cl);
        for(var i=0; i<els.length; ++i){
            var s = els[i].style;
            s.visibility = 'visible';
        };
    }
</script>

...

<select style="width:100%" name="store" onchange="OnSelectChange(this.value)">

...

echo "<tr class='hideable ".$StoreID."'><td>".$StoreID."</td><td>".$DateStamp."</td><td>".$Data."</td></tr>";

在创建表格 (tr) 时利用双类和折叠 CSS 样式属性是关键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2018-02-22
    • 2015-05-14
    • 2021-04-17
    • 2020-08-04
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多