Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2017, 16:40
Avatar de bandolera
bandolera
 
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Mostrar resultado o mensaje

Hola chicos.
Tengo esta clase donde se ejecuta una búsqueda con LIKE.
Si hay registros, creo el arreglo $salida[], si no hay registros asigno a $salida el valor FALSE.
Código PHP:
$conecta = new Data();
$stm $conecta->prepare("SELECT codigo, nombre FROM tabla WHERE nombre LIKE ?");
$stm->bindValue(1"%$valor%"PDO::PARAM_STR);
$stm->execute();
if (
$stm->rowCount() > 0) { 
    while (
$fila $stm->fetch(PDO::FETCH_ASSOC))
    {
        
$salida[] = new ClienteVO($fila['codigo'], $fila['nombre']);
    }
} else { 
    
$salida FALSE;
}
return 
$salida
En el controlador pregunto si $listas (que recibe datos) es verdadero. Si lo es asigna la plantilla si es falso imprime mensaje "No hay Registros".

Código PHP:
$DAO = new ClienteDAO();

$listas $DAO->Buscar_like($_POST['dato']);
$tpl = new Plantilla();
if(
$listas)
{
    
$tpl->assign('lista'$listas);
    
$tpl->assign('NoRegistros'"");        
} else {
    
$tpl->assign('lista'"");
    
$tpl->assign('NoRegistros'"No hay Registros");
}
$tpl->display("mostrar.tpl.php"); 
Mi vista usando Smarty:
Código PHP:
<table id="miTabla">
    <
tr>
        <
th>Código</th>
        <
th>Nombre Stud</th>
    </
tr>
    {
section name=i loop=$lista}
    <
tr>
        <
td>{$lista[i]->codigo}</td>
        <
td>{$lista[i]->nombre}</td>
    </
tr>
    {/
section}

    {if 
$NoRegistros}
    <
h3>{$NoRegistros}</h3>
    {/if}
</
table
Todo esto funciona pero tengo dos dudas:
1) Está bien que utilice if($listas) para saber si es verdadero o falso? o debo utilizar isset() ?
2) El uso de smarty al tener o no registros que mostrar se puede simplificar?
Gracias por su ayuda.
Mi sistema ya está casi caminando.
__________________
Todos somos iguales. NO! a la violencia de género.