【问题标题】:PHP post a variable within <a> tagPHP 在 <a> 标签内发布一个变量
【发布时间】:2015-07-14 02:26:11
【问题描述】:

我有一个网站,用户在其中输入电影名称,在 SQL 数据库上进行搜索,所有具有相似名称的电影都以表格格式显示。
每部电影的名称也是指向第二页的链接,该页面显示有关这部电影的更多详细信息。

但是,为了获得更多详细信息,我需要在第二页对这部电影进行另一次查询,所以理想情况下,当用户点击第一页上的电影名称时,链接也应该发布该电影的名称电影到第二页作为变量。
然后我可以获取该变量并在第二页的查询中使用它。

我不想添加不可见的表单,因为这仍然会向表格添加按钮,我需要表格保持原样。

<?php

    $username = "root";
    $password = "";
    $hostname = "localhost";

    $db_handle = mysql_connect($hostname, $username, $password) or die ("Could not connect to database");

    $selected= mysql_select_db("login", $db_handle);

    $output='';
    $output1='';
    $tablehead='';

    if(isset($_POST['search'])){
        $searchq = $_POST['search'];

        $query = mysql_query("SELECT * FROM PHP_Item WHERE Name LIKE '%$searchq%'") or die ("Could not search");
        $count = mysql_num_rows($query);

        if($count == 0){
            $output = 'there were no search results';
        }else{
            $tablehead.= "<table id='searchtable'>
                           <tr>
                              <th>
                                 Name
                              </th>
                              <th>
                                 Price
                              </th>
                           </tr>
                        </table>";
            while($row = mysql_fetch_array($query)){
                $mName = $row['Name'];
                $price = $row['Price'];
                $id= $row['ItemID'];         
                 $output1.= 
                     "<table id='searchtable'>
                        <tr>
                           <td>
                              <a href='searchresult.php'>$mName</a>
                           </td>
                           <td>
                              £$price
                           </td>
                        </tr>
                     </table>";
            }
        }
    }
?>

【问题讨论】:

标签: php html mysql post


【解决方案1】:

在每个链接的 url 中添加电影的名称或 ID,如下所示:

<a href='searchresult.php?mName=".urlencode($mName)."'>$mName</a>

像这样在你的详细信息页面中,你可以在变量mName中获取电影的名称:
$mName = $_GET['mName'];

更新
您应该避免使用 mysql_* 方法,因为它们已被弃用。使用 mysqli_* 或 PDO。

【讨论】:

  • 我可以补充一下:不要再使用mysql库了吗? :) 这些已被正式弃用。
  • 不明白你的评论
  • @Don'tPanic 已更新,但应在详细信息页面上添加更多代码,但我不会做这项工作。
  • 问题不是关于 mysql 和数据库,而是关于在 url 中发送 bariable。但我已经更新了我的答案
  • @Tinashem1996 如果您阅读我在原始帖子下的评论中的链接,您会找到答案。
猜你喜欢
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-17
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多