一个文件中有多个PHP函数

时间:2012-10-30 18:26:47

标签: php isset

所以我想尝试使用一个PHP文件来执行2-3种不同的功能。

基本上当页面加载(test.php)时,它将在页面上加载通用的html元素。它将加载一个jquery选项卡ui以及一个从sql数据库填充的组合框。

以上两个html元素我都运行正常,没有问题但是jquery ui选项卡和sql / combo框生成的生成都在单独的PHP文件中。我想将这两个步骤合并为一个文件。

在初始页面加载时,它从上面的步骤加载两个元素,但是如果组合框有onChange事件或onClick事件,我需要让页面发布到自身(test.php)。我一直在阅读有关使用isset()或empty()的内容,但我并不确定如何以正确的方式解决这个问题。

此操作的任何建议或示例?我很确定这已被多次询问,但到目前为止我还没有找到解决方案。

dropdown.php

<?php
//Create the DB populated dropdown list

$con = mysql_connect("localhost", "_user", "_pass");


$tables = mysql_query("SHOW TABLES FROM _dropdown");
mysql_select_db("items", $con);

echo '<select id="Type" onChange="dropChange();">';
echo '<option value="" style="display:none;"></option>';
while ($row = mysql_fetch_row($tables)) {
    foreach($row as $value){
        $i = mysql_query("SELECT * FROM $value ORDER BY name ASC", $con);
        echo '<optgroup label="'.ucfirst($value).'"></optgroup>';
        while($row2 = mysql_fetch_row($i)){
            echo '<option id="'.$value.'" value="'.$row2[0].'">'.$row2[0].'</option>';
        }
    }   
}
echo '</select>';

mysql_close($con);
?>

tabs.php

<?php

$con = mysql_connect("localhost", "_user", "_pass");
mysql_select_db("_database", $con) or die (mysql_error());
$result = mysql_query("SELECT * FROM _table") or die (mysql_error());
$num_rows = mysql_num_rows($result);
mysql_close($con);


echo '
    <script language="javascript" type="text/javascript">
        $( "#tabs" ).tabs({
            beforeLoad: function( event, ui ) {
                ui.jqXHR.error(function() {
                    ui.panel.html(
                        "Couldn\'t load this tab. We\'ll try to fix this as soon as possible. " +
                        "If this wouldn\'t be a demo." );
                });
            }
        });
    </script>

    <ul>
        <li id="S1"><a href="#S1">S1</a></li>
        <li id="S2"><a href="#S2" style="color:red; text-decoration:line-through">S 2</a></li>
        <li id="S3"><a href="#S3" style="color:red; text-decoration:line-through">S 3</a></li>
    </ul>
    <div id="breadcrumbs"></div>
    <div id="s1">

    </div>
    <div id="s2">

    </div>
    <div id="s3">

    </div>  
    ';

?>

所以我试图让“test.php”将这两个脚本组合成一个页面(test.php)并执行这两个功能。而不是在dropdown.php页面中使用 onChange =“dropChange();” ,而不是像:

onChange='<? php $_POST["PHP_SELF"] ?>'

1 个答案:

答案 0 :(得分:0)

由于您已经在使用jquery,因此您可以在页面顶部添加一个事件监视器,以使页面认为表单已被提交,就像单击了提交按钮一样 -

$(document).ready(function() {
    $("#id_of_your_drop_down").onChange(function(event){
       event.preventDefault(); //prevents the usual redraw behavior
       $("#id_of_your_submit_button").click() //triggers form submission for that submit
       }
    });
});

你可以把$(“#id_of_your_submit_button”)。click()代替dropChange();但上述方法是更好的做法。