使用php表单更改href链接

5
我正在制作一个带搜索栏的网站。我想让搜索栏在搜索并显示结果后变得互动起来。因此,我希望href根据使用的Id而改变。例如:有人搜索“松果”,如果它在数据库中,则会有一个ID,对于这个例子,它是#4。一旦他们搜索了它,它就会显示为链接。但我想让链接使用“/#IDNumber.php”。
这是我正在使用的代码:
<?php
$output = '';
//collect
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);

$query = mysql_query("SELECT * FROM `findgame` WHERE name LIKE '%$searchq%'       OR keywords LIKE '%$searchq%' LIMIT 1") or die("Search unavailable.");
$count = mysql_num_rows($query);
if($count == 0){
    $output = 'Results not found.';

}else{
    while($row = mysql_fetch_array($query)) {
        $name = $row['name'];
        $kwords = $row['keywords'];
        $id = $row['id'];

        $output .= '<div style="position:absolute;margin:110px    20px;padding:25px;">'.$id.' '.$name.'</div>';
        }

}

}

?>

并且

<a href="/<?php$id?>.php">    <?php print("$output");?></a>

需要帮忙让它工作吗?


代码在哪里?我什么也没看到,只有“.php”>”。 - Patrick Roberts
2个回答

4
您需要打印变量。
$id = 123;

<?php $id ?>      =>
<?php echo $id ?> => 123
<?= $id ?>        => 123

因此最终的结果将会是这样的:
<a href="/<?= $id ?>.php">
    <?php print($output); ?>
</a>

注意:在$output周围不需要使用"。这不会有害,但也不是必需的。

1
这应该是这样的:<a href="/<?php echo $id ?>.php"></a> - user4858416
我不明白...抱歉,我有点新手。 - user4858416
基本上将这个改成:<a href="/<?php echo $id ?>.php"> <?php print("$output");?></a>,而不是这个:<a href="/<?php$id?>.php"> <?php print("$output");?></a> || 你忘记在 $id 前面加上 "echo"。 - Chris Evans

0
我不清楚问题出在哪里,例如我不知道你是否将$id和$output设置为任何值。我不知道你发布的代码上下文是在PHP字符串中还是在模板中。
但是,如果只是语法问题,那么以下可能更好:
作为PHP字符串:
$out = '<a href="/' . $id . '">' . $output . '</a>';

另一种选择:

$out = "<a href=\"/$id.php\">$output</a>";

在HTML中:

<a href="/<?php print $id; ?>.php"><?php print $output; ?></a>

或者甚至:

<?php print '<a href="/' . $id . '">' . $output . '</a>'; ?>

我希望这就是你所有的问题。

请注意,print和echo可以互换使用,尽管echo稍微快一些。但在这种情况下,人们更喜欢使用print。这两者都不是函数,因此在使用print('blah')时不需要加括号。


刚试了一下...不行...但我已经编辑了上面的帖子,为您提供更多背景信息。 - user4858416
第一段代码与第二段代码有何关联?问题是变量 $id 和 $output 在第二段代码的位置不存在吗? 您是否收到任何错误消息?您知道如何检查错误日志吗?它可能非常有帮助。 - braks
是的,我知道如何检查我的错误日志。第一段代码是搜索引擎,第二段是结果引擎。不用担心,我已经修复了它,现在它可以正常工作。 - user4858416

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接