我正在构建一个系统,主要用于巩固学习,但将在实践中使用。
我将尝试口头解释我关注的 ER 图的部分:
每个学员可以有许多uniformID
每个 Uniform ID 都是 table uniform 中的一个新条目,因此cadets
(table) 可能如下所示:
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
再三考虑,看起来我不需要数据库中的第三列。
我正在尝试遍历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 中进行了迭代