Php $\u在fetch\u assoc中使用相同名称发布

Php $\u在fetch\u assoc中使用相同名称发布,php,post,submit,fetch,Php,Post,Submit,Fetch,你好,每天我都有一个有趣的问题,至少对我来说是这样。我正在创建div和输入 在fetch_assoc中,我想知道提交所有这些输入的最佳方式。它们具有相同的名称,但具有不同的值,有时甚至相同。 代码如下: 这就是你想做的吗 $values = array; for ($i=1; $i<=7; $i++) { $values [$i] = $_POST["rang".$i."value"]; } 这就是你想做的吗 $values = array; for ($i=1; $i<=

你好,每天我都有一个有趣的问题,至少对我来说是这样。我正在创建div和输入 在fetch_assoc中,我想知道提交所有这些输入的最佳方式。它们具有相同的名称,但具有不同的值,有时甚至相同。 代码如下:


这就是你想做的吗

$values = array;
for ($i=1; $i<=7; $i++)
{ 
   $values [$i] = $_POST["rang".$i."value"];
}

这就是你想做的吗

$values = array;
for ($i=1; $i<=7; $i++)
{ 
   $values [$i] = $_POST["rang".$i."value"];
}

如果需要一个表单,请将表单标记放在while循环之外

 <?php
        $sql = "SELECT IDBewoner, Foto FROM Bewoners LIMIT 5";
        $res = mysqli_query($mysqli, $sql);
        $totaalbewoners = mysqli_num_rows($res);
        ?> 
        <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
        <?php while($row = mysqli_fetch_assoc($res)) {
        ?>
        <tr>

                <td><input type="text" value="<?php echo $row["IDBewoner"] ?>" name="bewoner"></td>
            <td> <?php echo $row["IDBewoner"] ?> </td>
            <td> <?php echo "<img src='data:image/jpeg;base64,".base64_encode($row['Foto'])."' width='90' height='90'>" ?> </td>

            <td> 
                    <div id="rang1" class="DropZone"></div> 
                    <input type="hidden" value="1" name="rang_input[][]" id="rang1value" />
                </td>
                <td> 
                    <div id="rang2" class="DropZone"></div> 
                    <input type="hidden" value="2" name="rang_input[][]" id="rang2value" />
                </td>
                <td> 
                    <div id="rang3" class="DropZone"></div> 
                    <input type="hidden" value="3" name="rang_input[][]" id="rang3value" />
                </td>
                <td> 
                    <div id="rang4" class="DropZone"></div> 
                    <input type="hidden" value="4" name="rang_input[][]" id="rang4value" />
                </td>
                <td> 
                    <div id="rang5" class="DropZone"></div>
                    <input type="hidden" value="5" name="rang_input[][]" id="rang5value" />
                </td>
                <td> 
                    <div id="rang6" class="DropZone"></div> 
                    <input type="hidden" value="6" name="rang_input[][]" id="rang6value" />
                </td>
                <td> 
                    <div id="rang7" class="DropZone"></div> 
                    <input type="hidden" value="7" name="rang_input[][]" id="rang7value" />
                </td>

    <?php };?>
       <input type="submit" value="Save">
                </form> 
            </tr>
    <?php    

    if($_SERVER["REQUEST_METHOD"] == "POST") {
         foreach ($_POST['rang_input'] as $key => $value) {
                 foreach ($value as $key1 => $value1) {
                  echo $value1 . "<br />";
                 }
            }
    }
    ?>

如果需要一个表单,请将表单标记放在while循环之外

 <?php
        $sql = "SELECT IDBewoner, Foto FROM Bewoners LIMIT 5";
        $res = mysqli_query($mysqli, $sql);
        $totaalbewoners = mysqli_num_rows($res);
        ?> 
        <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
        <?php while($row = mysqli_fetch_assoc($res)) {
        ?>
        <tr>

                <td><input type="text" value="<?php echo $row["IDBewoner"] ?>" name="bewoner"></td>
            <td> <?php echo $row["IDBewoner"] ?> </td>
            <td> <?php echo "<img src='data:image/jpeg;base64,".base64_encode($row['Foto'])."' width='90' height='90'>" ?> </td>

            <td> 
                    <div id="rang1" class="DropZone"></div> 
                    <input type="hidden" value="1" name="rang_input[][]" id="rang1value" />
                </td>
                <td> 
                    <div id="rang2" class="DropZone"></div> 
                    <input type="hidden" value="2" name="rang_input[][]" id="rang2value" />
                </td>
                <td> 
                    <div id="rang3" class="DropZone"></div> 
                    <input type="hidden" value="3" name="rang_input[][]" id="rang3value" />
                </td>
                <td> 
                    <div id="rang4" class="DropZone"></div> 
                    <input type="hidden" value="4" name="rang_input[][]" id="rang4value" />
                </td>
                <td> 
                    <div id="rang5" class="DropZone"></div>
                    <input type="hidden" value="5" name="rang_input[][]" id="rang5value" />
                </td>
                <td> 
                    <div id="rang6" class="DropZone"></div> 
                    <input type="hidden" value="6" name="rang_input[][]" id="rang6value" />
                </td>
                <td> 
                    <div id="rang7" class="DropZone"></div> 
                    <input type="hidden" value="7" name="rang_input[][]" id="rang7value" />
                </td>

    <?php };?>
       <input type="submit" value="Save">
                </form> 
            </tr>
    <?php    

    if($_SERVER["REQUEST_METHOD"] == "POST") {
         foreach ($_POST['rang_input'] as $key => $value) {
                 foreach ($value as $key1 => $value1) {
                  echo $value1 . "<br />";
                 }
            }
    }
    ?>

那么这个怎么样?假设您的输入具有ID own1rang1value、own1rang2value等

$values = array; 
for ($owner=1; $owner<=7; $owner++)
{
   $rec = array;
   for ($i=1; $i<=7; $i++)
   { 
      $rec [$i] = $_POST["own".$owner."rang".$i."value"];
   }
   $values[$owner]=$rec;
}

那么这个怎么样?假设您的输入具有ID own1rang1value、own1rang2value等

$values = array; 
for ($owner=1; $owner<=7; $owner++)
{
   $rec = array;
   for ($i=1; $i<=7; $i++)
   { 
      $rec [$i] = $_POST["own".$owner."rang".$i."value"];
   }
   $values[$owner]=$rec;
}

尝试修改表单以包含IDBewoner无论一个好的唯一字段是什么,这个字段可能不是唯一的,我不知道,在双数组中很难分辨值,比如:

<?php
$sql = "SELECT IDBewoner, Foto FROM Bewoners LIMIT 5";
$res = mysqli_query($mysqli, $sql);
$totaalbewoners = mysqli_num_rows($res);
while($row = mysqli_fetch_assoc($res)) {
?>
<tr>
    <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
        <td>
            <input type="text" value="<?php echo $row["IDBewoner"] ?>" name="bewoner[]">
        </td>
        <td>
            <?php echo $row["IDBewoner"] ?>
        </td>
        <td>
            <img src="data:image/jpeg;base64,<?php echo base64_encode($row['Foto']); ?>" width='90' height='90'>
        </td>
        <?php for($i=0; $i <= 7; $i++) {
            $owner_id   =   $i.$row["IDBewoner"]; ?>
        <td> 
            <div id="rang<?php echo $owner_id; ?>" class="DropZone"></div> 
            <input type="text" value="" id="rang<?php echo $owner_id; ?>input" name="rang[<?php echo $row["IDBewoner"]; ?>][<?php echo $i; ?>]" />
        </td>
        <?php }
    } ?>
        <td>
             <input type="submit" name="submit" value="submit" />
        </td>
    </form>
</tr>
这就是处理sql的方式。注意,您应该清理或绑定这些值,但我没有包括类似的内容:

<?php

if(isset($_POST["submit"])) {
    $sql['cols']    =   "INSERT INTO `ActiviteitenSchema` (DagVanDeWeek, Bewoner, Activiteit, DatumAangemaakt, Rangnr) VALUES";
    $i = 0;
    foreach($_POST['rang'] as $key => $value) {             

            $z = 0;
            foreach($value as $rang) {
                    if(!empty($rang)) {
                            $vals[$i][] = "(4, '".$_POST['bewoner'][$i]."', '".$rang."', '2015-04-14', '$z')";
                        }
                    $z++;
                }

            if(isset($vals[$i]))
                $sql['vals'][]  =   implode(", ",$vals[$i]);

            $i++;
        }

    if(isset($sql['vals'])) {
            $statement  =   $sql['cols'].implode(", ",$sql['vals']);
            $res        =   $mysqli->query($statement);
        }
}

?>

尝试修改表单以包含IDBewoner无论一个好的唯一字段是什么,这个字段可能不是唯一的,我不知道,在双数组中很难分辨值,比如:

<?php
$sql = "SELECT IDBewoner, Foto FROM Bewoners LIMIT 5";
$res = mysqli_query($mysqli, $sql);
$totaalbewoners = mysqli_num_rows($res);
while($row = mysqli_fetch_assoc($res)) {
?>
<tr>
    <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
        <td>
            <input type="text" value="<?php echo $row["IDBewoner"] ?>" name="bewoner[]">
        </td>
        <td>
            <?php echo $row["IDBewoner"] ?>
        </td>
        <td>
            <img src="data:image/jpeg;base64,<?php echo base64_encode($row['Foto']); ?>" width='90' height='90'>
        </td>
        <?php for($i=0; $i <= 7; $i++) {
            $owner_id   =   $i.$row["IDBewoner"]; ?>
        <td> 
            <div id="rang<?php echo $owner_id; ?>" class="DropZone"></div> 
            <input type="text" value="" id="rang<?php echo $owner_id; ?>input" name="rang[<?php echo $row["IDBewoner"]; ?>][<?php echo $i; ?>]" />
        </td>
        <?php }
    } ?>
        <td>
             <input type="submit" name="submit" value="submit" />
        </td>
    </form>
</tr>
这就是处理sql的方式。注意,您应该清理或绑定这些值,但我没有包括类似的内容:

<?php

if(isset($_POST["submit"])) {
    $sql['cols']    =   "INSERT INTO `ActiviteitenSchema` (DagVanDeWeek, Bewoner, Activiteit, DatumAangemaakt, Rangnr) VALUES";
    $i = 0;
    foreach($_POST['rang'] as $key => $value) {             

            $z = 0;
            foreach($value as $rang) {
                    if(!empty($rang)) {
                            $vals[$i][] = "(4, '".$_POST['bewoner'][$i]."', '".$rang."', '2015-04-14', '$z')";
                        }
                    $z++;
                }

            if(isset($vals[$i]))
                $sql['vals'][]  =   implode(", ",$vals[$i]);

            $i++;
        }

    if(isset($sql['vals'])) {
            $statement  =   $sql['cols'].implode(", ",$sql['vals']);
            $res        =   $mysqli->query($statement);
        }
}

?>
插入代码:

<?php

if(isset($_POST["submit"])) {
    $sql['cols']    =   "INSERT INTO ActiviteitenSchema (DagVanDeWeek, Bewoner, Activiteit, DatumAangemaakt, Rangnr) VALUES";

    $i = 0;
    foreach($_POST['rang'] as $key => $value) {             
        $z = 0;
        foreach($value as $rang) {
            if(!empty($rang)) {
                    $vals[$i][] = "(4, '".$_POST['bewoner'][$i]."', '".$rang."', '2015-04-14', '$z')";
            }
            $z++;
        }

        if(isset($vals[$i])) {
            $sql['vals'][]  =   implode(", ",$vals[$i]);
        }
        $i++;
    }

    if(isset($sql['vals'])) {
        $statement  =   $sql['cols'].implode(", ",$sql['vals']);
        $res        =   $mysqli->query($statement);
        echo "<script>alert('gegevens zijn toegevoegd')</script>";
        header("Location: nieuwschema.php");
    }
}

?>
提取协会:

<div id="MainDiv">
  <div id="ListBewoners">
      <table id="ListBewonersUL">

      <?php
      $sql = "SELECT IDBewoner, Foto FROM Bewoners LIMIT 5";
      $res = mysqli_query($mysqli, $sql);
      $totaalbewoners = mysqli_num_rows($res);
      while($row = mysqli_fetch_assoc($res)) {
      ?>
      <tr>
          <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
              <td>
                  <input type="text" value="<?php echo $row["IDBewoner"] ?>" name="bewoner[]" size="2">
              </td>
              <td>
                  <?php echo $row["IDBewoner"] ?>
              </td>
              <td>
                  <img src="data:image/jpeg;base64,<?php echo base64_encode($row['Foto']); ?>" width='90' height='90'>
              </td>
              <?php for($i=0; $i < 7; $i++) {
                  $owner_id   =   $i.$row["IDBewoner"]; ?>
              <td> 
                  <div id="rang<?php echo $owner_id; ?>" class="DropZone"></div> 
                  <input type="text" value="" id="rang<?php echo $owner_id; ?>input" name="rang[<?php echo $row["IDBewoner"]; ?>][<?php echo $i; ?>]" />
              </td>
              <?php }
          } ?>
      </tr><tr>
              <td>
                   <input type="submit" name="submit" value="Save" />
              </td>
          </form>
      </tr>


  </table>
  </div>
</div>
我的操作与PHP_SELF相同,并将插入代码放在底部的同一页中。

插入代码:

<?php

if(isset($_POST["submit"])) {
    $sql['cols']    =   "INSERT INTO ActiviteitenSchema (DagVanDeWeek, Bewoner, Activiteit, DatumAangemaakt, Rangnr) VALUES";

    $i = 0;
    foreach($_POST['rang'] as $key => $value) {             
        $z = 0;
        foreach($value as $rang) {
            if(!empty($rang)) {
                    $vals[$i][] = "(4, '".$_POST['bewoner'][$i]."', '".$rang."', '2015-04-14', '$z')";
            }
            $z++;
        }

        if(isset($vals[$i])) {
            $sql['vals'][]  =   implode(", ",$vals[$i]);
        }
        $i++;
    }

    if(isset($sql['vals'])) {
        $statement  =   $sql['cols'].implode(", ",$sql['vals']);
        $res        =   $mysqli->query($statement);
        echo "<script>alert('gegevens zijn toegevoegd')</script>";
        header("Location: nieuwschema.php");
    }
}

?>
提取协会:

<div id="MainDiv">
  <div id="ListBewoners">
      <table id="ListBewonersUL">

      <?php
      $sql = "SELECT IDBewoner, Foto FROM Bewoners LIMIT 5";
      $res = mysqli_query($mysqli, $sql);
      $totaalbewoners = mysqli_num_rows($res);
      while($row = mysqli_fetch_assoc($res)) {
      ?>
      <tr>
          <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
              <td>
                  <input type="text" value="<?php echo $row["IDBewoner"] ?>" name="bewoner[]" size="2">
              </td>
              <td>
                  <?php echo $row["IDBewoner"] ?>
              </td>
              <td>
                  <img src="data:image/jpeg;base64,<?php echo base64_encode($row['Foto']); ?>" width='90' height='90'>
              </td>
              <?php for($i=0; $i < 7; $i++) {
                  $owner_id   =   $i.$row["IDBewoner"]; ?>
              <td> 
                  <div id="rang<?php echo $owner_id; ?>" class="DropZone"></div> 
                  <input type="text" value="" id="rang<?php echo $owner_id; ?>input" name="rang[<?php echo $row["IDBewoner"]; ?>][<?php echo $i; ?>]" />
              </td>
              <?php }
          } ?>
      </tr><tr>
              <td>
                   <input type="submit" name="submit" value="Save" />
              </td>
          </form>
      </tr>


  </table>
  </div>
</div>


我的操作与PHP_SELF相同,并将插入代码放在底部的同一页中。

将所有名称atributes更改为name=rang_value[],然后执行一个forI操作,但我的浏览器崩溃了。。。也许这是我的错?你能告诉我怎么做吗?您可以在代码中看到我的for,它位于注释中。为什么要在while循环中检查$\u POST?为什么每行都有“保存”按钮?@AyyanarG我知道这是错误的,但我尝试在while循环外检查$\u POST,只得到第一行的前7个值。这就是为什么我试图把它放在循环中,但我一次又一次地得到相同的值。一旦我找到了解决方案,我就会更改它。按照madalin的建议更改名称,并对$\u Post执行foreach,将所有名称atributes更改为name=rang\u value[],而不是执行foreach。我这样做了,但我的浏览器崩溃了。。。也许这是我的错?你能告诉我怎么做吗?您可以在代码中看到我的for,它位于注释中。为什么要在while循环中检查$\u POST?为什么每行都有“保存”按钮?@AyyanarG我知道这是错误的,但我尝试在while循环外检查$\u POST,只得到第一行的前7个值。这就是为什么我试图把它放在循环中,但我一次又一次地得到相同的值。一旦我找到了解决方案,我就会更改它。按照madalin的建议更改名称,并为$\u Post执行foreach操作。对于每一行,我有7个从rang1value到rang7value的输入字段。当我提交表格时,我只得到前七个输入,我需要得到所有居民的所有七个输入。你明白我的意思吗?或者我应该试着解释一下吗?你的意思是你有几个所有者是的,每个所有者有7个输入。不是真的。对于每一行,我有7个从rang1value到rang7value的输入字段。当我提交表格时,我只得到前七个输入,我需要得到所有居民的所有七个输入。你明白我的意思吗?或者我应该试着解释一下吗?你的意思是你有几个所有者是的,每个所有者有7个输入。不,它不起作用。。我仍然只拿到第一排不,这真的没用。。我仍然只能得到第一个可以逐行提交的rowWell,但是您也可以将提交放在while循环之外,因为每个范围在POST数组中都有一个唯一的IDBewoner。我会编辑好的,那就是代码。然后,您将在提交表单时看到post数组的外观。请给我一分钟时间查看它。您在处理过程中的输出是什么?你想从中得到什么?SQL语句?好的,看看我的SQL编译器。你可以随意编辑。哦,不,对不起,我没注意到。这只是钥匙。我会修改。你可以逐行提交,但你也可以将提交放在while循环之外,因为每个范围在POST数组中都有一个唯一的IDBewoner。我会编辑好的,那就是代码。然后,您将在提交表单时看到post数组的外观。请给我一分钟时间查看它。您在处理过程中的输出是什么?你想从中得到什么?SQL语句?好的,看看我的SQL编译器。你可以随意编辑。哦,不,对不起,我没注意到。这只是钥匙。我会修改的。非常感谢先生的回答,它帮助了我。^^非常感谢先生的回答,它帮助了我^^