循环访问特定记录的数据库并显示结果 - PHP

时间:2014-10-11 12:50:54

标签: php html mysql loops

我正在寻找一种循环数据库并在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;
&#13;
&#13;

&#13;
&#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;
&#13;
&#13;

当然从

中告诉他们

主题是主题

mailtext就是邮件的内容(当然jQ会隐藏它,一旦点击它就会照顾它)

我已经使用了mysqli_num_rows,mysqli_fetch_array,for循环,foreach等,但我似乎无法理解它,我很难弄清楚如何通过步骤或者什么来设置它这一步是。请帮忙:)谢谢。

&#13;
&#13;
$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;
&#13;
&#13;

其余的工作正在进行中..

2 个答案:

答案 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,最初设置为空字符串。

希望它有所帮助。