2017-07-15 33 views
0

私はforループ内にネストされたforeachループを持っていますが、foreachループは別のループから来ています。 for eachループは値を出力しますが、forループの次の反復中にforeachは何も出力しません。 フィールドの残りの部分は問題ありませんが、すべてのiteratinsに印刷されます。forループ内のループは一度だけ実行されます

$product = GetProduct(); 
$metal_name = get_metal(); 
$count = count($product); 
<?php for($i=0;$i<$count;$i++) { ?> 
      <div class="form-group"> 

       <label class="col-sm-2 control-label col-lg-2">Choose Metal</label> 

       <div class="col-lg-10"> 

       <select class="form-control input-lg" name="metal_name[]"> 
       <option value=''>Select Metal Name</option>  
       <?php 
        foreach ($metal_name as $r) { ?> 
        <option value="<?php echo $r['metal_id'];?>" <?php if($r['metal_id'] == $product[$i]['metal']){echo "selected='selected'";}?>><?php echo ucfirst($r['metal_name']);?></option> 
       <?php } ?> 
       </select> 

       </div> 

      </div> 
<div class="form-group"> 

      <label class="col-sm-2 col-sm-2 control-label">Product ID</label> 

      <div class="col-sm-10"> 

       <input type="text" class="form-control" name="product_id[]" value="<?php echo $product[$i]['id'];?>"> 

      </div> 

      </div> 


      <div class="form-group"> 

       <label class="col-sm-2 col-sm-2 control-label">Charges Per Gram</label> 

       <div class="col-sm-10"> 

        <input type="text" class="form-control" name="gram_price[]" value="<?php echo $product[$i]['per_gram_price'];?>"> 

       </div> 

      </div> 
<?php } ?> 

答えて

0

私はあなたの前後の行に一つのことを見つけました:

<?php for($i=0;$i<$count;$i++) { ?> 

あなたはあなたの製品を取得し、そのようなされている場合上記のコード内でPHPの外に閉じませんでした。これはあなたにいくつかのエラーを与えるでしょう。

ループの点では、whileループはデータベース作業に適しています。

ここでは、あなたのためにそれを修正しました。いくつかのタイプミスがありました:私はあなたのために少しのコードを固定

<?php 
$product = GetProduct(); 
$metal_name = get_metal(); 
$count = count($product); 
or($i=0;$i<$count;$i++) { ?> 
     <div class="form-group"> 

      <label class="col-sm-2 control-label col-lg-2">Choose Metal</label> 

      <div class="col-lg-10"> 

      <select class="form-control input-lg" name="metal_name[]"> 
      <option value=''>Select Metal Name</option> 
      <?php 
       foreach ($metal_name as $r) { 
      ?> 
      <option value=" 
       <?php 
        echo $r['metal_id']; 
        if($r['metal_id'] == $product[$i]['metal']){ 
         echo "selected='selected'"; 
         echo ucfirst($r['metal_name']); 
        } 
       ?> 
      </option> 
      </select> 

      </div> 

     </div> 
     <div class="form-group"> 

     <label class="col-sm-2 col-sm-2 control-label">Product ID</label> 

     <div class="col-sm-10"> 

      <input type="text" class="form-control" name="product_id[]" value="<?php echo $product[$i]['id'];?>"> 

     </div> 

     </div> 


     <div class="form-group"> 

      <label class="col-sm-2 col-sm-2 control-label">Charges Per Gram</label> 

      <div class="col-sm-10"> 

       <input type="text" class="form-control" name="gram_price[]" value="<?php echo $product[$i]['per_gram_price']; ?>"> 

      </div> 

     </div> 

、これを試してみてください。

関連する問題