Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Necesito colocar un mensaje que me diga que no se encontraron datos

Estas en el tema de Necesito colocar un mensaje que me diga que no se encontraron datos en el foro de PHP en Foros del Web. Tengo el siguiente codigo pero he intendado colocar un mensaje pero este me sale antes y lo que necesito es que lo muestre cuando se ...
  #1 (permalink)  
Antiguo 20/10/2013, 09:21
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Busqueda Necesito colocar un mensaje que me diga que no se encontraron datos

Tengo el siguiente codigo pero he intendado colocar un mensaje pero este me sale antes y lo que necesito es que lo muestre cuando se haya digitado el numero de identificacion y este no sea igual en la base de datos
<?php
require("conexion.php");
require("funciones.php");

$criterio = getParam($_GET["criterio"], "");
$total = 0;
if ($criterio != "") {
$query = "SELECT * FROM Actualizacion WHERE DUI = $criterio";
$queEmp = mysql_query($query, $conexion);
$total = mysql_num_rows($queEmp);
}
else{
echo "<br> No se encontraron datos para <b>".$criterio."</b>";
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHP con MySQL: Consultar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Buscador de Empresas</h3>
<form id="frbuscar" name="frbuscar" method="get" action="">
<input name="criterio" type="text" id="criterio" size="25" value="<?php echo $criterio; ?>" /> &nbsp;
<input type="submit" id="btbuscar" value="Buscar" />
</form>
<?php if ($total > 0) { ?>
<p><em>Total de Resultados: <?php echo $total; ?></em></p>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>NombreCompleto</th>
<th>Codigo de Cliente</th>
<th>NIT</th>
<th>DUI</th>
</tr>
<?php while ($rsCliente = mysql_fetch_assoc($queEmp)) { ?>
<tr>
<td><?php echo $rsCliente['nombresCompleto']; ?></td>
<td><?php echo $rsCliente['cod_Cliente']; ?></td>
<td><?php echo $rsCliente['NIT']; ?></td>
<td><?php echo $rsCliente['DUI']; ?></td>
</tr>
<?php } ?>
</table>
<?php } ?>
<p>&nbsp;</p>
</body>
</html>
  #2 (permalink)  
Antiguo 20/10/2013, 10:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Bueno, estás imprimiendo el mensaje mucho antes de abrir el documento de HTML, ¿se te ha ocurrido, tal vez, mover dicho código más abajo?

Vamos, sería muy extraño que no se te haya ocurrido antes, por sentido común.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/10/2013, 10:35
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Pues ya lo hice y no logro siempre me sale el mensaje antes de hacer el envio. Gracias por tu comentario
  #4 (permalink)  
Antiguo 20/10/2013, 10:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Bueno, eso se debe a que tampoco estás controlando el flujo de tu script.

Es decir, dicho código siempre se va a ejecutar independientemente de si estás enviando el formulario o no, ¿sabes por qué?

Porque no tienes ningún control sobre su ejecución, algo así:
Código PHP:
Ver original
  1. if (isset($_GET['criterio'])) {
  2.   // significa: si existe el campo "criterio", confirmando la presencia del formulario
  3.   // entonces aquí colocas el código que hace uso de dichas variables del formulario
  4. }

A eso se le llama control de flujo, si tu script no lo tiene entonces no importa donde muevas el código, siempre se ejecutará.

¿Se entiende lo que no estás haciendo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 20/10/2013, 10:41
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Cita:
Iniciado por sarrhen Ver Mensaje
Tengo el siguiente codigo pero he intendado colocar un mensaje pero este me sale antes y lo que necesito es que lo muestre cuando se haya digitado el numero de identificacion y este no sea igual en la base de datos
<?php
require("conexion.php");
require("funciones.php");

if ($_POST) {

$criterio = getParam($_GET["criterio"], "");
$total = 0;
if ($criterio != "") {
$query = "SELECT * FROM Actualizacion WHERE DUI = $criterio";
$queEmp = mysql_query($query, $conexion);
$total = mysql_num_rows($queEmp);
}
else{
echo "<br> No se encontraron datos para <b>".$criterio."</b>";
}

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHP con MySQL: Consultar datos en MySQL</title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3>Buscador de Empresas</h3>
<form id="frbuscar" name="frbuscar" method="get" action="">
<input name="criterio" type="text" id="criterio" size="25" value="<?php echo $criterio; ?>" /> &nbsp;
<input type="submit" id="btbuscar" value="Buscar" />
</form>
<?php if ($total > 0) { ?>
<p><em>Total de Resultados: <?php echo $total; ?></em></p>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>NombreCompleto</th>
<th>Codigo de Cliente</th>
<th>NIT</th>
<th>DUI</th>
</tr>
<?php while ($rsCliente = mysql_fetch_assoc($queEmp)) { ?>
<tr>
<td><?php echo $rsCliente['nombresCompleto']; ?></td>
<td><?php echo $rsCliente['cod_Cliente']; ?></td>
<td><?php echo $rsCliente['NIT']; ?></td>
<td><?php echo $rsCliente['DUI']; ?></td>
</tr>
<?php } ?>
</table>
<?php } ?>
<p>&nbsp;</p>
</body>
</html>
  #6 (permalink)  
Antiguo 20/10/2013, 10:41
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Pero por lo que entiendo alli ya casi lo tienes listo, en la variable
$total = mysql_num_rows($queEmp); Puedes colocar un condicional asi:
if($total<=0){
echo "<br> No se encontraron datos para <b>".$criterio."</b>";
exit;
}
  #7 (permalink)  
Antiguo 20/10/2013, 11:23
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Gracias hermano no le habia puesto atencion lo estudiare te agradezco

Se que el codigo esta casi listo pero aun asi no he encontrado la forma de que me salga el mensaje siempre y cuando el valor no coincida con lo que tengo en la base de datos gracias

Última edición por Triby; 20/10/2013 a las 15:41
  #8 (permalink)  
Antiguo 21/10/2013, 21:40
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Cita:
Iniciado por pateketrueke Ver Mensaje
Bueno, estás imprimiendo el mensaje mucho antes de abrir el documento de HTML, ¿se te ha ocurrido, tal vez, mover dicho código más abajo?

Vamos, sería muy extraño que no se te haya ocurrido antes, por sentido común.
ahora tengo este nuevo codigo pero no determina cuando el valor que envio no existe en la base y me mande el mensaje que diga que no me puedes ayudar


<?php
include 'conexion.php';

$con=conexion();

$str_DUI = trim($_POST['DUI']);


$sql = "SELECT * FROM `Actualizacion` WHERE `DUI` = $str_DUI";


$datos=mysql_query($sql,$con); //enviar código MySQL
if($str_DUI === $datos) {
while ($row=mysql_fetch_array($datos)) { //Bucle para ver todos los registros
$nombre=$row['nombresCompleto']; //datos del campo nombre
$telefono=$row['cod_Cliente']; //datos del campo teléfono
$email=$row['DUI']; //datos del campo email
echo "$nombre, $telefono, $email. <br/>"; //visualizar datos
}

} else{

echo "No hay usuarios registrados";


}
  #9 (permalink)  
Antiguo 21/10/2013, 21:48
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Esto esta mal
Código PHP:
Ver original
  1. if($str_DUI === $datos) {
estas comprobando si la.variable $str_DUI retorna un resource, lo cual es imposlible y ademaz que.tu logica esta mal planteada
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #10 (permalink)  
Antiguo 21/10/2013, 21:53
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Cita:
Iniciado por SkAr88 Ver Mensaje
Esto esta mal
Código PHP:
Ver original
  1. if($str_DUI === $datos) {
estas comprobando si la.variable $str_DUI retorna un resource, lo cual es imposlible y ademaz que.tu logica esta mal planteada
me funciona si elimino el if el problema necesito que me salga un mensaje que cuando se haya enviado el dato si no existe muestre el error y he probado de todas formas hasta volvi a reconstruir el codigo de nuevo me podrias ayudar
  #11 (permalink)  
Antiguo 21/10/2013, 22:03
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

El if anterior reemplazalo por.esto

if(mysql_num_rows($datos)>0)
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #12 (permalink)  
Antiguo 21/10/2013, 22:07
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Necesito colocar un mensaje que me diga que no se encontraron datos

Cita:
Iniciado por SkAr88 Ver Mensaje
El if anterior reemplazalo por.esto

if(mysql_num_rows($datos)>0)
Hey hermano gracias me ayudaste mucho hoy si me funciona lo demas pintura y estilismo gracias

Etiquetas: html, mensaje, mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:03.