php/mysql を使用してストレージ ログ アプリケーションに取り組んでいますが、すべてを結び付けるはずの SQL クエリに問題があります。
基本的に、このプログラムを使用すると、ユーザーはさまざまなフィールド (id#、プロジェクト名、顧客名、測定単位など) を使用してプロジェクトに入力できます。プロジェクトが作成されると、ストレージ ログ ページ (以下にコードがリストされているページ) に、それらのプロジェクトごとに個別の HTML テーブルが表示されます。これらの各テーブルの下部にはフォームがあり、ユーザーはストレージ イン/アウト トランザクションを送信できます。送信時に、トランザクションがデータベースに追加され、プログラムはストレージ ログ ページにリダイレクトされます。
ここで、ログ ページを設計して、各トランザクションが対応するテーブルに表示されるようにします。したがって、ID 番号が「15」のプロジェクトがある場合、プロジェクト 15 の HTML テーブルで、そのプロジェクトの各トランザクションをそのテーブルの独自の行に表示する必要があります。ただし、移動 ID が「14」の場合、プロジェクト #14 のテーブルにのみトランザクションを表示したいと考えています。
これが私のコードです:
<?php
$script = '<script>
$(document).ready(function(){
$(".datepicker").datepicker();
}); </script>' ;
$title = "View/Edit Storage - " ;
include('inc/header.php');
$projects = mysqli_query($con, "SELECT projectname, moveid, customername, PPU, UoM FROM newproject");
$transactions = mysqli_query($con, "SELECT * FROM newtransaction as t where $tranresults[moveid] == t.moveid");
while ($results = mysqli_fetch_array($projects, MYSQLI_ASSOC)) {
echo "<table align='center'>";
echo "<th colspan='7'>";
echo $results[moveid] . " -- " . $results[projectname] . " c/o " . $results[customername] . " -- " . "$" . $results[PPU] . "/" . $results[UoM];
echo "</th>";
echo "<tr>";
echo "<td>Move ID</td>";
echo "<td>In/Out</td>";
echo "<td>Number of Units</td>";
echo "<td>Date</td>";
echo "<td>RR/DT#</td>";
echo "</tr>";
while ($tranresults = mysqli_fetch_array($transactions, MYSQLI_ASSOC)){
echo "<tr>";
echo "<td>$tranresults[moveid]</td>";
echo "<td>$tranresults[IORO]</td>";
echo "<td>$tranresults[units]</td>";
echo "<td>$tranresults[transdate]</td>";
echo "<td>$tranresults[refno]</td>";
echo "</tr>";
}?>
<tr>
<form action="transadded.php" name='addnewtransaction' method="POST">
<td><input type="text" name="moveID" size="20" value="<?php echo $results[moveid]; ?>" readonly> </td>
<td><select id="inoutselect" name="inorout">
<option value="Select">Select</option>
<option value="Storage In">Storage In</option>
<option value="Storage Out">Storage Out</option>
</select> </td>
<td><input type="text" name="numberofunits" size="20"></td>
<td><input type="text" name="dateoftransaction" size="20" class="datepicker"></td>
<td><input type="text" name="rrdt" size="20"> </td>
<td><input type="submit" value="Add" id="logsubmit"></td>
</form>
</table>
<br /><br />
<?php };?>
免責事項: 現在、コードが SQL インジェクションに対して脆弱であることは承知しており、基本的な機能が完成したら修正します。