【发布时间】:2018-08-18 04:52:10
【问题描述】:
朋友们好
我提供的代码显示了与登录用户关联的数据(模块 ID 和模块名称)。目前,它显示了与用户登录时应显示在屏幕上的 moduleID 关联的特定 html 代码。我想实现一种方法来遍历值(可能是循环中的 if-else 语句),以便特定的 html 代码我当用户有一个或多个 moduleID 附加到他们时显示。
这是我的主页Demo.php
<?php
session_start();
//including the database connection file
include 'config.php';
$cuserID= $_SESSION['userID'];
//fetching data in descending order (lastest entry first)
//$result = mysql_query("SELECT * FROM users ORDER BY id DESC"); // mysql_query is deprecated
$result = mysqli_query($mysqli, "SELECT m.moduleID, m.moduleName
FROM modules m
JOIN courses c ON m.courseID = c.courseID
JOIN usersDemo u ON c.courseID = u.courseID
WHERE userID = '$cuserID'"); // using mysqli_query instead
//while($res = mysql_fetch_array($result)) { // mysql_fetch_array is deprecated, we need to use mysqli_fetch_array
while($res = mysqli_fetch_array($result)) {
echo "
<div id='loader-wrapper'>
<div id='loader'><div id='loader1'>
</div>
</div>
<p><a onclick='IS4439Function()'>IS4437</a></p>
</div>
";
}
?>
这是附加到IS4437的moduleID的html代码
<div id="loader-wrapper">
<div id="loader"><div id="loader1">
</div>
</div>
<p><a onclick="IS4439Function()">IS4437</a></p>
</div>
这是附加在IS4408的moduleID上的html代码
<div id="loader-wrapper1">
<div id="loader"><div id="loader1">
</div>
</div>
<p><a onclick="IS4408Function()">IS4408</a></p>
</div>
编辑
正如我提到的我目前遇到的问题,这些是我已经尝试过的不同方法。
最初在将html嵌入到homepageDemo.PHP中的while循环之前,我只是将与登录用户关联的moduleID和moduleName作为文本返回
<?php
session_start();
//including the database connection file
include 'config.php';
$cuserID= $_SESSION['userID'];
//fetching data in descending order (lastest entry first)
//$result = mysql_query("SELECT * FROM users ORDER BY id DESC"); // mysql_query is deprecated
$result = mysqli_query($mysqli, "SELECT m.moduleID, m.moduleName
FROM modules m
JOIN courses c ON m.courseID = c.courseID
JOIN usersDemo u ON c.courseID = u.courseID
WHERE userID = '$cuserID'"); // using mysqli_query instead
//while($res = mysql_fetch_array($result)) { // mysql_fetch_array is deprecated, we need to use mysqli_fetch_array
while($res = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>"."<a>".$res['moduleID']."</a>"."</td>";
echo "<td>"."<a>".$res['moduleName']."</a>"."</td>";
}
?>
然后我尝试遍历这些值以返回与每个单独的 moduleID 关联的 html 代码
切换语句尝试:
while($res = mysqli_fetch_array($result)) {
switch ($cuserID) {
case 1:
echo "
<div id='loader-wrapper'>
<div id='loader'><div id='loader1'>
</div>
</div>
<p><a onclick='IS4439Function()'>IS4437</a></p>
</div>
";
break;
case 2:
echo "
<div id='loader-wrapper'>
<div id='loader'><div id='loader1'>
</div>
</div>
<p><a onclick='IS4408Function()'>IS4408</a></p>
</div>
";
break;
case 7:
echo"
<div id='loader-wrapper'>
调用的函数
function IS4439Function() {
{
window.location.href = "global.php";
}
}
function IS4408Function() {
{
window.location.href = "isStrategy.php";
}
}
function IS4449Function() {
{
window.location.href = "webApp.php";
}
}
不幸的是,我想要实现的目标都没有。有什么想法吗?
【问题讨论】:
-
嗨,我是 php 新手,如果你能告诉我哪里出错了,或者这可能是重复的并且我的问题已经存在,我将不胜感激被问到然后链接答案。谢谢
-
“我的问题是,您对如何实现 while 循环有任何见解或编码示例吗?” 所以不是您来获取代码示例或洞察你应该怎么做。
-
您已经将行数据导入
$res。对如何访问mysqli_fetch_array()的调用结果进行一些基本搜索。 -
这是一个常见的误解,SO isn't a forum,它是一个问答网站,(对某些人来说)有严格的规则/指导方针,说明什么可以做,什么不可以做。这更像是“我有 X 问题,我已经尝试过 A 和 B,这是我的代码的一个最小示例,其中提到了错误” - 或者它的一些变体。
-
嗨@Epodax 我会更新我的问题来做到这一点。谢谢
标签: php sql loops mysqli while-loop