2017-09-28 6 views
1

私はPHPプログラミングの初心者です。私はこのコードが正しいかどうかわかりません。どこかでこのコードを書いています。ここでは、私はexplode関数を使用して、その結果は2回返されます。Explode関数は結果を2回返します

<?php 
$SlNo = 1; 
foreach ($record as $r2) { // this is for fetching all form first table 
    ?> 
        <?php 
    foreach ($selectdata as $r) { // this is to fetch imploded record from second table 
     $test = $r->package_id; 
    } 

    $explode = explode(',', $test); 

    foreach ($explode as $r1) { 
     // echo $r1. "<br/>"; 

     if ($r2->package_name == $r1) { 

      ?> 
<div class="col-sm-4"> 
    <div class="checkbox"> 
     <input id="checkbox<?php echo $SlNo++ ; ?>" type="checkbox" 
      name="package[]" value="<?php echo $r1; ?>" checked="checked"> <label 
      for="checkbox<?php echo $SlNo++ ; ?>"> <?php echo $r1; ?></label> 
    </div> 
</div> 

<?php 
     } else { 
      ?> 
<div class="col-sm-4"> 
    <div class="checkbox"> 
     <input id="checkbox<?php echo $SlNo++ ; ?>" type="checkbox" 
      name="package[]" value="<?php echo $r2->package_name; ?>"> <label 
      for="checkbox<?php echo $SlNo++ ; ?>"> <?php echo $r2->package_name; ?></label> 
    </div> 
</div> 
<?php 
     } 
    } 
} 
?> 

これは私が上記の通信に基づいて、私の結果 issue now

+0

あなたの予想される出力は何ですか?今のエラーは何ですか? –

+0

私は結果を一度だけ表示したいです –

+0

'print_r($ explode);'これを '$ explode = explode( '、'、$ test);の次の行に追加し、値を確認します –

答えて

1

を取得する方法で、uがパッケージ値として$selectdataを述べました。 forループの前に分解してください。

<?php 

foreach($selectdata as $r) 
{ 
$t= $r->package_id; 
} 

$explode = explode(',',$t); 

$SlNo=1; 
foreach ($record as $r2) 
{ // this is for fetching all form first table 

//echo $r1. "<br/>"; 

if(in_array($r2->package_name, $explode)) 
{ 

?> 
<div class="col-sm-4"> 
    <div class="checkbox"> 
    <input id="checkbox<?php echo $SlNo++ ; ?>" type="checkbox" name="package[]" value="<?php foreach ($explode as $e){ echo $e; }?>" checked="checked"> 
    <label for="checkbox<?php echo $SlNo++ ; ?>"> <?php echo $r2->package_name; ?></label> 
    </div> 
</div> 

<?php 
} 
else 
{ 
?> 
<div class="col-sm-4"> 
    <div class="checkbox"> 
    <input id="checkbox<?php echo $SlNo++ ; ?>" type="checkbox" name="package[]" value="<?php echo $r2->package_name; ?>"> 
    <label for="checkbox<?php echo $SlNo++ ; ?>"> <?php echo $r2->package_name; ?></label> 
    </div> 
</div> 
<?php 
} 
} 
?> 
+0

ありがとう、私はいくつかの変更で答えを得た。 –

+0

@SoorajS上記のUAWの編集を参照してください。 $ selectdataは不必要にループしています。変数$ tは$ selectdataの最後の値だけを取得します。また、$ selectdataには単一の文字列値があり、繰り返しは必要ありません。 –

+0

このループを使用せずに、擬似値を取得することはできません。 –

関連する問題