php - 使用 php 创建和获取动态变量

标签 php mysql

我知道这个问题可能已经被问到并得到了回答,但我也不确定我应该问什么合适的问题,所以请原谅我:D

我想做的是:

  • 我有一张表,我从 mysql 中获取值并通过循环将其粘贴到表中
  • 我给每一行一个按钮(编辑按钮)
  • 我通过变量 $id 为每个按钮指定值的 id(例如 1 2 3 4 )

我的问题是如何获得我通过 $_POST 按下的指定按钮?我尝试了所有我能想到的方法,但它不起作用(在我下面的代码中,我用另一个变量=asdf 扭曲了 id,所以它是静态的,但我只能得到 id 的最后一个值)

$viewvalue = mysqli_fetch_all ($result, MYSQLI_ASSOC);
<?php if (count($viewvalue) > 0): ?>
            <table id="t01">
              <thead>
                <tr>
                  <th><?php echo implode('</th><th>', array_keys(current($viewvalue))); ?></th>
                  <th>Edit</th>
                  <th>Delete</th>
                </tr>
              </thead>
              <tbody>
            <?php foreach ($viewvalue as $row): array_map('htmlentities', $row); ?>
                <tr>
                  <td><?php echo implode('</td><td>', $row);?></td>
                  <td><input type="submit" class="edit" name="<?php $a=$row['id']; $$a='asdf'; echo $$a; ?>" value="Edit" /></td>
                </tr>
            <?php endforeach; ?>
              </tbody>
            </table>
            <?php endif; ?>

            <?php 
                if(isset($_POST['asdf'])){
                    echo $a;
                }
            ?>

我知道有一种方法可以使用 jquery 和 ajax,但遗憾的是我无法让它工作,是否可以单独使用 php 来实现?

最佳答案

我会提议替换这一行:

<td><input type="submit" class="edit" name="<?php $a=$row['id']; $$a='asdf'; echo $$a; ?>" value="Edit" /></td>

通过:

<td><button class="edit" name="act" value="<?php echo  $row['id'];?>">Edit</button></td>

之后您只需检查 $_POST['act'] 的值

关于php - 使用 php 创建和获取动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875407/

相关文章:

mysql - 基于内部查询返回计数的 UNION 有效方法?

php - 将 dd-M-yyyy 转换为 mySQL 日期时间

php - 获取调用函数的名称,等同于 CFML 的 getFunctionCalledName()

php - 如何通过第三方 API 安全维护用户身份验证?

php - 为什么在尝试导入超过 500 个字符的数据库时出现错误?

php - 这个sql语法有什么问题?

php - 在 php 站点中流式传输音频文件

php - 在 MySQL 中创建约束时出现错误 #sql-890_730

PHP/SQL - 如何过滤掉与另一个表的数据冲突的记录?

MySql触发器,识别直接访问数据库