php sözdizimi karışıklık veritabanı sonucu erişen

2 Cevap php

Ben aşağıdakileri yapmaya çalışıyorum:

<?php foreach($sqlResult as $row): ?>
    <tr>
        <?php foreach($formdata['columns'] as $column): ?>
            <td><?php echo $row->$column['name']; ?></td>
        <?php endforeach; ?>
    </tr>
<?php endforeach; ?>

Bu işe yaramazsa.

Onlar iyi echo gibi $ row-> id, $ row-> yazar, $ row-> tarih, $ row-> başlık ve bu çalışma: $ satır benim mysql sorgusu tarafından döndürülen, bu şu var.

$ Sütunlar aşağıdaki dizidir:

'columns' => array
(
    1 => array
(
    'name' => 'id'
),
    2 => array
(
    'name' => 'author'
),
    3 => array
(
    'name' => 'date'
),
    4 => array
(
    'name' => 'title'
)

aynı zamanda id, yazar, tarih, başlık yankıları $ sütununda ['name'] olarak çalışıyor

benim soru bana $ row-> yöntemi (bir yöntemdir?) diziden bir isim geçirerek erişmek için nasıl mümkün olurdu?

2 Cevap

Sana ne yapmak istediğinizi anlamak% 100 emin değilim ama ben bunu istiyorum düşünüyorum:

 <td><?php echo $row->{$column['name']}; ?></td>

kıvırcık parantez fark. Onlar $column["name"] erişmek istediğiniz özelliği tam olarak yorumlanır emin olun. Şu anda, $column adında özellik ve dizi anahtarına name erişen.

Bunu deneyin:

$column_name = $column['name'];
echo $row->$column_name;

veya

echo $row->{$column['name']}

whichever feels mveyae readable.