[英]Using AJAX to send Javascript string to PHP file, then return array from file
我有一個彈出表單,用於選擇表格中的項目。 按順序,每行的表數據為:(用於選擇的復選框),架構名稱和表名稱。
這是用於獲取數據列表的查詢:
select table_schema, table_name
from information_schema.tables
order by table_schema, table_name
我如何創建表清單:
<?php
$db = new mssql($_SESSION['serv'],$_POST['database'],$_SESSION['usr_n'],$_SESSION['pa ss']);
$db->query("
select table_name, table_schema
from information_schema.tables
order by table_schema, table_name
");
$tables = $db->getArray();
foreach($tables as $table)
{
print "<tr>";
print "<td><input type='checkbox' name='$table[TABLE_NAME]' class='checkbox' /></td>"; //Print Checkbox
print "<td style='padding: 5px; text-align: center;'>$table[TABLE_SCHEMA]</td>"; //Print Table Schema
print "<td>$table[TABLE_NAME]</td>"; //Print Table Name
print "<td><input type='hidden' name='$table[TABLE_NAME]_schema' value='$table[TABLE_SCHEMA]'></td>";
print "</tr>";
}
?>
我正在嘗試添加過濾器。 我想放置一個從上面的查詢返回的所有不同架構的下拉列表。 我使用以下方法完成了此操作:
<option value="%" selected>All Schemas</option>
<?php
$db = new mssql($_SESSION['serv'], $_POST['database'], $_SESSION['usr_n'],$_SESSION['pass']);
$db->query("
select distinct table_schema
from information_schema.tables
order by table_schema
");
$schemas = $db->getArray();
foreach($schemas as $schema) {
?>
<option value="<?php echo $schema['TABLE_SCHEMA'];?>"><?php echo $schema['TABLE_SCHEMA']?></option>
<?php
}
?>
這可以正常工作,當我訪問Javascript下拉列表時,在顯示警告時得到了正確的值。
我需要做的是,當用戶從列表中選擇一個不同的架構(更改時)時,表將更新,僅顯示具有指定架構的表。 我一直在嘗試使用對Javascript和PHP的有限了解來解決這個問題,但是在搜索了一些相關的問題之后,我逐漸了解到我需要使用AJAX。 我對此知之甚少,並且沒有發現在線教程非常有用。
因此,我目前遇到的問題是將下拉列表的值發送到PHP文件,取回數組,然后將其返回給Javascript。 然后,我將從顯示表中刪除所有行,並從傳入的數組中添加新值。
這是到目前為止我得到的:
function updateList() {
var sch = document.getElementById("schList");
var xmlhttp;
if(window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if(xmlhttp.readyState==4 && xmlhttp.status==200) {
var table = xmlhttp.response
}
}
}
從這里我一無所知。 我已經讀過JSON,您可以返回對象和數組。 如何將架構名稱發送到文件,以及如何從文件返回數組?
謝謝您的幫助!
如果您不熟悉該主題,請不要嘗試通過ajax進行此操作。 只需使用告訴頁面要加載內容的url var重新加載頁面即可。 table.php?id =用戶
一旦所有這些都無需ajax正常運行,您就可以在必要時添加該功能。
如果您想重新加載js,請參閱: http : //webdesign.about.com/od/examples/l/blfaqddredirect.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.