所以我試圖讓一個PHP文件執行2-3個不同的功能。一個文件中的多個PHP函數
基本上,當頁面加載(test.php)時,它會加載頁面上的通用html元素。它會加載一個jQuery選項卡UI以及從SQL數據庫填充的組合框。
上述兩個html元素我工作正常,沒有問題,但jquery ui選項卡和sql /組合框生成的代在不同的PHP文件中。我想將這兩個步驟合併到一個文件中。
在初始頁面加載時,它從上面的步驟加載兩個元素,但是如果組合框有onChange事件或onClick事件,我需要讓頁面發佈到自身(test.php)。我一直在閱讀關於使用isset()或空(),但我不完全確定如何以正確的方式去解決這個問題。
任何建議或例子在行動?我很確定這已被問了很多次,但到目前爲止我還沒有找到解決方案。
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的),並同時執行功能。而不是有onChange =「dropChange();」在dropdown.php頁面難道不一樣的東西:
onChange='<? php $_POST["PHP_SELF"] ?>'
顯示一些代碼來解釋這一點。我不確定你想要完成什麼。 –
同意@MarcB,但在黑暗中拍攝...如果沒有設置複選框,它不在POST請求中。因此,empty()或!isset()將測試非存在。還可以使用include()/ require()來拉入其他文件。讓我看看你的代碼,我將能夠收緊我的建議。 – HappyTimeGopher
使用mysqli_而不是mysql_。在這裏看到紅色信息:http://php.net/manual/en/function.mysql-query.php – Kamil