私は主に学習を統合するためのシステムを構築していますが、実際に使用されます。
私が焦点を当てているER図の部分を口頭で説明しようと思います。
各士官候補生は多くのユニフォームIDを持つことができます
各ユニフォームIDはテーブルユニフォームの新しいエントリであるため、cadets
(テーブル)は次のようになります。
id | name | ... | uniformID
1 | Example | ... | 1,2,3
uniform
テーブル:
id | notes | cadet
1 | Need new blahh | 1
2 | Some stuff needed | 1
3 | Whatever you like | 1
考え直してみると、データベースの3番目の列は必要ないようです。
私は、uniformID、コードの各IDを反復処理しようとしています。
<?php
$cadet = $_GET['id']; // set from URL
$query = mysql_query("SELECT `uniformID` FROM `cadets`
WHERE id = '$cadet' LIMIT 1")
or die(mysql_error()); // get uniform needed as string
// store it
while ($row = mysql_fetch_array($query)) {
$uniformArray = $row['uniformID'];
}
echo $uniformArray . " ";
$exploded = explode(",", $uniformArray); // convert into an array
// for each key in the array perform a new query
foreach ($exploded as $key => $value) {
$query(count($exploded));
$query[$key] = mysql_query("SELECT * FROM `uniform` WHERE `id` = '$value'");
}
?>
私が言うように、これは主に統合の目的ですが、私はエラーを思い付きました、sqlは言っています:
致命的なエラー:関数名は、82行目のC:\ wamp \ www \ intranet\uniform.phpの文字列である必要があります
82行目は次のとおりです。
$query[$key] = mysql_query("SELECT * FROM `uniform` WHERE `id` = '$value'");
それがうまくいくかどうかわからなかったので、私はそれを試しました、そして今私は立ち往生しています!
編集:
これに貢献してくれたすべての人に感謝します!これが機能するコードになりました。
foreach ($exploded as $key => $value) {
//$query(count($exploded));
$query = mysql_query("SELECT * FROM `uniform` WHERE `id` = '$value'");
while ($row = mysql_fetch_array($query)) {
echo "<tr>
<td>" . $row['id'] . "</td>
<td>" . $row['note'] . "</td>
</tr>";
}
}
whileを追加し、foreachにネストして反復を実行しました