0

phpファイルにmysqlクエリを作成しましたが、同じことを実行したいのですが、JDatabaseを使用しています。たとえば、列と列画像の2つの列を持つテーブルがあるとします。これらの2つの列には、10行が含まれています。phpコードでリストを作成したいのですが、次のようにレンダリングされます。

Name | Image        |
---------------------
AAAA | blahblah.png |
---------------------
BBBB | hahahaha.png |
---------------------

mysqlを使用して動作させましたが、何らかの理由で、JDatabaseを使用して動作させる必要があります。私が今持っているものの例を見てください:

これは私の質問です:

$query="SELECT m.name, l.image
          FROM table1 AS m, table2 AS l
         WHERE m.id BETWEEN 70 AND 80
           AND l.id = 10
         ORDER BY m.id ASC";

$result=mysql_query($query);
$num=mysql_numrows($result);

これは私のphpコードです:

<?php $count = 0; while ($count < $num){
      $image = mysql_result($result,$count,"image"); ?>
<div><img src="'.$image.'"/></div><?php $count++;}?>

mysqlではなくJDatabaseを使用して同じことを行うにはどうすればよいですか?

4

2 に答える 2

1

別の例を次に示します。

<?php
$db =& JFactory::getDBO();        
$query="SELECT m.name, l.image
          FROM table1 AS m, table2 AS l
         WHERE m.id BETWEEN 70 AND 80
           AND l.id = 10
         ORDER BY m.id ASC";
$db->setQuery( $query );
$rows = $db->loadObjectList();
foreach( $rows as $row ): ?>
    <div><img src="<?php echo $row->image ?>"/></div>
<?php endforeach ?>

編集:ループの外側からこれらの行にアクセスするには、次の方法でアクセスできます。

$image_1st = $rows[0];
$image_2nd = $rows[1];
$image_3rd = $rows[2];

...等々

$image_1st_src = $image_1st->image;
$image_1st_src = $rows[0]->image;
于 2013-01-15T08:12:23.677 に答える
1

あなたはこれを試すことができます-

$db =& JFactory::getDBO();        
$query = "SELECT beta
            FROM table
           WHERE alpha BETWEEN 70 AND 80
           ORDER BY alpha ASC LIMIT 4 , 1";

$db->setQuery($query);
$beta = $db->loadResult();
于 2013-01-14T16:24:39.170 に答える