【问题标题】:Change href link with php form用php表单更改href链接
【发布时间】:2015-07-12 15:48:16
【问题描述】:

我正在制作一个带有搜索栏的网站。我想让搜索栏在“搜索”并显示结果后进行交互。所以我希望 href 根据正在使用的 Id 进行更改。例如:有人搜索“Pinecones”,如果它在数据库中,它将有一个 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">' 我什么也没看到

标签: php html search hyperlink tags


【解决方案1】:

我不清楚问题是什么,例如我不知道您是否将 $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 可以互换使用,在这种情况下人们更喜欢 print 虽然 echo 稍微快一点 IIRC。这两个都不是函数,所以最好不要包含 print('blah') 这样的括号。

【讨论】:

  • 刚刚尝试过...不,它不起作用...但我已经编辑了上面的帖子,为您提供更多背景信息
  • 第一段代码与第二段有什么关系?变量 $id 和 $output 不存在于代码的第二位的问题是什么?您收到任何错误消息吗?你知道如何检查你的错误日志吗?这会很有帮助。
  • 是的,我知道如何检查我的错误日志。代码的第一位是搜索引擎。第二个是结果引擎..别担心..我现在已经修复它并且它可以工作
【解决方案2】:

你需要打印变量。

$id = 123;

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

所以最终的结果会是这样的:

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

注意:您不需要 " 周围的 $output。不会痛,但没必要。

【讨论】:

  • 所以它会是这样的:
  • 我不明白.. 抱歉有点菜鸟
  • 基本上把这个: 改成这个:.php"> ||你错过了 $id 之前的“echo”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 2017-04-02
  • 1970-01-01
  • 2021-05-16
  • 2014-03-24
  • 2011-01-13
相关资源
最近更新 更多