通过PHP foreach循环按钮将数据提交到mysql数据库的单行

时间:2019-11-27 13:14:43

标签: php html mysql ajax

我正在使用php的foreach结构(例如:

<?php foreach($bills as $bills): ?>
   <tr>
      <td><?= $bills->column1; ?></td>
      <td><?= $bills->valid; ?></td>
      <td><?= $button; ?></td>
   </tr>
<?php endforeach; ?>

名为valid的列设置为varchar(1),因此其值可以为yn来定义帐单有效还是无效。

默认情况下,每行默认将名为valid的列设置为n –通过单击某行的按钮,我想将特定行的valid值设置为{{ 1}},但我对如何正确地传递数据有些迷惑。

y变量包含以下html代码:

$button

单击按钮将运行以下ajax脚本:

<form id="submit">
   <button type="submit">Valid</button>
</form>

connect.php运行以下代码:

<script>
   $('#submit').click(function() {
      $.ajax({
         url: 'connect.php',
         type: 'POST',
         data: null,
         success: function(msg) {
            alert('Success ');
         }
      });
   });
</script>

我的猜测是我必须通过ajax的<?php include('../config.php') ?> <?php $query = $pdo->prepare("UPDATE bills SET valid='y'"); $query->execute(); ?> 选项发送一个变量,然后在mysql查询中调用它,例如

data

但是如上所述,我对于如何检查已单击哪个特定按钮然后传递该信息一无所知。

在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

在这种情况下,由于您计划有多个按钮,因此请确保每个按钮都具有两个HTML属性:

  • data-row-id="<ID of the row>"
  • 特定类,例如class =“ row-submitter”

然后,稍微改变一下逻辑以跟踪类的点击次数,而不是ID:

$('.row-submitter').click(function() {
      $.ajax({
         url: 'connect.php',
         type: 'POST',
         data: null,
         success: function(msg) {
            alert('Success ');
         }
      });
   });

由于按钮的属性上也有ID数据,您现在可以说:

$('.row-submitter').click(function() {
      $.ajax({
         url: 'connect.php',
         type: 'POST',
         data: "id="+$(this).data('row-id')+'&value=newvalue',
         success: function(msg) {
            alert('Success ');
         }
      });
   });

并像使用它们

   $query = $pdo->prepare("UPDATE bills SET valid='".$_POST['value']."' where id=".$_POST['id']."");

答案 1 :(得分:0)

您可以使用get请求传递数据。喜欢:

$_REQUEST['ifvalid']

在您的php文件中,您可以使用def x_column(df): new_schema = StructType(df.schema.fields + [StructField("CIndex", LongType(), False), ]) return df.rdd.zipWithIndex().map(lambda row: row[0] + (row[1],)).toDF(schema=new_schema) 将其获取,然后您可以有条件地在数据库中进行更改。