私はcodeigniterライブラリを使用していますが、問題が発生しています。最初にこれが私の配列です
Array (
[0] => Array (
[product_name] => some data
[product_slug] => some data
[price] => some Data...
[sell_price] => 2000.00
)
[1] => Array (
[product_name] => some data
[product_slug] => some data
[price] => some Data...
[sell_price] => 2000.00
)
)
これがコントローラーの私のコードです:
$this->load->model('product_model');
$data['product']=$this->product_model->get_product();
$this->load->view('show_product',$data);
これが私のモデルコードです
function get_product()
{
return $this->db->query("SELECT * FROM dt_product")->result_array();
}
そして最終的に私のビューコード
<div class="featured_right_gallery_bellow">
<ul class="product_list">
<?php foreach($product as $product)
{?>
<li>
<div class="pro_name"><?php echo $product['product_name'];?></div>
</li>
<?php
}?>
</ul>
</div>
今私の質問は、product_nameの最初の20文字を表示したいということです....しかし、ここではフルネームが表示されています...
私は次のようなmysqlコードを記述できることを知っていSELECT LEFT(product_name,20),sell_price,price FROM dt_product
ます...しかし、テーブルには20近くの属性が含まれているため、それを実行したくありません。クエリを複数回変更する必要があります。オフセットの概念を使用してproduct_nameの最初の20文字を表示する方法の解決策に
$ product ['product_name'] [20]をエコーしようとしましたが、foreachループを使用すると、未定義のインデックスのエラーがスローされます。