把for循环放在需要循环的位置
而不是把整个输入页面都放在for中

解决方案 »

  1.   

    看输出的源码``
    最多是HTML有问题,所以没显示出来
      

  2.   

    $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[]数组等等,没测试过,供参考。
      

  3.   

    $row = $result->fetch_assoc(); 你这样取出来只得一条记录的,结果应该是一个二维数组才对,楼上的正解
      

  4.   

    但是如果我不添加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>';
      }
    是可以的啊
      

  5.   

    介绍个函数给你 extract
    LS的LS没理解对。
      

  6.   

    不是说了是HTML显示的问题吗?你HTML没学好吧`
      

  7.   

    我的html没学好,请具体指出,还有我用的for 循环应该没有问题吧?
      

  8.   

    你的for没问题,问题是你每次循环都将$row['....']赋给一个变量,应该赋给一个变量数组。
      

  9.   

    因为没有完整的代码,所以不能修改,我建议你先学好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;
      

  10.   

    我的代码中间有省略, 我想问为什么$num_results显示查询到不止一条的信息,但是for循环之后还是只显示一张订单的啊?
    -------------------------------------
    呵呵,回楼上,函数是好用地,问题是不同地。
    lz的问题很简单。
    for($j=0;$j<=2;$j++)
    {
     $i = $j;
    }
    echo $i;//it will output 2;
    $j就好比每次循环拿的每一行数据,但是结果$i只有一个数据,应该$i[] = $j;
      

  11.   

    哦,看错了,for到最后了。那估计问题如willko(珂[新手]->努力学习) 所言。
      

  12.   

    问题是willko(珂[新手]->努力学习)没说清楚for循环里面含有html怎么写才对啊!
      

  13.   

    比如
    <?php
    for{
    ?>
    <html></html>
    <?php
    }
    ?>
    不是这样写吗?
      

  14.   

    没见过这样写的
    <html>
    <head><title></title>
    </head>
    <body>
    <?php
    for(....)
    {
      赋值操作;
      echo "html代码" 或者在这里面分离php和html;
    }
    </body>
    </html>
    仔细看一下你代码,极其不规范啊,+U;
      

  15.   

    回楼上
    <?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"";    ?
      

  16.   

    当然是不能每句echo的,只是建议你使用规范一点的写法。
    你既然说可以那就可以吧。
    通常混编要尽量减少echo。
    你可以$html .= "你的html代码",这样可以不断拼接你的html代码,在需要的地方echo。
    或者使用模版将程序与页面分离。
    但是还是忍不住问一下,你为什么在for循环里面不断循环<html></html>?:)
      

  17.   

    <?php
    for{
    ?>
    <html></html>
    <?php
    }
    ?>
    不好意思!可能我这样写令你理解错了,我意思是<html></html>代表html代码,比如<table><td><tr>这些!
      

  18.   

    你贴出的主贴里循环了html一系列头标签,还有css定义....找些规范点的代码看看吧。
      

  19.   


    看看上面的代码,简直是垃圾啊~根本没有进行静态、动态的分离!这样的代码是不提倡使用的。
    <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}//而且,你这里的代码根本上就是垃圾太多,请把自己的代码好好清理一下吧,很多东西都是不必要有的
      

  20.   

    而且你把body和html都包含到了循环中,能不出现只显示一条的情况么?一个页面最多只能有一个body和html标记的说……
      

  21.   

    谢谢你帮我分离,其实我自己之前是分离的,但是不行啊!所以就放在for循环里试试了!然后就贴出来了
      

  22.   

    怎么可能不行?我一般都是那么写的啊!知道我一般怎么弄么?就是先生成一个<tr>对,虚幻的时候,一直都是循环的这个<TR>对!省下的都不需要管~非常容易实现