2016-10-15 7 views
1

は可能なものですか?php concating変数とアクセス配列

for ($i = 1; $i <= 15; $i++) { 
     $var = "bild" . $i; 
     if (!empty ($row->bild.$i)) { 
      echo ' 
       <div class="item"> 
         <img border="no" class="bildschatten" src="include/images/projekte/'.$row->bild . $i.'" /> 
       </div> 
      '; 
     } 
    } 

どのように正しく表示されますか?問題です:..私は、このテーブル内の各オブジェクトは、15枚の画像

bild1を持って、mysqlデータベースからオブジェクトをフェッチ

bild15

今、私はこの15枚の画像を反復処理したいとかどうかを確認したいです列が空であるかどうか。

私が持っている問題はここにある:

$row->bild.$i 

列の値がbild1 .. bild15 ...それだけで$ I

の値が含まれていない含まれていることに感謝

+2

試し '$行 - > $ var'を。詳細については、[マニュアル](http://php.net/manual/en/language.variables.variable.php) –

+0

の謎を解き明かしてください...この愚かな質問には申し訳ありません。 – Felix

+0

@Felixは[normalize](https://en.wikipedia.org/wiki/Database_normalization)あなたのテーブル。 –

答えて

1

このコードは動作するはずです:

$row->{'bild'.$i} 
1

ます結果は配列uningとして取得できます。

$var = "bild" . $i; 
    if (!empty ($row[$var])) { 
+0

私はこれを受け取りました: '致命的なエラー:型のオブジェクトを配列として使用できません ' 行varはこれです:' while($ row = db_fetch_object($ sql)){' – Felix

+0

@Felix。答えの始めに示されているように、shuoldはdb_fetch_array($ result)を使用して結果を配列として取得します。 – scaisEdge

1

これは変数の変数と呼ばれ、$row->$varのようなものにアクセスする必要があります。

完全なソリューション:詳細については

for ($i = 1; $i <= 15; $i++) { 
    $var = "bild" . $i; 
    if (!empty ($row->$var)) { 
     echo ' 
      <div class="item"> 
        <img border="no" class="bildschatten" src="include/images/projekte/'.$row->$var.'" /> 
      </div> 
     '; 
    } 
} 

Manualをチェックアウト。