Pregunta:
Fecha: 13-09-2016 09:07:50
(En Español)
¿Cómo controlar cuando no hay dato en la base de datos y dar mensaje "dato no encontrado"?[Resuelta]
Buenos días, necesito poner una condicional en caso de no encontrar el dato en la base de datos, es decir, si no encuentro un dato en bd me salga "dato no encontrado". ¿Qué me hace falta agregarle?, a continuación el código:
<?php
$buscar2="";
$buscar2 = isset($_POST['buscar2']) ? $_POST['buscar2'] : NULL;
//require("php_action/db_connect.php");
mysql_connect("localhost","root","");
mysql_select_db("certificadosIPD");
if($buscar2 !=""){ $busqueda1=mysql_query("SELECT * FROM certificados WHERE dni ='$buscar2' order by fecha DESC");
?>
<div class="panel panel-default">
<div class="panel-heading">Resultado</div>
<div class="panel-body">
<div class="pricing-plan-grids table-responsive">
<table class="table table-bordered ">
<thead>
<tr>
<td width="8">Dni</td>
<td width="50">Nombre completo</td>
<td width="50">Capacitacion</td>
<td width="50">Cod Certificado</td>
<td width="50">certificacion</td>
<td width="50">Nota</td>
<td width="50">Horas Cursadas</td>
<td width="50">Fecha Emision</td>
</thead>
<tbody>
<tr>
<?php
while ($f=mysql_fetch_array($busqueda1)) { //
echo '<tr>';
echo '<td width="8">'.$f['dni'].'</td>';
echo '<td width="50">'.$f['nombre'].'</td>';
echo '<td width="50">'.$f['capacitacion'].'</td>';
echo '<td width="50">'.$f['codigoCertificado'].'</td>';
echo '<td width="50">'.$f['certificacion'].'</td>';
echo '<td width="50">'.$f['nota'].'</td>';
echo '<td width="50">'.$f['horaCursada'].'</td>';
echo '<td width="50">'.$f['fecha'].'</td>';
echo '</tr>';
}
}
?>
Votos: 2 -
Respuestas: 5 -
Vistas: 13
Compartir en: Google
Facebook
Twitter
LinkedIn
Link
Respuestas:
-
Fecha: 13-09-2016 11:30:02 Creo que con este solucionarías tu problema...
$busqueda1=mysql_query("SELECT * FROM certificados WHERE dni ='$buscar2' order by fecha DESC"); //guardas en una variable los datos $datos=mysql_fetch_array($busqueda1); //Si es distinto a 0 quiere decir que se encontró dato if ($datos!=0) { // aquí pones tu tabla }else{ // sino muestras el mensaje echo 'Dato no encontrado'; }Votos: 3 - Link respuesta -
Fecha: 13-09-2016 19:55:34 Hola amigo,
Primero té recomiendo que ya no uses MySql ya que esta función esta decapried, te recomiendo que uses MySqli, no es mucha diferencia pero es más seguro.
Y la solución más apropiada para esto es usar mysqli_num_rows este te trae el número de registros existentes, con un simple if puedes validar si es igual a cero.
Saludes.
Equipo QueCódigo Votos: 2 - Link respuesta -
Fecha: 14-09-2016 08:15:27 Hola Nilton , como sugirio Corplan esa funcion ya esta deprecated (obsoleto) pero si le agregar el @ adelente omitira esta advertencia.
En tu caso seguira mejor cambiar al uso de mysqli ..., tambien te informo que exite el PDO.
Aqui encontrar la diferencia entre los 3 .mysql , MYSQLI Y PDO ..DIFERENCIAS
Y aqui informacion y ejemplos de su uso :
Ejemplos de USO Votos: 2 - Link respuesta -
Fecha: 15-09-2016 17:55:43 Me suscribo a lo han sugerido CorpLan Web y Dyan Cancho
No utilizar mysql_query la documentación oficial de PHP informa "Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilizarse las extensiones MySQLi o PDO_MySQL"
Un mal uso de esa extensión puede producir riesgo de inyección de codigo SQL.
Yo sugeriría utilizar la extensión PDO por su grandes bondades que presta.
PDO es una capa de abstracción de base de datos, con soporte para MySQL y otros sistemas manejadores (driver) de bases de datos.
Te dejo otro link que te puede interesar sobre Bases de datos con PDO
Saludos Votos: 2 - Link respuesta -
Fecha: 17-09-2016 12:23:53 NILTON
Buenas tardes
Tomando el ejemplo de CorPlan (Pero hecho en MySQLi y utilzando "COUNT")
count(): Cuenta el número de elementos en un array u objetos
$busqueda1=mysqli_query("SELECT * FROM certificados WHERE dni ='$buscar2' order by fecha DESC"); //guardas en una variable los datos $datos=mysqli_fetch_assoc($busqueda1); //Si es mayor a 0 quiere decir que se encontró dato if (count($datos > 0)) { // aquí pones tu tabla }else{ // sino muestras el mensaje echo 'Dato no encontrado'; }Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
