填充php表中的DropDown列表

时间:2014-12-27 12:22:14

标签: php drop-down-menu

在php代码中,以下代码用于构建一个包含格式的表格,所有3个单元格用于文本,一个单元格用于图像上传。

 echo "<table border=1 align=center>
                                   <tr bgcolor='#FFC600'>
                                   <th>sectionID</th>
                                   <th>name</th>
                                   <th>price</th>
                                   <th>image</th>
                                   <th>add</th>
                                   </tr>";
                                   echo "<form action=Data.php enctype=multipart/form-data method=post>";
                                   echo "<tr>";
                                   // give the insert row a special color
                                   echo "<tr bgcolor='#FFC600'>";
                                   echo "<td><input type=text name=cat_id></td>";
                                   echo "<td><input type=text name=item_name></td>";
                                   echo "<td><input type=text name=item_price></td>";
                                   echo "<td><input type=file name=uploaded_file></td>";
                                   echo "<td>" . "<input type=submit name=add value=addNew" . " </td>";
                                   echo "</tr>";
                                   echo "</form>";
                                   echo "</table>";
                                   echo "<br>";

我需要将cat_id的输入更改为下拉列表,我尝试实现此代码但没有成功。

<select>
  <option value="a">aa</option>
  <option value="b">bb</option>
  <option value="c">cc</option>
  <option value="d">dd</option>
</select>

这是我到目前为止所尝试的:将以上6行添加到代码中,如下所示:

echo "<form action=myItemsData.php enctype=multipart/form-data method=post>";
                                   echo "<tr>";
                                   // give the insert row a special color
                                   echo "<tr bgcolor='#FFC600'>";
                                   echo "<td>
                                   <select name=cat_id>
                                   <option value="a">aa</option>
                                   <option value="b">bb</option>
                                   <option value="c">cc</option>
                                   <option value="d">dd</option>
                                   </select>
                                   </td>";
                                   echo "<td><input type=text name=item_name></td>";
                                   echo "<td><input type=text name=item_price></td>";
                                   echo "<td><input type=file name=uploaded_file></td>";
                                   echo "<td>" . "<input type=submit name=add value=addNew" . " </td>";
                                   echo "</tr>";
                                   echo "</form>";
                                   echo "</table>";
                                   echo "<br>";

当我尝试在浏览器上加载页面时,我得到了回复:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请与服务器管理员联系,告知他们错误发生的时间以及可能导致错误的任何操作。

服务器错误日志中可能提供了有关此错误的更多信息。

1 个答案:

答案 0 :(得分:1)

所以,我通过使用HEREDOC简化了一些事情,这对于长线,多线字符串非常有用。唯一真正需要的是将select的简单剪切和粘贴到输入所在的单元格中。

echo <<<EOT
<table border=1 align=center>
  <tr bgcolor='#FFC600'>
    <th>sectionID</th>
    <th>name</th><th>price</th>
    <th>image</th>
    <th>add</th>
  </tr>
  <form action=Data.php enctype=multipart/form-data method=post>
  <tr>;
  // give the insert row a special color
  <tr bgcolor='#FFC600'>
    <td>
      <select name=cat_id>
        <option value="a">aa</option>
        <option value="b">bb</option>
        <option value="c">cc</option>
        <option value="d">dd</option>
      </select>
    </td>
    <td><input type=text name=item_name></td>
    <td><input type=text name=item_price></td>
    <td><input type=file name=uploaded_file></td>
    <td><input type=submit name=add value=addNew> </td>
  </tr>
  </form>
</table>
<br>
EOT;

编辑:

除非你出于某种原因必须使用字符串形式的html(即你只是渲染HTML),为什么不这样做?

如果你需要将变量插入标记,那么只需将变量放入php标记:

<keygen><?php echo $myVariable ?></keygen>

试试这个:

<?php
    ... some preceding php here ...
?>

<table border=1 align=center>
  <tr bgcolor='#FFC600'>
    <th>sectionID</th>
    <th>name</th><th>price</th>
    <th>image</th>
    <th>add</th>
  </tr>
  <form action=Data.php enctype=multipart/form-data method=post>
  <tr>;
  // give the insert row a special color
  <tr bgcolor='#FFC600'>
    <td>
      <select name=cat_id>
        <option value="a">aa</option>
        <option value="b">bb</option>
        <option value="c">cc</option>
        <option value="d">dd</option>
      </select>
    </td>
    <td><input type=text name=item_name></td>
    <td><input type=text name=item_price></td>
    <td><input type=file name=uploaded_file></td>
    <td><input type=submit name=add value=addNew> </td>
  </tr>
  </form>
</table>
<br>

<?php
    ... some following php here ...
?>