在搜索之后在HTML表格中显示MYSQL数据

时间:2013-03-13 01:44:58

标签: 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?

1 个答案:

答案 0 :(得分: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'的每条记录。我在上面的值中没有看到这个,所以如果你想使用这个代码,你必须找到一种方法来合并它。

另请:您要求 - 这会更改HTML ,而会处理表格格式 - 两者都不会。您可以通过print语句执行所有HTML格式设置。所有PHP都将它输出到浏览器。