在数组循环中显示数组

时间:2014-09-04 06:03:13

标签: php mysql arrays loops

我正在开展一个项目,其中包含发票,报价等表格。

我被困在哪里 -

我将表中的引用值保存为n数组。例如: -

如果选择了两个服务,则以这种方式保存它:Service1,service2 同样,它的数量和费用也以同样的方式保存:

 Sqty : 1,1
 Scharge: 100,300

现在对于Invoice,我从POST

获取引用ID和服务名称
$qdetails = mysql_query("SELECT * FROM tbl_quotation WHERE id ='$qid';") 
 or die(mysql_error()); 
  $qdet = mysql_fetch_array( $qdetails );
  $pcharge = $qdet['pcharge'];
  $scharge = $qdet['scharge'];
  $pqty = $qdet['pqty'];
  $sqty = $qdet['sqty'];

然后显示下表中的输出 -  tbl_service_info是我的表,其中包含服务的所有详细信息

<?php

foreach ($_POST['service'] as $key => $value) {


$query=("select * from tbl_service_info WHERE sname = '$value'");

$result=mysql_query($query) or die ("Unable to Make the Query:" . mysql_error() );

while($row=mysql_fetch_array($result)){
$product = @$row["sname"];
$prid = @$row["id"];
$sdetails = @$row["details"];
  ?> 
      <tr class="item-row">
          <td class="item-name"><div class="delete-wpr">
<textarea name="services[]"><?php echo $value ; ?></textarea></div></td>
          <td class="description"><textarea><?php echo $sdetails; ?></textarea></td>
          <td><textarea class="description"><?php echo $sunit; ?></textarea></td>
               <?php    } 
 $scharge1 = explode(",",$scharge);
foreach ($scharge1 as $keysc => $valuesc) {   ?>


          <td><textarea class="cost" name="scharge[]"> <?php     
 echo $valuesc;?> </textarea>  </td> <?php } ?>




 <?php     
 $sqty1 = explode(",",$sqty);

foreach ($sqty1 as $key2 => $value2) { ?>
          <td><textarea class="qty" name="snos[]"><?php echo $value2;?></textarea></td>
<?php } ?>

          <td><span class="price"></span></td>
      </tr>

       <?php } ?>

这就是我得到的。

http://oi61.tinypic.com/286v30j.jpg

http://oi61.tinypic.com/286v30j.jpg

单位成本和编号不与主循环循环。

请帮忙。 也纠正我的问题如果我写错了方法。

...谢谢

1 个答案:

答案 0 :(得分:0)

根据我的评论,以下是适用于您的情况的解决方法。

您可以使用临时值来回显爆炸字符串的正确部分($ charge)

$i = 0;
while($row=mysql_fetch_array($result)){

// Rest of your code

    $scharge1 = explode(",",$scharge);
    // Remove that foreach ($scharge1 as $keysc => $valuesc) {   ?> 
    <td><textarea class="cost" name="scharge[]"> 
      <?php echo $scharge1[$i];?>
    </textarea></td> 

// Rest of your code, also change the NOS part

    // Before the very end of your while loop, increment $i
    ++$i;
}