2013-03-13 52 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