Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2011, 22:52
xMarioHx
 
Fecha de Ingreso: septiembre-2009
Mensajes: 33
Antigüedad: 14 años, 7 meses
Puntos: 1
recojer datos de DB - Smarty

Hola, estoy trabajando con smarty y soy nuevo en este tema.

ojala puedan ayudarme.

estoy recogiendo datos de una base de datos y necesito imprimirlos todos en tablas de html ordenados

antes de usar smarty, probe hacerlo de esta manera y me funciono perfecto.


Código PHP:
$tposquery doquery("SELECT * FROM {{table}} WHERE equipo='".$tiposid."' LIMIT 50""tpos");
        while (
$tposrow mysql_fetch_array($tposquery)){
        echo 
"<table id=\"columnATabla\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
        echo 
"  <tr>\n";
        echo 
"    <td>Día</td>\n";
        echo 
"    <td>Tipo</td>\n";
        echo 
"    <td>Horario</td>\n";
        echo 
"    <td>Hr_dura</td>\n";
        echo 
"    <td>Tipo_eq</td>\n";
        echo 
"    <td>Equipo </td>\n";
        echo 
"    <td>Categoria</td>\n";
        echo 
"  </tr>\n";
        echo 
"  <tr>\n";
        echo 
"    <td>".$tposrow['dia']."</td>\n";
        echo 
"    <td>".$tposrow['tpo']."</td>\n";
        echo 
"    <td>".$tposrow['horario']."</td>\n";
        echo 
"    <td>".$tposrow['hr_dura']."</td>\n";
        echo 
"    <td>".$tposrow['tipo_eq']."</td>\n";
        echo 
"    <td>".$tposrow['equipo']."</td>\n";
        echo 
"    <td>".$tposrow['Categoria']."</td>\n";
        echo 
"  </tr>\n";
        echo 
"</table>\n";
        
        echo 
"<table id=\"columnATabla\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
        echo 
"  <tr>\n";
        echo 
"    <td>Estado</td>\n";
        echo 
"    <td>Razon</td>\n";
        echo 
"    <td>Region</td>\n";
        echo 
"    <td>Ubicación</td>\n";
        echo 
"    <td>Operador</td>\n";
        echo 
"    <td>Grupo</td>\n";
        echo 
"    <td>Turno</td>\n";
        echo 
"  </tr>\n";
        echo 
"  <tr>\n";
        echo 
"    <td>".$tposrow['estado']."</td>\n";
        echo 
"    <td>".$tposrow['Razon']."</td>\n";
        echo 
"    <td>".$tposrow['Region']."</td>\n";
        echo 
"    <td>".$tposrow['ubicacion']."</td>\n";
        echo 
"    <td>".$tposrow['operador']."</td>\n";
        echo 
"    <td>".$tposrow['grupo']."</td>\n";
        echo 
"    <td>".$tposrow['turno']."</td>\n";
        echo 
"  </tr>\n";
        echo 
"</table><br />\n";
        } 


ahora con smarty separa la plantilla

y tengo problemas, solo me imprime una sola tabla y no las 50.


el código lo tengo así.

Código PHP:
$tposquery doquery("SELECT * FROM {{table}} WHERE equipo='".$tiposid."' LIMIT 50""tpos");
        while (
$tposrow mysql_fetch_array($tposquery)){
            
$html->assign('tipos', array(
                                        
"dia" => $tposrow["dia"],
                                        
"tpo" => $tposrow["dia"], 
                                        
"horario" => $tposrow["horario"],
                                        
"hr_dura" => $tposrow["hr_dura"],
                                        
"tipo_eq" => $tposrow["tipo_eq"],
                                        
"equipo" => $tposrow["equipo"],
                                        
"categoria" => $tposrow["Categoria"],
                                        
"estado" => $tposrow["estado"],
                                        
"razon" => $tposrow["Razon"],
                                        
"region" => $tposrow["Region"],
                                        
"ubicacion" => $tposrow["ubicacion"],
                                        
"operador" => $tposrow["operador"],
                                        
"grupo" => $tposrow["grupo"],
                                        
"turno" => $tposrow["turno"]));

        }
$html->display('resultados.tpl');
mysql_free_result($tposquery); 

y el tpl de esta forma.

Código HTML:
{include file="header.tpl" titulo="Inicio"}

<div id="content">
	<div id="columnA">
		<h2>Bienvenidos </h2>

	
	<p>Este es un ejemplo de la tabla TIPOS.</p>
	<p>Por favor seleccione un equipo para imprimir todo los campos de la tabla seleccionada.</p>
	<table id="columnATabla" border="1" cellpadding="0" cellspacing="0">
		<tr>
			<td>Dia</td>
			<td>Tipo</td>
			<td>Horario</td>
			<td>Hr_dura</td>
			<td>Tipo_eq</td>
			<td>Equipo </td>
			<td>Categoria</td>
		</tr>
		<tr>
			<td>{$tipos.dia}</td>
			<td>{$tipos.tpo}</td>
			<td>{$tipos.horario}</td>
			<td>{$tipos.hr_dura}</td>
			<td>{$tipos.tipo_eq}</td>
			<td>{$tipos.equipo}</td>
			<td>{$tipos.categoria}</td>
		</tr>
	</table>
	
	<table id="columnATabla" border="1" cellpadding="0" cellspacing="0">
		<tr>
			<td>Estado</td>
			<td>Razon</td>
			<td>Region</td>
			<td>Ubicacion</td>
			<td>Operador</td>
			<td>Grupo</td>
			<td>Turno</td>
		</tr>
			<tr>
			<td>{$tipos.estado}</td>
			<td>{$tipos.razon}</td>
			<td>{$tipos.region}</td>
			<td>{$tipos.ubicacion}</td>
			<td>{$tipos.operador}</td>
			<td>{$tipos.grupo}</td>
			<td>{$tipos.turno}</td>
		</tr>
	</table><br />

</div>
{include file="columnab.tpl"}
{include file="footer.tpl"}

Intente poner un section y un foreach

con el section y un indice logre imprimir las 50 tablas, pero se repatian 50 veces los mismos datos, con el for no pude lograr nada.

he leído todo lo que encontré sobre smarty y no logre solucionar el problema

Gracias por la ayuda.