1

我正在使用 php 从 MySQL 数据库中提取的数据创建一个表。我正在使用SELECT * From table_name,所有数据都如我所愿。但是我想在最后一列中创建一个下拉菜单,因为我正在使用该功能displayDMenu。但是下拉菜单仍然没有出现在表格中。您能否建议导致问题的原因和解决方案?还是替代解决方案?这是代码:

<div id="main">
<?php
include("config.php");
$result = mysql_query("SELECT * FROM schedule");

echo "<table border='1'>
<tr>
<th>Appoint No.</th>
<th>CR number</th>
<th>Time</th>
<th>Date</th>
<th>Month</th>
<th>Year</th>
<th>Department</th>
<th>Status</th>

</tr>";


while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td style='padding:3px'>" . $row['S_ID'] . "</td>";
  echo "<td style='padding:3px'>" . $row['crnumber'] . "</td>";
  echo "<td style='padding:3px'>" . $row['ScdTime'] . "</td>";
  echo "<td style='padding:3px'>" . $row['ScdDate'] . "</td>";
  echo "<td style='padding:3px'>" . $row['ScdMonth'] . "</td>";
  echo "<td style='padding:3px'>" . $row['ScdYear'] . "</td>";
  echo "<td style='padding:3px'>" . $row['DName'] . "</td>";

 echo "<td 'style='padding:3px'>" . displayDMenu() . "</td>";
  echo "</tr>";
  }
    echo "</table>";
function displayDMenu() {
    $r = '';
    $r .='<form method="post" action="ScdApproval.php">';
    $r .='<select name="Status">';
    $r .='<option value="approved" selected>Approve</option>';
    $r .='<option value="disapproved">Disapprove</option>';
    $r .='</select>';
    $r .='</form>';
}

?>
</div> <!--main ends here -->
4

2 回答 2

0

您需要在函数 displayDMenu() 中返回值 $r

IE

function displayDMenu()
{
   .........
   return $r;
}
于 2013-07-14T17:01:59.023 回答
0

不知道为什么你需要用户函数,它没有做任何合乎逻辑的事情,它只是吐回 html,没有理由不把那个 html 放在 while 循环中。

<?php 
include("config.php");
$result = mysql_query("SELECT * FROM schedule");
?>
<style>#main table tr td{padding:3px;}</style>
<div id="main">
    <table border="1">
        <tr>
            <th>Appoint No.</th>
            <th>CR number</th>
            <th>Time</th>
            <th>Date</th>
            <th>Month</th>
            <th>Year</th>
            <th>Department</th>
            <th>Status</th>
        </tr>
        <?php 
        if(mysql_num_rows($result) > 0): 
        while($row = mysql_fetch_array($result)): ?>
        <tr>
          <td><?php echo $row['S_ID']?></td>
          <td><?php echo $row['crnumber']?></td>
          <td><?php echo $row['ScdTime']?></td>
          <td><?php echo $row['ScdDate']?></td>
          <td><?php echo $row['ScdMonth']?></td>
          <td><?php echo $row['ScdYear']?></td>
          <td><?php echo $row['DName']?></td>
          <td><form method="post" action="ScdApproval.php">
                 <select name="Status">
                 <option value="approved" selected>Approve</option>
                 <option value="disapproved">Disapprove</option>
                 </select>
               </form>
          </td>
        </tr>
        <?php 
        endwhile;
        else: ?>
        <tr>
          <td rowspan="8">No results</td>
        </tr>
        <?php endif;?>
    </table>
</div> <!--main ends here -->

另外:实际上,您还应该切换到使用 PDO 或 mysqli 为新代码准备查询。

于 2013-07-14T17:12:25.023 回答