2013-03-13 47 views
0

我想在此向我所有人致謝,感謝我迄今收到的幫助。我的下一個問題有點複雜。在搜索後在HTML表格中顯示MYSQL數據

所以我在我的服務器上建立了一個數據庫,並且我在我的網站上有一個表單,在這裏我將數據提交給我的MYSQL數據庫。

提交數據後,我無法搜索它,顯示可能的結果,然後使這些結果成爲HYPERLINKED,以便用戶可以找到更多關於他們正在尋找的信息。

我 「的common.php」 腳本設置這樣的:

<?php 

$username = "XXX"; 
$password = "XXX"; 
$hostname = "XXX";  
$database = "XXX"; 

mysql_connect($hostname, $username, $password, $database) or die 

("Unable to connect to MySQL"); 

echo "Connected to MySQL<br>"; 

?>�� 

我 「insertdata.php」 腳本設置這樣的:

<?php 

require("common.php"); 

// connect with form 

$name=$_POST['firstname']; 
$lastname=$_POST['lastname']; 
$city=$_POST['city']; 
$state=$_POST['state']; 
$zip=$_POST['zip']; 
$phone=$_POST['phone']; 
$email=$_POST['email']; 
$various=$_POST['various']; 
$other=$_POST['other']; 


// insert data into mysql 

$query="INSERT INTO datatable 
(
firstname, 
lastname, 
city, 
state, 
zip, 
phone, 
email, 
various, 
other, 
) 
VALUES 
(
'$firstname', 
'$lastname', 
'$city', 
'$state', 
'$zip', 
'$phone', 
'$email', 
'$various', 
'$other', 
)"; 

$result=mysql_query($query); 

// if successfull displays message "Data was successfully inserted into the database". 

if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='insert.php'>Back to main page</a>"; 
} 

else { 
echo "ERROR... data was not successfully insert into the database"; 
} 

mysql_close(); 

?>�� 

從那裏,我想使插入的數據可搜索。

我的問題是,當搜索完成時,我只想在兩個單獨的列中顯示名字和姓氏。

從那裏,我想要一個鏈接顯示在第三個單獨的列中,並在每行中顯示「查看記錄詳細信息」鏈接。

最後,當單擊「查看記錄詳細信息」時,它會將我帶到正確的記錄,並再次在HTML表格中格式化。

我得出一個解決方案最接近的是:

<?php 
require("common.php"); 
$query="SELECT * FROM datatable"; 
$result=mysql_query($query); 
$num=mysql_numrows($result); 
$i=0; 
while ($i < $num) { 
$firstname=mysql_result($result,$i,"firstame"); 
$lastname=mysql_result($result,$i,"lastname"); 
$i++;} 
?> 

作爲一個附加的問題,當我使用PDO,這是否改變我的HTML?

+0

[你有什麼嘗試?](http://www.whathaveyoutried.com/)請參閱[問問建議](http://stackoverflow.com/questions/ask-advice),請。 – 2013-03-13 01:45:42

+0

我已經更新了我迄今爲止所嘗試的內容... – user2147051 2013-03-13 01:53:07

+0

請勿使用mysql_query - 它已被棄用。去PDO或mysqli。 – ethrbunny 2013-03-13 01:53:18

回答

1

切換到PDO。您的代碼將是這個樣子:

$conn = new PDO('mysql:host=db_host;dbname=test', $user, $pass); 
$sql = 'SELECT * FROM datatable'; 
foreach ($conn->query($sql) as $row) { 
    print $row['firstname'] . "\t"; 
    print $row['lastname'] . "\n"; 

} 

編輯: 鏈接回有關詳細信息,第二打印後添加此行:

print "<a href='somephp.php?idx=" . $row[ 'idx' ] . "'>link here</a>"; 

你需要所謂的「somephp另一個PHP文件.PHP「:

$conn = new PDO('mysql:host=db_host;dbname=test', $user, $pass); 
$idx = $_REQUEST[ 'idx' ]; 

$sql = 'SELECT * FROM datatable where idx = ?'; 
$stmt = $conn->prepare($sql); 
$stmt->bindParam(1, $idx); 
$stmt->execute(); 
$row = $stmt->fetch(); 

// now print all the values... 
print $row['firstname'] . "\t"; 
print $row['lastname'] . "\t"; 
print $row['address'] . "\t"; 

and so on... 

注:這取決於有每個記錄一個獨特的關鍵'idx'。我在上面的值中沒有看到這一點,所以如果你想使用這個代碼,你必須找到一種方法來合併它。

ALSO:你問 - 這是否改變HTML做到這一點的句柄表格式 - 都不可能。您通過print聲明完成所有HTML格式。所有PHP都會將它輸出到瀏覽器。

+0

哇好吧......我從來沒有聽說過PDO。這是否也處理HTML表格格式? – user2147051 2013-03-13 02:22:44

+0

有人可以告訴我如何執行這最後一部分是如何超鏈接「查看記錄詳細信息」部分? – user2147051 2013-03-13 03:55:24

+0

請參閱內聯編輯。 – ethrbunny 2013-03-13 13:02:22