Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我正在使用PHP,需要使用while循环插入sql_Php_Sql_Loops_Insert - Fatal编程技术网

I';我正在使用PHP,需要使用while循环插入sql

I';我正在使用PHP,需要使用while循环插入sql,php,sql,loops,insert,Php,Sql,Loops,Insert,我需要一点帮助。我有一个页面供用户输入多达10行不同的信息。调度细节。我已经使用循环创建了一个带有表单的页面 <?php session_start(); require("config.php"); require("header.php"); $db = mysql_connect($dbhost, $dbuser, $dbpassword); mysql_select_db($dbdatabase, $db); ?> <br><br

我需要一点帮助。我有一个页面供用户输入多达10行不同的信息。调度细节。我已经使用循环创建了一个带有表单的页面

<?php
  session_start();
  require("config.php");
  require("header.php");
  $db = mysql_connect($dbhost, $dbuser, $dbpassword);
  mysql_select_db($dbdatabase, $db);    
?>
<br><br><br></br>
<form action="insertdispatch.php"  method="post">
  <body>
    <center>
      <table>
        <tr>
          <td><center><b>Ref</td>
          <td><b><center>Date</td>
          <td><b><center>Service</td>
          <td><b>   <center>Tracking</td>
        </tr>
<?php 
  $index = 1;
  $name = 1;
  while($index <= 10){
?>
         <td><input type="text" 
                   name="transno<?php echo $index;?>" 
                   id="transno<?php echo     $index;?>" />
         </td>
     <td><input type="text" name="date<?php echo $index;?>" 
               id="date<?php echo $index;?> "/>
         </td>
     <td><select name = "service<?php echo $index;?>"><?php
    $viewsql = "SELECT * FROM dispatch_service ORDER BY service ASC";
            $viewresult = mysql_query($viewsql);
            while($row = mysql_fetch_assoc($viewresult)){
        ?> <option value=<?php echo $row['service'] ;?>> 
                    <?php echo  $row['service'] ;?></option>
        <?php
            }
              echo "</select>";?>
      <td><input type="text" 
                     name="tracking<?php echo $index;?>" 
                     id="tracking<?php echo  $index;?>"/>
          </td>
      </tr>
      <?php $index ++;
    }?>
         <center>
       <td><input type="submit" value="Add Product" />
     </form>
     </center>
   </td>
 </tr>
 </table>
 </center>
 <center><a href='javascript:history.back(1);'>Back</a>
 </body>
 </html>`





裁判 日期 服务 追踪 >

我不想找任何人帮我完成编码,但任何提示都将不胜感激

您可以生成一条插入多行的insert语句:

INSERT into dispatch (trans_no, date, service, tracking) values
   (1, '2013-09-12', 'myService1', 'on'),
   (1, '2013-09-12', 'myService2', 'on'),
   (1, '2013-09-12', 'myService3', 'on'),
   (1, '2013-09-12', 'myService4', 'on'),
   (1, '2013-09-12', 'myService5', 'on');
只需在while中构建它,并在while完成后执行它

要构建此查询,您需要执行与生成HTML时完全相同的循环,但现在只需从
$\u POST
获取值,而不是为它们创建HTML字段


注意在构建HTML时,您正在for循环中触发一个静态查询。由于此查询是静态的,因此结果也不会更改,最好在外部while循环之外执行该查询。

您可以构建一条插入多行的insert语句:

INSERT into dispatch (trans_no, date, service, tracking) values
   (1, '2013-09-12', 'myService1', 'on'),
   (1, '2013-09-12', 'myService2', 'on'),
   (1, '2013-09-12', 'myService3', 'on'),
   (1, '2013-09-12', 'myService4', 'on'),
   (1, '2013-09-12', 'myService5', 'on');
只需在while中构建它,并在while完成后执行它

要构建此查询,您需要执行与生成HTML时完全相同的循环,但现在只需从
$\u POST
获取值,而不是为它们创建HTML字段

注意在构建HTML时,您正在for循环中触发一个静态查询。由于此查询是静态的,因此结果也不会更改,最好在外部while循环之外执行该查询。

(您确实应该阅读更多关于基本HTML的内容-即使在考虑PHP代码之前,那里也有很多错误)

如果确实希望再次引用该项,请设置索引:

id="transno[<?php echo $index; ?>]"
id=“transno[]”
在接收端…使用一个insert语句来添加行-而不是10个单独的行(速度会快得多)。

(你真的应该阅读更多关于基本HTML的内容-即使在考虑PHP代码之前,那里也有很多错误)

如果确实希望再次引用该项,请设置索引:

id="transno[<?php echo $index; ?>]"
id=“transno[]”

在接收端…使用一个insert语句添加行,而不是10个单独的行(速度会快得多)。

您已经用$index设置了while循环,您可以简单地使用它来迭代POST值,因为您用索引设置了它们的name属性。考虑:

$index = 1;
while($index <= 10){
    $trans_no = $_POST["transno$index"];
    $service = $_POST["service$index"];
    $date = $_POST["date$index"];
    $tracking = $_POST["tracking$index"];

    $insertsql = "INSERT into dispatch (trans_no, date, service, tracking)
                  VALUES($trans_no, $date, $service, $tracking)";
    mysql_query($insertsql);

 $index++;}
$index=1;

while($index您已经使用$index设置了while循环-您可以简单地使用它来迭代POST值,因为您使用索引设置了它们的name属性。请考虑:

$index = 1;
while($index <= 10){
    $trans_no = $_POST["transno$index"];
    $service = $_POST["service$index"];
    $date = $_POST["date$index"];
    $tracking = $_POST["tracking$index"];

    $insertsql = "INSERT into dispatch (trans_no, date, service, tracking)
                  VALUES($trans_no, $date, $service, $tracking)";
    mysql_query($insertsql);

 $index++;}
$index=1;

当($index)mysql_*函数被删除时,如果您想在第二个文件中显示提示-
var_u转储($\u POST)
将显示表单发送的所有字段,请切换到mysqli_*或pdo。如果您想显示提示-
var_u转储($\u POST),请切换到mysqli_*或pdo
在您的第二个文件中,将显示表单发送的所有字段。还有一件事:不要使用mysql\u connect。从PHP 5.5开始,它已被弃用。请查看上的文档,改用mysqli\u connect。感谢您的帮助。我听说了mysqli\u connect。我刚刚完成了一个非常基本的PHP/sql“初学者”课程,因此我正在寻找我的帮助M尽我所能改进。许许多多的感谢还有一件事:不要使用mysql\u connect。从PHP 5.5开始,mysql\u connect就被弃用了。请查看网站上的文档,改用mysqli\u connect。谢谢你的帮助。我听说了mysqli\u connect。我刚刚完成了一个非常基本的PHP/sql入门课程,所以我正在寻找可以改进的地方。谢谢你的帮助输入。我将研究数组,我知道它们使用起来更干净,但对它们了解不多。感谢您的输入。我将研究数组,我知道它们使用起来更干净,但对它们了解不多。