带有超链接的php表-记录问题

带有超链接的php表-记录问题,php,html,hyperlink,Php,Html,Hyperlink,我在PHP中列出了两个表(在屏幕上),左边应该是超链接的,所以当单击它时,右边的表将显示一个查询。因此,在开始时,它应该是空的,然后单击时,使用所选列表名的结果刷新页面 不幸的是,我没有这些经验,所以我还不知道它的概念,但我很高兴了解:) 任何帮助都将不胜感激。例如,可以链接到table.php?gid=n,其中n将是组id。然后,您可以检查$\u GET['gid']是否已设置,如果已设置,则获取该id并将其放入查询中 if(isset($_GET['gid'])) $right

我在PHP中列出了两个表(在屏幕上),左边应该是超链接的,所以当单击它时,右边的表将显示一个查询。因此,在开始时,它应该是空的,然后单击时,使用所选列表名的结果刷新页面

不幸的是,我没有这些经验,所以我还不知道它的概念,但我很高兴了解:)



任何帮助都将不胜感激。

例如,可以链接到
table.php?gid=n
,其中
n
将是组id。然后,您可以检查
$\u GET['gid']
是否已设置,如果已设置,则获取该id并将其放入查询中

if(isset($_GET['gid']))
    $right = sprintf("SELECT * FROM grouplink WHERE grouplink.group_id=%u", $_GET['gid']);

您需要
mysql\u fetch\u assoc

而不是
mysql\u查询
在:

while($resultleft=mysql\u查询($left)){
回显“$left['id']”;
}
以及:

$resultright=mysql_query($right);
while ($resultright=mysql_query($right)) {
  echo "<tr><td>'.$right['people_name']."</td></tr>";
$resultright=mysql\u查询($right);
而($resultright=mysql\u query($right)){
echo“.$right['people_name']”;
因此,这将是:

while ($left=mysql_fetch_assoc($resultleft)) {
  echo "<tr><td>".$left['id'].'</td><a href="???"><td>'.$left['listname']."</a></td></tr>";
  }
while($left=mysql\u fetch\u assoc($resultleft)){
回显“$left['id']”;
}

与right类似的问题

感谢Svish这里是我的新工作代码:

<?php include("db_con1.php");?>

<html>
<head>
</head>
<body>
<form method="post" action="test.php">

<div id="left">
<?php
  $queryl = $pdo->prepare('SELECT id, name FROM test1 ORDER BY name ASC');
  $queryl->execute();
?>

<ul>

  <?php foreach ($queryl as $i => $rowl) { ?>

<li>
  <?php if ($i)?>
  <input name="checkbox_add[]" id="test_<?php echo $i ?>" type="checkbox" value="<? echo $rowl['id']; ?>"/>
  <label for="test_<?php echo $i ?>"><a href="test1.php?gid=<?php echo $rowl['id']; ?>"><?php echo $rowl['name']; ?></a></label>
</li>
  <?php } ?>
 </ul>
</div>

<div id="right">

<?php
  if(isset($_GET['gid'])) {
   $gid=$_GET['gid'];    
   $queryr = $pdo->prepare('SELECT test3.name FROM test1, test2, test3 WHERE test1.id=test2.groupid AND test3.id=test2.peopleid AND test1.id='.$gid.' ORDER BY test3.name ASC');
   $queryr->execute();
  }
?>

<ul>

  <?php foreach ($queryr as $i => $rowr) { ?>

    <li>
      <?php if ($i)?>
      <input name="checkbox_del[]" id="test_<?php echo $i ?>" type="checkbox" value="<? echo $rowr['id']; ?>"/>
      <label for="test_<?php echo $i ?>"><?php echo $rowr['name']; ?></label>
    </li>
  <?php } ?>
</ul>
</div>

</form>

</body>
</html>


  • 您好,谢谢您的提示!是否可以隐藏获取信息?这样浏览器就不会显示它?或者这是一个愚蠢的问题?不,这就是获取变量的工作原理。在许多情况下,这是一件好事,因为这样您的用户就可以链接到实际的组,而不必“转到此链接,然后单击该链接”“。如果这对你来说真的很重要,你可以用POST代替,但是你必须使用表单。对于这样的事情(在我看来)既麻烦又有点错误(因为你没有真正发布任何东西。你正在获取数据)。谢谢,我现在就要试用。请返回反馈:)另外,正如@ninjaaa所说,您需要使用例如
    mysql\u fetch\u assoc
    从结果中获取行。(您是否尝试运行您的问题中的代码?)@chelmertz:你想解释一下SQL注入漏洞在哪里吗?因为你需要从mysql的结果中逐行提取数据,我可能会删除这个答案,并将其作为注释粘贴在你的问题中。然后接受/投票你认为有用的答案。我看到你在另一个问题中发表了评论答案是“答案”,然后创建了自己的答案,并接受了这一点……此外,永远不要将用户给定的变量(如
    $\u GET
    变量)直接插入到查询中!阅读SQL注入:谢谢你的评论。我非常感谢你所说的话,但是我发现通常在有答案的情况下,并不是每个人都清楚。所以我我可以“帮助”我提供一个工作代码。我确实理解代码是非常“业余”的,但我希望有人会跳起来说:做而不是这个。另一方面,我认为你的建议是好的,现在你告诉我不要做。那么,我最好能再次得到你的建议吗?好吧,这只是我的意见,但什么时候我使用这个网站我很少需要长的代码。你粘贴在网站上的代码可以解决你遇到的特定问题,可能不会完全满足其他人的需要。因此我喜欢保持我的答案简短,直截了当。问题标题是“表与超链接记录问题”,这就是我的回答重点。然后,你应该能够将其应用到你的情况中,如果你没有,也可以要求澄清。如果你正在努力解决某个特别的问题,甚至可以问一个新的有重点的问题。关于你对prepare的使用,你并没有真正按照应该使用的方式使用它。你只是在给它一个字符串您可以使用一个简单的查询
    while ($left=mysql_fetch_assoc($resultleft)) {
      echo "<tr><td>".$left['id'].'</td><a href="???"><td>'.$left['listname']."</a></td></tr>";
      }
    
    <?php include("db_con1.php");?>
    
    <html>
    <head>
    </head>
    <body>
    <form method="post" action="test.php">
    
    <div id="left">
    <?php
      $queryl = $pdo->prepare('SELECT id, name FROM test1 ORDER BY name ASC');
      $queryl->execute();
    ?>
    
    <ul>
    
      <?php foreach ($queryl as $i => $rowl) { ?>
    
    <li>
      <?php if ($i)?>
      <input name="checkbox_add[]" id="test_<?php echo $i ?>" type="checkbox" value="<? echo $rowl['id']; ?>"/>
      <label for="test_<?php echo $i ?>"><a href="test1.php?gid=<?php echo $rowl['id']; ?>"><?php echo $rowl['name']; ?></a></label>
    </li>
      <?php } ?>
     </ul>
    </div>
    
    <div id="right">
    
    <?php
      if(isset($_GET['gid'])) {
       $gid=$_GET['gid'];    
       $queryr = $pdo->prepare('SELECT test3.name FROM test1, test2, test3 WHERE test1.id=test2.groupid AND test3.id=test2.peopleid AND test1.id='.$gid.' ORDER BY test3.name ASC');
       $queryr->execute();
      }
    ?>
    
    <ul>
    
      <?php foreach ($queryr as $i => $rowr) { ?>
    
        <li>
          <?php if ($i)?>
          <input name="checkbox_del[]" id="test_<?php echo $i ?>" type="checkbox" value="<? echo $rowr['id']; ?>"/>
          <label for="test_<?php echo $i ?>"><?php echo $rowr['name']; ?></label>
        </li>
      <?php } ?>
    </ul>
    </div>
    
    </form>
    
    </body>
    </html>