epulgaron
(Jokercrazy05544)
April 23, 2014, 5:58pm
1
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
jdgz
(Jose Daniel Galvan)
April 23, 2014, 8:17pm
2
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 '<br>' . $row['siglas'] ;
echo '<br>' . $row['count'] ;
}
?>
epulgaron
(Jokercrazy05544)
April 23, 2014, 9:24pm
3
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.
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 '<br>' . $row['siglas'] ;
echo '<br>' . $row['count'] ;
}
?>
jdgz
(Jose Daniel Galvan)
April 24, 2014, 9:56pm
4
epulgaron:
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.
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’];
jdgz
(Jose Daniel Galvan)
April 28, 2014, 4:09pm
5
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