我想使用PHP創建主 - 細節頁面。我想從一個關聯數組中獲取數據,而不是從MYSQL數據庫獲取數據。這可能嗎?使用PHP創建主 - 細節頁面
的數據將首先從MySQL數據庫表獲得並存儲一些處理關聯數組內。現在我想根據關聯數組內的數據創建主詳細信息頁面。任何人有想法?
我想使用PHP創建主 - 細節頁面。我想從一個關聯數組中獲取數據,而不是從MYSQL數據庫獲取數據。這可能嗎?使用PHP創建主 - 細節頁面
的數據將首先從MySQL數據庫表獲得並存儲一些處理關聯數組內。現在我想根據關聯數組內的數據創建主詳細信息頁面。任何人有想法?
由於PHP的本質,這是不可能的。
PHP腳本被運行的第二一個餾分,然後模具。所有它的變量和關聯數組和其他東西。
這就是爲什麼數據庫意圖將作爲不同的HTTP調用之間的數據存儲。
因此,不要假裝自己是smartmass,讓事情自然的方式:
這裏是此類應用的一個非常簡單的例子,使用模板,給你一個想法:
<?
mysql_connect();
mysql_select_db("new");
$table = "test";
if($_SERVER['REQUEST_METHOD']=='POST') { //form handler part:
$name = mysql_real_escape_string($_POST['name']);
if ($id = intval($_POST['id'])) {
$query="UPDATE $table SET name='$name' WHERE id=$id";
} else {
$query="INSERT INTO $table SET name='$name'";
}
mysql_query($query) or trigger_error(mysql_error()." in ".$query);
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
exit;
}
if (!isset($_GET['id'])) { //listing part:
$LIST=array();
$query="SELECT * FROM $table";
$res=mysql_query($query);
while($row=mysql_fetch_assoc($res)) $LIST[]=$row;
include 'list.php';
} else { // form displaying part:
if ($id=intval($_GET['id'])) {
$query="SELECT * FROM $table WHERE id=$id";
$res=mysql_query($query);
$row=mysql_fetch_assoc($res);
foreach ($row as $k => $v) $row[$k]=htmlspecialchars($v);
} else {
$row['name']='';
$row['id']=0;
}
include 'form.php';
}
?>
詳情頁面模板稱爲form.php的
<form method="POST">
<input type="text" name="name" value="<?=$row['name']?>"><br>
<input type="hidden" name="id" value="<?=$row['id']?>">
<input type="submit"><br>
<a href="?">Return to the list</a>
</form>
和主要頁面模板叫做list.php
<a href="?id=0">Add item</a>
<? foreach ($LIST as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>
這是一個例子dmin頁面,讓您添加和編輯記錄。
但是,頁面tat只顯示數據將幾乎相同。
如果你有,例如,顯示彙總數據的列表,並要動態顯示某個特定記錄的詳細信息,您可以使用JavaScript(jQuery的是使處理更容易的JavaScript一個不錯的庫)。
取決於您在摘要頁面上顯示的記錄數,您可以
在兩種情況下會保持你在內存中的所有數據。
什麼....你需要解釋有關數據,它在哪兒當前存儲更多的,是靜態數據或動態? – RobertPitt 2011-03-24 16:04:10
數據首先從mysql數據庫中獲取並存儲在關聯數組中。所以現在我想讓主詳細信息頁面從關聯數組中收集數據,這可能會被視爲靜態數據。 – user331859 2011-03-24 16:11:02