【问题标题】:Generated button on each table row with PHP and HTML使用 PHP 和 HTML 在每个表格行上生成按钮
【发布时间】:2016-06-06 15:49:42
【问题描述】:

我有这段代码可以使用 PHP 和 HTML 在每个表格行上生成按钮:

<!DOCTYPE HTML>
  <h2 class="text-center">Consulta</h2>
  <br>
  <table class="table table-striped">
    <tr class="info">
      <td class="black"><span style="font-weight:bold">#</span></td>
      <td class="black"><span style="font-weight:bold">Data</span></td>
      <td class="black"><span style="font-weight:bold">Condomínio</span></td>
      <td class="black"><span style="font-weight:bold">Entrada</span></td>
      <td class="black"><span style="font-weight:bold">Título</span></td>
      <td class="black"><span style="font-weight:bold">Autor</span></td>
      <td class="black"><span style="font-weight:bold">Estado</span></td>
      <td class="black"><span style="font-weight:bold"></span></td>
    </tr>
    <?php
    $select = "SELECT * FROM database";
    $get = mysqli_query($cnn, $select) or die ('error');
    while($row = mysqli_fetch_array($get, MYSQLI_ASSOC)) {
      echo "<tr>";
      echo "<td>";
      echo $row['id'];
      echo "</td><td>";
      echo $row['data'];
      echo "</td><td>";
      echo $row['condominio'];
      echo "</td><td>";
      echo $row['entrada'];
      echo "</td><td>";
      echo $row['titulo'];
      echo "</td><td>";
      echo $row['autor'];
      echo "</td><td>";            
      echo $row['estado'];
      echo "</td><td>";    
      $html = '<form role="form" class="form-inline" method="POST" enctype="multipart/form-data" action="thispage.php">';
      echo $html;
      echo '<button type="submit" name="alter'.$row['id'].'" id="alter'.$row['id'].'" class="btn btn-default btn-xl">alter'.$row['id'].'</a></button>';
      echo '</form>';

      echo "</td>";
      echo "</tr>";
    }
    echo "</table>";
?>
</html>

当然,我想使用按钮,但下面的代码对我不起作用:

<?php
$var = "row['id']";
$var2 = "alter".$var;
if (isset($_POST['$var2'])) {
  echo('some code');
} 
?>

我看到了一些使用 Javascript 的解决方案,但我只能使用 PHP 和 HTML,所以如果有人可以提供帮助,我将不胜感激。

【问题讨论】:

  • 试试这个 $row["id"]
  • 我知道那部分正在工作,因为如果我让它显示在每个按钮上,按钮名称就会正确显示。
  • 将按钮的名称更改为例如 button1 然后如果 $_POST['$var2'] 更改为 $_POST['button1'] .....并且您的代码缺少许多逻辑内容跨度>
  • @mohade 如果我这样做,当然其中一个按钮会根据数量起作用,但我希望它们都可以单独使用。
  • ok 将回答并让我们在回答评论中讨论

标签: php html html-table row


【解决方案1】:

以简单的方式将按钮替换为链接

当你得到数据时,放一个这样的链接

echo " <a href='?id=".$row['id']."'>'alter'".$row['id']."</a>"

在下一页这样使用它

if(isset($_GET['id']))
{
do something 
}

【讨论】:

  • 我这样做了,结果是一样的。这是表格的外观(我在每个按钮上显示了按钮名称):imgur.com/ysLeEWl 假装名称是“alter”而不是“alterar”
  • 好的,我正在编辑我的答案,如果你想用这个 id 来做点什么
  • 成功了!但是我真的需要一个按钮让它看起来漂亮漂亮,我该怎么做?
  • 您可以使用 CSS 来修改 并使其像按钮或其他任何东西
【解决方案2】:
if (isset($_POST[$var2])) {
  echo('some code');
} 

试试这个。我猜$var2 被视为字符串,因为它被单引号覆盖

【讨论】:

  • 啊抱歉我忘了更改那个变量,但这根本不是问题。
  • @Manuel 更新了答案,你可以试试这个并告诉我吗?
  • @Manuel 你是如何获得 $row['id'] 的。您可以打印该值并检查您是否正确?
  • 我已经打印了一个值是正确的,每个按钮名称都是“alterx”(x是行号)
  • @Manuel 我在代码中看不到任何问题,除了上面提到的任何问题。您唯一需要检查的是,对照打印值交叉验证表单按钮名称。只需检查按钮元素,看看您在打印时得到相同的按钮名称。
【解决方案3】:

如果 $var2 应该读取“alter1”、“alter2”、“alter3”等行,

$var = "row['id']";

应该阅读,

$var = $row['id'];


克雷格

【讨论】:

  • 不起作用,因为 row['id'] 应该是要添加到更多代码的字符串(即 $var2)
猜你喜欢
  • 1970-01-01
  • 2014-10-06
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多