Ver Mensaje Individual
  #9 (permalink)  
Antiguo 03/02/2010, 02:37
Aragorn_miki
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Consultas con Zend_Db

Pero eso lo hago en el bootstrap.php no? con el codigo:
Código:
protected function _initDatabaseRegistry()
{        	
//Obtenemos el nombre de la url 
$direc = $_SERVER['SERVER_NAME'];
		
//definimos el nombre de la bd y la tabla
if ($direc == "www.pag.com"){$table_name = 'em_t1';	$db_selection = 'db_es';}
elseif ($direc == "ar.pag.com"){$table_name = 'em_t2'; $db_selection = db_ar';}
elseif ($direc == 'cl.pag.com'){$table_name = 'em_t3'; $db_selection = 'db_cl';}
elseif ($direc == 'co.pag.com'){$table_name = 'em_t4';	$db_selection = 'db_co';}
elseif ($direc == 'mx.pag.com'){$table_name = 'em_t5_mx';	$db_selection = 'db_mx';}
elseif ($direc == 'it.pag.com'){$table_name = 'em_t6_it'; $db_selection = 'db_it';}
elseif ($direc == 'fr.pag.com'){$table_name = 'em_t7_fr'; $db_selection = 'db_fr';}
	elseif ($direc == 'uk.pag.com'){$table_name = 'em_t8_uk'; $db_selection = 'db_uk';}
	elseif ($direc == 'de.pag.com'){$table_name = 'em_t8_de'; $db_selection = 'db_de';}
	elseif ($direc == 'us.pag.com'){$table_name = 'em_t9_us'; $db_selection = 'db_us';}
	elseif ($direc == 'in.pag.com'){$table_name = 'em_t10_in'; $db_selection = 'db_in';}
	elseif ($direc == 'ij.pag.com'){$table_name = 'em_t11';	$db_selection = 'db_ij';}
		
// carga de configuracion
$dbconf = $this->getOption($db_selection);
//definimos la tabla de la base de datos
define($table_name, $dbconf->db->table->prefix);
// cargar conexion
$db = new Zend_Db_Adapter_Pdo_Mysql ($dbconf);
// guardar en registro
Zend_Registry::set ( "database", $db );
		
return $db;
}
Selecciono una bbdd en uncion de la url.

Habia probado de poner una tabla fija en el controller con las configuraciones de cada bbdd y crear un for que por cada entrada de la tabla realizara la query y lo guardase en un array, pero no lo hacia, no hacia el bucle porque no se como hacer la llamada:

Código:
// cargar conexion
$db = new Zend_Db_Adapter_Pdo_Mysql ($dbconf);
desde el controller.

///////////////////////////////////////////////////////////////////////////////////////////////

OTRA DUDA: (ya se que tengo muchas, lo siento)

He creado un sistema de pestañas para mi pagina principal, en el archivo layout tengo esto en el body:

Código:
<?php /* CONTENT */ ?>
	
	<div class="tabber" id="tab1">
	
	<h2><a name="tab1">Principal</a></h2>
		<h2><a name="tab1"></a></h2>
		<p><?php echo $this->layout()->content?></p>
      </div>
	
	
  <div class="tabbertab">
    <h2><a name="tab1">General</a></h2>
    <p><?php echo $this->action(index,index,errorevents); ?></p>
  </div>
  
  <div class="tabbertab">
    <h2>Pestaña2</h2>
    <p><?php echo $this->action(index,errorweb,errorevents); 
	//echo $this->layout()->content?></p>
  </div>
  
  <div class="tabbertab">
    <h2>Pestaña3</h2>
    <p><?php echo $this->action(index,errormdc,errrorevents);?></p>
  </div>
  <div class="tabbertab">
    <h2>Pestaña4</h2>
    <p><?php echo $this->action(index,queryp,querypaises); ?></p>   
  </div>

  
</div>
Con este codigo, respaldado por tabber.js que es el que crea las pestañas, tengo una serie de pestañas que cargan en cada una un controller y un action diferente pero el mismo model para asi hacerlo mas rapido que si utilizaba un model para cada controller (ya se que asi puede ser que rompa el MVC).

Funciona a la perfeccion, pero la question es que en cada pestaña me muestra una grafica, que es del dia actual y tengo unos enlaces que me crean una grafica de la fecha que seleccione. El problema es que para que pueda funcionar el sistema de pestañas bien ,he de poner la llamada
Código:
$this->action('action','controller','model');
porque si pongo
Código:
$this->layout()->content
en todas las pestañas me carga lo mismo, pues al hacer click en los enlaces me carga el resultado en la pestaña que he llamado PRINCIPAL que es donde tengo el
Código:
$this->layout()->content
.

Hay alguna manera de hacer un
Código:
$this->action('action','controller','model');
con parametros o algo para asi poder llamarla en cada pestaña??

Gracias!

Última edición por Aragorn_miki; 03/02/2010 a las 02:47 Razón: Ampliacion de dudas...