【发布时间】:2015-05-23 21:08:22
【问题描述】:
我有一个搜索页面,效果很好。搜索结果显示在带有 tr hover 和 window.location 的表格中,以将用户带到不同的页面。
我想要实现的是基于数组数据的 window.location 的动态链接。 db中的所有数据都属于4个不同的类别,testkat,我想根据testkat的值将用户引导到正确的页面,然后使用'testid'填写数据。
我一直在尝试多种方法来实现我的目标,并搜索了 SE、Google 等,但没有运气。我对 PHP 很陌生,所以使用正确的搜索词可能与它有关。
从我的角度来看,我认为我必须将 testkat 的值存储在一个变量中,比如说 $link。然后从那里做一个 IF 语句,比如:
if ($results('testkat') == 'something') {
$link = "something.php?id='$testid'";
}
if ($results('testkat') == 'something_else') {
$link = "something_else.php?id='$testid'";
}
- 然后将 $link 放在 window.location 中
这是我的代码:
<?php
$conn = mysql_connect("localhost", "root", "") or die("Couldn't do it: ".mysql_error());
mysql_select_db("db") or die(mysql_error());
mysql_set_charset('utf8',$conn);
$query = $_POST['query'];
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$raw_results = mysql_query("SELECT * FROM db WHERE (`id` LIKE '%".$query."%') OR (`name` LIKE '%".$query."%') OR (`age` LIKE '%".$query."%')") or die(mysql_error());
$count = mysql_num_rows($raw_results);
if(isset($_POST['query'])) {
echo "<br>";
echo "Your search for <span class=\"bold\">" .$query. "</span> returned " . $count . " hits";
echo "<br>";
if(mysql_num_rows($raw_results) > 0){
echo "<br>";
echo "<table class=\"tbl-text\">";
echo "<tr class=\"tablelist\"><th>Heading 1</th><th>Heading 2</th><th>#</th><th>Heading 3</th><th>Heading 4</th><th>Heading 5</th>";
while($results = mysql_fetch_array($raw_results)){
echo "<tr onclick=\"window.location='#'\" style=\"cursor:pointer\" class=\"tr-hover\">";
echo "<td class=\"bordered\">" .$results['testid'] . "</td>";
echo "<td class=\"bordered\">" .$results['testkat'] . "</td>";
echo "<td class=\"bordered\">" .$results['intnr'] . "</td>";
echo "<td class=\"bordered\">" .$results['pro'] . "</td>";
}
echo "</table>";
}
else{
}
}
?>
更新: 忘了告诉错误。当按照我认为应该这样做的方式执行此操作时,我在 IF 语句中收到一条错误消息:致命错误:函数名称必须是字符串。
参考这个:
if ($results('testkat') == 'something') {
$link = "something.php?id='$testid'";
}
我知道 MySQLi 和 PDO,正在研究它。 渴望学习,因此非常感谢任何提示和技巧:)
克里斯
【问题讨论】:
-
没有评论的意思.. 而是回答!