0

我要感谢这里的每一个人,感谢我到目前为止所获得的帮助。我的下一个问题有点复杂。

所以我在我的服务器上设置了一个数据库,我的网站上有一个表单,我将数据提交到我的 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 吗?

4

1 回答 1

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 都会将行输出到浏览器。

于 2013-03-13T01:55:39.633 回答