Consulta Sql

hola amigos, tengo esta consultaÑ

SELECT

orga_hc.orga_hc_siglas,

COUNT(anexo1.id)

FROM

anexo1

INNER JOIN entidadhc ON (anexo1.entidadhc_fk = entidadhc.id)

INNER JOIN orga_hc ON (entidadhc.orga_fk = orga_hc.id)

INNER JOIN provincia ON (entidadhc.provincia_fk = provincia.id)

WHERE

provincia.id=’".$lista[$i][“id”]."’

GROUP BY

orga_hc.orga_hc_siglas

donde $lista es un arreglo de provincias, el objetivo es que me muestre de cada provincia los organismo que tiene y de cada organismo la cantidad de entidades, ahora, la consulta funciona divinamente, mi problema es a la hora de mostrarla en el html, como puedo devolver el select de esta consulta? muchas gracias

Controller

public function actionIndex() {

$sql = "SELECT orga_hc.orga_hc_siglas as siglas, COUNT(anexo1.id) as count

      FROM anexo1 ..............";

$rawData = Yii::app()->db->createCommand($sql)->queryAll();

$this->render(‘index’, array(

'rawData'=>$rawData

));

}

View: index.php

<?php

foreach(rawData as $row) {

 echo '&lt;br&gt;' . &#036;row['siglas'] ;


 echo '&lt;br&gt;' . &#036;row['count'] ;

}

?>

gracias por lo que me mandastes, pero no me funciona, aqui te mando mi codigo para que mas o menos veas lo que estoy intendando hacer, quizas no sea la forma mas correcta pero hasta ahora me ha funcionado, el objetivo es que se me muestre despues del resultado de una busqueda, donde dinamicoProvOrg seria mi vista.

  1. OrgaHc::model()->findAllBySql($sql) te regresa un arreglo de ActiveRecord, no un array que es como lo quieres tratar.

(http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAllBySql-detail)

cambialo a:

$lista1 = Yii::app()->db->createCommand($sql)->queryAll();

esto te regresa un arreglo y cada resultado (row) es un arreglo

por lo que debes tratarlo de la siguiente forma:

foreach($lista1 as $lista) {

echo $lista[‘org’] . ’ - ’ . $lista[‘cant’]. ‘<br>’;

}

si el resultado de tu consulta siempre es un solo registro cambialo por:

$lista1 = Yii::app()->db->createCommand($sql)->queryRow();

el cual te regresa un solo resultado (row) en un arreglo y lo tratas asi:

echo $lista[‘org’] . ’ - ’ . $lista[‘cant’];

Tuviste exito con este tema?, no olvides compartir.

Saludos