HTML和PHP表格在一起

时间:2018-06-21 13:17:26

标签: php html

我想构建HTML表单,该表单将显示数据库中的数据。我想在表单中的操作文件中进行修改。

但是我的构造无法正常工作。

这是我的代码:

            <?php
            //include 'readHersteller.php';
            //$hersteller = $resultIDs;
            $hersteller = array ('hersteller 1' , 'hersteller 2'); 
            $herstellerAnzahl = count($hersteller);
            echo '

                <div class="container">
                    <form action="actionHandler.php" method="post">
                        <h2>Hersteller wählen</h2>
                        <p>Wählen Sie hier den hersteller, dessen Produktlieferzeit verändert werden soll.</p>
                        <div class="form-group">
                            <label for="sel1">Wählen Sie hier einen der '.$herstellerAnzahl.' Hersteller aus:</label>
                            <select class="form-control" id="sel1">
                                ';
                                foreach ($hersteller as &$value){
                                echo '<option>'.$value.'</option>';
                                }
            echo '
                            </select>
                        </div>
                    </div> 
                    <h2> Geben Sie die gewünschte Lieferzeit ein: </h2>
                    <textarea class="form-control" rows="1" id="lieferzeit">Maßanfertigung in 1-3 Wochen bei Ihnen</textarea>
                    <br>
                </form> 
                <button type="submit" class="btn btn-primary btn-lg value="Submit">Absenden</button>
            ';

        ?>

我选择了此回显,因为我需要foreeach循环以表单形式显示我的数组,然后我需要从textarea中获取值并将它们都提交给actionHandler.php。

那是行不通的,因为由于我的回声,表格被分割了。

问题:如何更好地以表格形式显示php数组,以便能够创建一个表格?

2 个答案:

答案 0 :(得分:3)

我将向您建议类似的解决方案,但是它将完全使用<?php ?>,这样您就不会遇到转义'"的问题了,在这些情况下可能会更困难。

另外,需要注意一些事项:

  1. 您的标签嵌套有误。
  2. 您的<button>标签格式不正确,您尚未关闭类值(")。
  3. 您的<button>应该位于表单块内,除非您添加相应的表单属性。
  4. 您在foreach &$value中使用了不必要的引用。

建议重写:

<?php
  //include 'readHersteller.php';
  //$hersteller = $resultIDs;
  $hersteller = array(
    'hersteller 1',
    'hersteller 2'
  );
  $herstellerAnzahl = count($hersteller);
?>
<div class="container">
  <form action="actionHandler.php" method="post">
    <h2>Hersteller wählen</h2>
    <p>Wählen Sie hier den hersteller, dessen Produktlieferzeit verändert werden soll.</p>
    <div class="form-group">
      <label for="sel1">Wählen Sie hier einen der <?php echo $herstellerAnzahl; ?> Hersteller aus:</label>
      <select class="form-control" id="sel1">
      <?php
        foreach ($hersteller as $value) {
          echo '<option>' . $value . '</option>';
        }
      ?>
      </select>
    </div>
    <h2> Geben Sie die gewünschte Lieferzeit ein: </h2>
    <textarea class="form-control" rows="1" id="lieferzeit">Maßanfertigung in 1-3 Wochen bei Ihnen</textarea>
    <button type="submit" class="btn btn-primary btn-lg" value="Submit">Absenden</button>      
  </form> 
</div><!-- This should be here. -->

此外,表单输入元素上没有名称属性。因此,目前不会提交任何数据。

答案 1 :(得分:-1)

您需要更改

foreach ($hersteller as &$value){
   echo '<option>'.$value.'</option>';
}

foreach ($hersteller as $value){
   echo '<option>'.$value.'</option>';
}

PHP无法读取&$ variablename之类的变量。我建议您获得一个突出显示这些错误的IDE。 Atom是初学者的好选择。

德语: 编辑责任编辑Atom anlegen,副总裁schnell solchoberflächlichenErros。 Wenn du sonst mal Hilfe brauchst beim Coden,kannst du mich immer auf ts3.sa-countyrp.de erreichen und wirkönnenzusammen die Probleme angehen。

MFG