我要感谢大家到目前为止我所收到的帮助。我的下一个问题有点复杂。
所以我在我的服务器上设置了一个数据库,我的网站上有一个表单,我将数据提交到我的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 :(得分: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都将它输出到浏览器。