请教关于for循环中加入html的问题 把for循环放在需要循环的位置而不是把整个输入页面都放在for中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看输出的源码``最多是HTML有问题,所以没显示出来 $row = $result->fetch_assoc(); //这样写只是把指针指向的最后一行数据赋给了$row数组。请用while循环操作fetch_assoc()指针.......建议好好学习一下数组,这样一行行写赋值语句,累不累呀?$rs = '';while($row = $result->fetch_assoc()){ $rs[] = $row;}foreach($rs as $r){ foreach($r as $key=>$value) { $$key[] = $value; }}这样得到的是形如$YYYY[]数组,$mm[]数组等等,没测试过,供参考。 $row = $result->fetch_assoc(); 你这样取出来只得一条记录的,结果应该是一个二维数组才对,楼上的正解 但是如果我不添加html代码,同样的for循环是可以将我要的显示出来的,但是我想控制表格,所以我就加了html代码了。for ($i=0; $i <$num_results; $i++) { $row = $result->fetch_assoc(); echo '<p><strong>'.($i+1).'. 年: '; echo htmlspecialchars(stripslashes($row['YYYY'])); echo '</strong><br />月: '; echo stripslashes($row['MM']); echo '<br />日: '; echo stripslashes($row['DD']); echo '<br />ordernumber: '; echo stripslashes($row['ordernumber']); echo '</p>'; }是可以的啊 介绍个函数给你 extractLS的LS没理解对。 不是说了是HTML显示的问题吗?你HTML没学好吧` 我的html没学好,请具体指出,还有我用的for 循环应该没有问题吧? 你的for没问题,问题是你每次循环都将$row['....']赋给一个变量,应该赋给一个变量数组。 因为没有完整的代码,所以不能修改,我建议你先学好HTML再学PHP吧``HTML是基础对于PHP我给你一点修改的意见$row = $result->fetch_assoc();$YYYY=$row['YYYY']; /// 直接用 extract($row); 就可以代替你复杂的附值$MM=$row['MM'];$DD=$row['DD'];$hour=$row['hour'];$minute=$row['minute'];$delivery_method=$row['delivery_method'];$arrival_time=$row['arrival_time'];$companyname=$row['companyname'];$telephone=$row['telephone'];$address=$row['address'];$person=$row['person'];$punchstyle=$row['punchstyle'];$adhesive=$row['adhesive'];$cover_paper1=$row['cover_paper1'];$cover_color1=$row['cover_color1'];$cover_paper2=$row['cover_paper2'];$cover_color2=$row['cover_color2'];$bookbinding=$row['bookbinding'];$cover_paper3=$row['cover_paper3'];$cover_color3=$row['cover_color3'];$content=$row['content'];$paper_type=$row['paper_type'];$paper_size=$row['paper_size'];$printing_surface=$row['printing_surface'];$number_of_copies=$row['number_of_copies'];$number_of_prints=$row['number_of_prints'];$special_requirements=$row['special_requirements'];$res=$row['res'];$inkjet_printer=$row['inkjet_printer'];$sales=$row['sales'];$billing_rapporteur=$row['billing_rapporteur'];$original_binding=$row['original_binding'];$separated_paper=$row['separated_paper'];$separated_paper_color=$row['separated_paper_color'];$placed_title=$row['placed_title'];$cover_signs=$row['cover_signs'];$corporate_logo=$row['corporate_logo'];$ordernumber=$row['ordernumber'];$Y=$row['Y'];$m=$row['m'];$d=$row['d'];$N=$row['N'];$his=$row['his']; /// 直接用 extract($row); 就可以代替你复杂的附值if($N == '1') // 为什么不用switch 语句呢?echo '星期一';elseif($N == '2')echo '星期二';elseif($N == '3')echo '星期三';elseif($N == '4')echo '星期四';elseif($N == '5')echo '星期五';elseif($N == '6')echo '星期六';elseif($N == '7')echo '星期日';echo $his; 我的代码中间有省略, 我想问为什么$num_results显示查询到不止一条的信息,但是for循环之后还是只显示一张订单的啊?-------------------------------------呵呵,回楼上,函数是好用地,问题是不同地。lz的问题很简单。for($j=0;$j<=2;$j++){ $i = $j;}echo $i;//it will output 2;$j就好比每次循环拿的每一行数据,但是结果$i只有一个数据,应该$i[] = $j; 哦,看错了,for到最后了。那估计问题如willko(珂[新手]->努力学习) 所言。 问题是willko(珂[新手]->努力学习)没说清楚for循环里面含有html怎么写才对啊! 比如<?phpfor{?><html></html><?php}?>不是这样写吗? 没见过这样写的<html><head><title></title></head><body><?phpfor(....){ 赋值操作; echo "html代码" 或者在这里面分离php和html;}</body></html>仔细看一下你代码,极其不规范啊,+U; 回楼上<?php $selection_query = mysql_query("select * from database",$data); while ($selection = mysql_fetch_array($selection_query)){ //form ?> <tr> <td><table width="80%" align="center" cellpadding="0" cellspacing="0"> <tr> <form action="insert.php" method="POST"> <input type="hidden" value="<?=$selection['kaidan_id']?>" name="deletion"> <td><?=$selection['kaidan_number']?></td> <td><?=$selection['company_name']?></td> <td><input type="button" name="modify" value="modify" onclick="show_modify(<?=$selection['kaidan_id']?>)"></td> <td><input type="submit" name="delete" value="delete"></td> </form> <tr><td> <div id="mod_<?=$selection['kaidan_id']?>" style="display:none;"> <form action="insert.php" method="POST"> <table width="80%" align="center" cellpadding="0" cellspacing="0"> <tr><input type="hidden" value="<?=$selection['kaidan_id']?>" name="modification"> <td><input type="text" name="text_number"></td> <td><input type="text" name="text_company"></td> <td><input type="submit" name="thank" value="Thank"></td> </tr> </table> </form> </div> </td> </tr> </table></td> </tr> <?php }//end while ?>类似这样写的代码是可以的无论是for还是while比如:<?phpfor{?><html></html><?php}?>没见过这样写的<html><head><title></title></head><body><?phpfor(....){ 赋值操作; echo "html代码" 或者在这里面分离php和html;}</body></html>仔细看一下你代码,极其不规范啊,+U;但是你的写法不就每句html都要 echo""; ? 当然是不能每句echo的,只是建议你使用规范一点的写法。你既然说可以那就可以吧。通常混编要尽量减少echo。你可以$html .= "你的html代码",这样可以不断拼接你的html代码,在需要的地方echo。或者使用模版将程序与页面分离。但是还是忍不住问一下,你为什么在for循环里面不断循环<html></html>?:) <?phpfor{?><html></html><?php}?>不好意思!可能我这样写令你理解错了,我意思是<html></html>代表html代码,比如<table><td><tr>这些! 你贴出的主贴里循环了html一系列头标签,还有css定义....找些规范点的代码看看吧。 看看上面的代码,简直是垃圾啊~根本没有进行静态、动态的分离!这样的代码是不提倡使用的。<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>查询结果</title></head><body><style>.tdp{border-bottom: 1 solid #000000;border-left: 1 solid #000000;border-right: 0 solid #ffffff;border-top: 0 solid #ffffff;}.tabp{border-color: #000000 #000000 #000000 #000000;border-style: solid;border-top-width: 2px;border-right-width: 2px;border-bottom-width: 1px;border-left-width: 1px;}.style1 {font-size: 12px}.style2 {border-bottom: 1 solid #000000; border-left: 1 solid #000000; border-right: 0 solid #ffffff; border-top: 0 solid #ffffff; font-size: 12px; }</style><?phpfor ($i=0; $i<$num_results; $i++){$row = $result->fetch_assoc();$YYYY=$row['YYYY'];$MM=$row['MM'];$DD=$row['DD'];$hour=$row['hour'];$minute=$row['minute'];$delivery_method=$row['delivery_method'];$arrival_time=$row['arrival_time'];$companyname=$row['companyname'];$telephone=$row['telephone'];$address=$row['address'];$person=$row['person'];$punchstyle=$row['punchstyle'];$adhesive=$row['adhesive'];$cover_paper1=$row['cover_paper1'];$cover_color1=$row['cover_color1'];$cover_paper2=$row['cover_paper2'];$cover_color2=$row['cover_color2'];$bookbinding=$row['bookbinding'];$cover_paper3=$row['cover_paper3'];$cover_color3=$row['cover_color3'];$content=$row['content'];$paper_type=$row['paper_type'];$paper_size=$row['paper_size'];$printing_surface=$row['printing_surface'];$number_of_copies=$row['number_of_copies'];$number_of_prints=$row['number_of_prints'];$special_requirements=$row['special_requirements'];$res=$row['res'];$inkjet_printer=$row['inkjet_printer'];$sales=$row['sales'];$billing_rapporteur=$row['billing_rapporteur'];$original_binding=$row['original_binding'];$separated_paper=$row['separated_paper'];$separated_paper_color=$row['separated_paper_color'];$placed_title=$row['placed_title'];$cover_signs=$row['cover_signs'];$corporate_logo=$row['corporate_logo'];$ordernumber=$row['ordernumber'];$Y=$row['Y'];$m=$row['m'];$d=$row['d'];$N=$row['N'];$his=$row['his'];?><table align="center"><tr><td width="400"><?phpecho '<p>订单提交时间: ';date_default_timezone_set('Asia/Hong_Kong');echo $Y;echo '年';echo $m;echo '月';echo $d;echo '日';if($N == '1')echo '星期一';elseif($N == '2')echo '星期二';elseif($N == '3')echo '星期三';elseif($N == '4')echo '星期四';elseif($N == '5')echo '星期五';elseif($N == '6')echo '星期六';elseif($N == '7')echo '星期日';echo $his;//这段代码,应当使用switch,使用if实在是太难受了……?></td><td align="right"width="250"><?phpecho '订单号码:';echo 'TH';echo $ordernumber;?></td></tr></table><table align="center"cellspacing="0" bordercolor="#000000"class="tabp"><tr><td width="115" height="25" align="center" bgcolor="#CCCCCC"class="tdp">要求完成时间</td><td align="center" width="180" height="25"class="tdp"><?phpecho $YYYY.'年';echo $MM.'月';echo $DD.'日';if($hour==false)echo '/时';else echo $hour.'时';if($minute==false)echo '/分';else echo $minute.'分';?></td>...........................</body></html><?php}//而且,你这里的代码根本上就是垃圾太多,请把自己的代码好好清理一下吧,很多东西都是不必要有的 而且你把body和html都包含到了循环中,能不出现只显示一条的情况么?一个页面最多只能有一个body和html标记的说…… 谢谢你帮我分离,其实我自己之前是分离的,但是不行啊!所以就放在for循环里试试了!然后就贴出来了 怎么可能不行?我一般都是那么写的啊!知道我一般怎么弄么?就是先生成一个<tr>对,虚幻的时候,一直都是循环的这个<TR>对!省下的都不需要管~非常容易实现 php导入excel单元格中的批注怎么导入? 哪位有好用的PHP截取字符串的函数 mysql数据库中新建了用户权限不够 怎么给用户增加权限 要进行手机网站的开发,有没有手机模拟器? htaccess问题 安装PHP中的问题,选择什么Web Server不太清楚? 求这种的算法 请问,数据表中有33个字段会不会影响效率呀? 取总数时,用select count(*) 和 select count(id),id为主键,在效率上有区别吗? PHP如何JAVA的如下代码 好难的动态组合啊,没做过,我想请教有经验的大哥大姐帮我想想。。。 php中数组能储存对象吗?如果能,取出后需要强制转换吗?
最多是HTML有问题,所以没显示出来
请用while循环操作fetch_assoc()指针.......
建议好好学习一下数组,这样一行行写赋值语句,累不累呀?
$rs = '';
while($row = $result->fetch_assoc())
{
$rs[] = $row;
}
foreach($rs as $r)
{
foreach($r as $key=>$value)
{
$$key[] = $value;
}
}
这样得到的是形如$YYYY[]数组,$mm[]数组等等,没测试过,供参考。
{
$row = $result->fetch_assoc();
echo '<p><strong>'.($i+1).'. 年: ';
echo htmlspecialchars(stripslashes($row['YYYY']));
echo '</strong><br />月: ';
echo stripslashes($row['MM']);
echo '<br />日: ';
echo stripslashes($row['DD']);
echo '<br />ordernumber: ';
echo stripslashes($row['ordernumber']);
echo '</p>';
}
是可以的啊
LS的LS没理解对。
对于PHP我给你一点修改的意见$row = $result->fetch_assoc();
$YYYY=$row['YYYY']; /// 直接用 extract($row); 就可以代替你复杂的附值
$MM=$row['MM'];
$DD=$row['DD'];
$hour=$row['hour'];
$minute=$row['minute'];
$delivery_method=$row['delivery_method'];
$arrival_time=$row['arrival_time'];
$companyname=$row['companyname'];
$telephone=$row['telephone'];
$address=$row['address'];
$person=$row['person'];
$punchstyle=$row['punchstyle'];
$adhesive=$row['adhesive'];
$cover_paper1=$row['cover_paper1'];
$cover_color1=$row['cover_color1'];
$cover_paper2=$row['cover_paper2'];
$cover_color2=$row['cover_color2'];
$bookbinding=$row['bookbinding'];
$cover_paper3=$row['cover_paper3'];
$cover_color3=$row['cover_color3'];
$content=$row['content'];
$paper_type=$row['paper_type'];
$paper_size=$row['paper_size'];
$printing_surface=$row['printing_surface'];
$number_of_copies=$row['number_of_copies'];
$number_of_prints=$row['number_of_prints'];
$special_requirements=$row['special_requirements'];
$res=$row['res'];
$inkjet_printer=$row['inkjet_printer'];
$sales=$row['sales'];
$billing_rapporteur=$row['billing_rapporteur'];
$original_binding=$row['original_binding'];
$separated_paper=$row['separated_paper'];
$separated_paper_color=$row['separated_paper_color'];
$placed_title=$row['placed_title'];
$cover_signs=$row['cover_signs'];
$corporate_logo=$row['corporate_logo'];
$ordernumber=$row['ordernumber'];
$Y=$row['Y'];
$m=$row['m'];
$d=$row['d'];
$N=$row['N'];
$his=$row['his']; /// 直接用 extract($row); 就可以代替你复杂的附值
if($N == '1') // 为什么不用switch 语句呢?
echo '星期一';
elseif($N == '2')
echo '星期二';
elseif($N == '3')
echo '星期三';
elseif($N == '4')
echo '星期四';
elseif($N == '5')
echo '星期五';
elseif($N == '6')
echo '星期六';
elseif($N == '7')
echo '星期日';
echo $his;
-------------------------------------
呵呵,回楼上,函数是好用地,问题是不同地。
lz的问题很简单。
for($j=0;$j<=2;$j++)
{
$i = $j;
}
echo $i;//it will output 2;
$j就好比每次循环拿的每一行数据,但是结果$i只有一个数据,应该$i[] = $j;
<?php
for{
?>
<html></html>
<?php
}
?>
不是这样写吗?
<html>
<head><title></title>
</head>
<body>
<?php
for(....)
{
赋值操作;
echo "html代码" 或者在这里面分离php和html;
}
</body>
</html>
仔细看一下你代码,极其不规范啊,+U;
<?php
$selection_query = mysql_query("select * from database",$data);
while ($selection = mysql_fetch_array($selection_query)){
//form
?>
<tr>
<td><table width="80%" align="center" cellpadding="0" cellspacing="0">
<tr>
<form action="insert.php" method="POST">
<input type="hidden" value="<?=$selection['kaidan_id']?>" name="deletion">
<td><?=$selection['kaidan_number']?></td>
<td><?=$selection['company_name']?></td>
<td><input type="button" name="modify" value="modify" onclick="show_modify(<?=$selection['kaidan_id']?>)"></td>
<td><input type="submit" name="delete" value="delete"></td>
</form>
<tr><td>
<div id="mod_<?=$selection['kaidan_id']?>" style="display:none;">
<form action="insert.php" method="POST">
<table width="80%" align="center" cellpadding="0" cellspacing="0">
<tr><input type="hidden" value="<?=$selection['kaidan_id']?>" name="modification">
<td><input type="text" name="text_number"></td>
<td><input type="text" name="text_company"></td>
<td><input type="submit" name="thank" value="Thank"></td>
</tr>
</table>
</form>
</div>
</td>
</tr>
</table></td>
</tr>
<?php
}//end while
?>
类似这样写的代码是可以的
无论是for还是while
比如:
<?php
for{
?>
<html></html>
<?php
}
?>
没见过这样写的
<html>
<head><title></title>
</head>
<body>
<?php
for(....)
{
赋值操作;
echo "html代码" 或者在这里面分离php和html;
}
</body>
</html>
仔细看一下你代码,极其不规范啊,+U;
但是你的写法不就每句html都要 echo""; ?
你既然说可以那就可以吧。
通常混编要尽量减少echo。
你可以$html .= "你的html代码",这样可以不断拼接你的html代码,在需要的地方echo。
或者使用模版将程序与页面分离。
但是还是忍不住问一下,你为什么在for循环里面不断循环<html></html>?:)
for{
?>
<html></html>
<?php
}
?>
不好意思!可能我这样写令你理解错了,我意思是<html></html>代表html代码,比如<table><td><tr>这些!
看看上面的代码,简直是垃圾啊~根本没有进行静态、动态的分离!这样的代码是不提倡使用的。
<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>查询结果</title>
</head><body>
<style>
.tdp
{
border-bottom: 1 solid #000000;
border-left: 1 solid #000000;
border-right: 0 solid #ffffff;
border-top: 0 solid #ffffff;
}
.tabp
{
border-color: #000000 #000000 #000000 #000000;
border-style: solid;
border-top-width: 2px;
border-right-width: 2px;
border-bottom-width: 1px;
border-left-width: 1px;
}
.style1 {font-size: 12px}
.style2 {border-bottom: 1 solid #000000; border-left: 1 solid #000000; border-right: 0 solid #ffffff; border-top: 0 solid #ffffff; font-size: 12px; }
</style><?php
for ($i=0; $i<$num_results; $i++){
$row = $result->fetch_assoc();
$YYYY=$row['YYYY'];
$MM=$row['MM'];
$DD=$row['DD'];
$hour=$row['hour'];
$minute=$row['minute'];
$delivery_method=$row['delivery_method'];
$arrival_time=$row['arrival_time'];
$companyname=$row['companyname'];
$telephone=$row['telephone'];
$address=$row['address'];
$person=$row['person'];
$punchstyle=$row['punchstyle'];
$adhesive=$row['adhesive'];
$cover_paper1=$row['cover_paper1'];
$cover_color1=$row['cover_color1'];
$cover_paper2=$row['cover_paper2'];
$cover_color2=$row['cover_color2'];
$bookbinding=$row['bookbinding'];
$cover_paper3=$row['cover_paper3'];
$cover_color3=$row['cover_color3'];
$content=$row['content'];
$paper_type=$row['paper_type'];
$paper_size=$row['paper_size'];
$printing_surface=$row['printing_surface'];
$number_of_copies=$row['number_of_copies'];
$number_of_prints=$row['number_of_prints'];
$special_requirements=$row['special_requirements'];
$res=$row['res'];
$inkjet_printer=$row['inkjet_printer'];
$sales=$row['sales'];
$billing_rapporteur=$row['billing_rapporteur'];
$original_binding=$row['original_binding'];
$separated_paper=$row['separated_paper'];
$separated_paper_color=$row['separated_paper_color'];
$placed_title=$row['placed_title'];
$cover_signs=$row['cover_signs'];
$corporate_logo=$row['corporate_logo'];
$ordernumber=$row['ordernumber'];
$Y=$row['Y'];
$m=$row['m'];
$d=$row['d'];
$N=$row['N'];
$his=$row['his'];
?><table align="center">
<tr>
<td width="400">
<?php
echo '<p>订单提交时间: ';
date_default_timezone_set('Asia/Hong_Kong');
echo $Y;
echo '年';
echo $m;
echo '月';
echo $d;
echo '日';
if($N == '1')
echo '星期一';
elseif($N == '2')
echo '星期二';
elseif($N == '3')
echo '星期三';
elseif($N == '4')
echo '星期四';
elseif($N == '5')
echo '星期五';
elseif($N == '6')
echo '星期六';
elseif($N == '7')
echo '星期日';
echo $his;//这段代码,应当使用switch,使用if实在是太难受了……
?>
</td><td align="right"width="250">
<?php
echo '订单号码:';
echo 'TH';
echo $ordernumber;
?>
</td>
</tr>
</table><table align="center"cellspacing="0" bordercolor="#000000"class="tabp">
<tr>
<td width="115" height="25" align="center" bgcolor="#CCCCCC"class="tdp">要求完成时间</td>
<td align="center" width="180" height="25"class="tdp">
<?php
echo $YYYY.'年';
echo $MM.'月';
echo $DD.'日';
if($hour==false)
echo '/时';
else echo $hour.'时';
if($minute==false)
echo '/分';
else echo $minute.'分';
?>
</td>
..........
........
.....
....
</body>
</html>
<?php}//而且,你这里的代码根本上就是垃圾太多,请把自己的代码好好清理一下吧,很多东西都是不必要有的