我正在寻找一种循环数据库并在html页面中显示结果的方法,我实际上正在为一个小项目创建一个伪造的电子邮件系统。
所以我有一个表名" SENDS"具有5列ID,Mailtext,Touser,Subject,Fromuser。 我想做的是当用户登录系统连接到数据库并选择所有内容时 来自SENDS,其中touser =' $ email' - 当用户登录并在html div中显示时,定义$ email
<div class="oubx">
<div class="inbx">
<span class="from"></span>
<span class="subject"></span>
<span class="mailtext"></span>
</div>
</div>
&#13;
.oubx {
height:27px; width:800px;
border:1px solid black;
margin-top:;
margin-left:80px;
float:left;
background-color:white;
}
.inbx {
height:22px; width:700px;
border:1px solid black;
margin-top:1px;
margin-left:45px;
background-color:white;
font-family:sans-serif;
font-weight:bold;
font-size:16px;
color:#808080;
float:left;
}
&#13;
当然从
中告诉他们主题是主题
mailtext就是邮件的内容(当然jQ会隐藏它,一旦点击它就会照顾它)
我已经使用了mysqli_num_rows,mysqli_fetch_array,for循环,foreach等,但我似乎无法理解它,我很难弄清楚如何通过步骤或者什么来设置它这一步是。请帮忙:)谢谢。
$connectDB = mysqli_connect("host","root","","db");
$touser = mysqli_query($connectDB, "select * from sends where touser='$email'");
$to_numrows = mysqli_num_rows($touser);
$to_fetch = mysqli_fetch_array($touser);
//printing of html code = how many rows
$ib = '<div class="oubx"><div class="inbx"><span class="from">'.$value.'</span><span class="subject">'.$value.'</span></div></div>';
for ($i = 0; $i < $to_numrows; $i++) {
echo $ib;
}
&#13;
其余的工作正在进行中..
答案 0 :(得分:0)
将查询结果放在变量中:
while ($row = $touser->fetch_array()) {
$rows[] = $row;
}
并用循环迭代它:
foreach ($rows as $row) {
/* show appropriate html here */
}
答案 1 :(得分:0)
试试这个,
$connectDB = mysqli_connect("host","root","","db");
$touser = mysqli_query($connectDB, "select * from sends where touser = '$email'");
$all_rows = mysqli_fetch_all($touser, MYSQLI_ASSOC);
$ib = '';
foreach($all_rows as $row) {
$ib .= '<div class="oubx">'
. '<div class="inbx">'
. '<span class="from">' . $row['Fromuser'] . '</span>'
. '<span class="subject">' . $row['Subject'] . '</span>'
. '</div>'
. '</div>';
}
echo $ib;
1 - mysqli_fetch_all
会将所有结果行提取到PHP数组中
2 - 我们用foreach循环它(不需要知道行数)
3 - Foreach行,我们将HTML附加到$ib
,最初设置为空字符串。
希望它有所帮助。