1

MySQLデータベースから抽出したデータからphpを使用してテーブルを作成しています。私は使用して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 を返す必要があります

すなわち

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 に答える