Foros del Web » Programando para Internet » PHP »

Mensaje después de consulta en php

Estas en el tema de Mensaje después de consulta en php en el foro de PHP en Foros del Web. Amigos necesito un mensaje que me informe que el registro no existe en mi bd. La tabla se llama registro y los campos id, cedula, ...
  #1 (permalink)  
Antiguo 27/03/2011, 11:05
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Mensaje después de consulta en php

Amigos necesito un mensaje que me informe que el registro no existe en mi bd. La tabla se llama registro y los campos id, cedula, nombre, apellido, telefono, entre otros..

necesito que me haga la búsqueda por numero de cedula, ahorita tengo algo así:

$a = $_POST['ce1'];
$b = $_POST['ce2'];
$c = $_POST['ce3'];
$cedula = $a.$b.$c; en este caso los campos estan concatenados para hacer el insert en el campo cedula... allí todo bien...la consulta tambien la hace, en donde muestra todos los campos, solo necesito que me informe cuando el registro NO existe en bd verificándolo a través de este campo, creo que seria algo así:

if $cedula != $a.$b.$c echo('Usuario no registrado');

Agradeceré aportes!!
  #2 (permalink)  
Antiguo 27/03/2011, 11:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Mensaje después de consulta en php

Lo único que tienes que hacer es una consulta y verifica cuantas líneas te trajo con esa consulta, si no te trae alguna entonces es porque no existe, puedes usar count o hacer un count en la misma consulta
Código MySQL:
Ver original
  1. SELECT COUNT(*) as counter FROM tabla WHERE campo = 'valor' GROUP BY campo
Lo único que tienes que hacer es un fetch y verifica que te trajo el valor que está almacenado en el alias que llamaste counter.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/03/2011, 11:33
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

abimaelrc, La consulta la hace, introduzco un numero de cedula que ya existe en mi bd y me muestra los datos de ese registro, el caso es cuando NO lo encuentra, me trae nada, en blanco... es allí donde quiero mostrar un mensaje, el cual diga que el usuario No esta registrado!
  #4 (permalink)  
Antiguo 27/03/2011, 11:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Mensaje después de consulta en php

¿Habrás leído lo que te indique? Te dije exactamente lo que estás preguntando. Cuando no hay dato no te trae nada, por lo tanto solo es cuestión de colocar una condición que verifique las líneas y si te dice que no trajo nada entonces colocas al mensaje.
Código PHP:
Ver original
  1. if(count($result) == 0){
  2.     echo 'no registrado';
  3. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 05/04/2011, 10:10
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

No me funciona!! :S
  #6 (permalink)  
Antiguo 05/04/2011, 10:22
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Mensaje después de consulta en php

Saludos

Postea el código para revisar como lo estas haciendo!, ya que lo que te indica abimaelrc es exactamente lo que debes hacer
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 05/04/2011, 11:59
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

$a = getParam($_GET["ce1"], "");
$b = getParam($_GET["ce2"], "");
$c = getParam($_GET["ce3"], "");


$total = 0;
if ($a.$b.$c != "") {
$query = "SELECT count(*) FROM registro WHERE cedula like ".sqlValue($a.$b.$c."%", "text")." ORDER BY cedula ASC";


if(count ($query) == ""){
echo 'Usuario no registrado';
}



Es lo que estoy haciendo!!!
  #8 (permalink)  
Antiguo 05/04/2011, 12:24
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Mensaje después de consulta en php

Hola... prueba con esto!!!


<?PHP

//CONECTAS CON LA BASE DE DATOS
$conn = mysql_connect("localhost","root","mysql"); //nombre del servidor,usuario,contraseña
mysql_select_db("NOMBRE_DE_TU_BDD",$conn);

RECOJES LOS VALORES CON POST (NOTA: TU FORMULARIO DEBE TENER EN EL ACTION POST)
$a = $_POST['ce1'];
$b = $_POST['ce2'];
$c = $_POST['ce3'];
$cedula = $a.$b.$c;
$ssql = "SELECT * FROM registro WHERE cedula='$cedula';
$rs = mysql_query($ssql,$conn);
if (mysql_num_rows($rs)!=0)
{
//si esta aqui es porque consiguió la cédula.
$mensaje= '<script name="accion"> alert("USUARIO REGISTRADO")</script>';
echo $mensaje;
}
else
{
//si esta aqui es porque no consiguio la cédula, doy un mensaje:
$mensaje= '<script name="accion"> alert("USUARIO NO REGISTRADO")</script>';
echo $mensaje;
}
?>
  #9 (permalink)  
Antiguo 05/04/2011, 13:08
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Perfecto vanessacruz_7

Si el registro existe me muestra el mensaje USUARIO REGISTRADO y al darle clic en aceptar me muestra los datos del registro, todo bien :)

Solo me gustaría saber como dirección a la pagina donde el usuario debe de registrarse en caso de que muestre el mensaje USUARIO NO REGISTRADO cosa que al darle clic en aceptar me lleve a esa pagina de registro?? muchas gracias!!!
  #10 (permalink)  
Antiguo 05/04/2011, 13:27
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Mensaje después de consulta en php

Saludos

Para ello puedes utilizar location en js

Código Javascript:
Ver original
  1. location.href='pagina.php';
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #11 (permalink)  
Antiguo 05/04/2011, 13:54
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Listo, coloque lo siguiente: header("Location: pagina.php");

Gracias por sus respuestas!!!
  #12 (permalink)  
Antiguo 09/04/2011, 12:22
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Hola amigos, pensé que este asunto ya estaba resuelto, pero no... en mi localhost, funciona como lo indique, pero lo he subido y no me muestra la pagina que indico en: header("Location:pagina.php")...
He colocado:

<SCRIPT LANGUAGE="javascript">
location.href = "pagina.php";
</SCRIPT>
y se va a pagina.php el registro exista o no, cuando solo quiero que me muestre la pagina.php cuando el registro no existe de lo contrario me muestre pagina2.php como lo indico en el link de buscar registro para que allí me muestre los registro que encuentre.. me explique?

Ayuda al respecto please!
.
  #13 (permalink)  
Antiguo 09/04/2011, 12:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Lo he colocado de este otro modo, pero tampoco funciona:

$mensaje= '<script id="btbuscar"> alert("EMPRESA NO REGISTRADA")location.href="pagina.php" </script>';
  #14 (permalink)  
Antiguo 11/04/2011, 06:21
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Mensaje después de consulta en php

OK COLOCA ESTO SI EL REGISTRO EXISTE:

header("refresh: 1; url=Pagina.php");


Y ESTO SI EL REGISTRO NO EXISTE:

header("refresh: 1; url=Pagina2.php");


ESPERO TE SIRVA, A MI ME FUNCIONA =)
  #15 (permalink)  
Antiguo 11/04/2011, 07:28
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Ocurre lo mismo vanessacruz_7, en el localhost funciona muy bien, perro arriba no :_( me arroja el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /home/servidor1/public_html/archivo.php:12) in /home/servidor1/public_html/pagina2.php on line 51

en la linea 51 tengo lo siguiente: header("refresh: 1; url=pagina2.php");


Gracias por tus respuestas, aun espero ayuda para resolver este problema...
  #16 (permalink)  
Antiguo 11/04/2011, 07:39
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Mensaje después de consulta en php

Eso es....Xk has puesto codigo html antes de esa redireccion...

Para hacer ese tipo de redireccion en php tienes que realizarla antes de introducir codigo html....

..Puedes hacerlo con javascript tambien...Aunque no es nada elegante....
Mira a ver si puedes realizarlo de alguna manera que realice la redireccion automaticamente.
SALUDOSS
Si te funciona o sale otro error avisa
  #17 (permalink)  
Antiguo 11/04/2011, 08:06
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Hola

No, no tengo código html antes de la dirección, comienzo con el archivo de la conexion: archivo.php

y dentro de este php tengo este código.
  #18 (permalink)  
Antiguo 11/04/2011, 08:09
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Mensaje después de consulta en php

no veo el codigo....
Pero....No tendras una cabecera? O incluiras un archivo que tenga codigo html?
Fijate tambien se hace un session_start() y donde lo haces. O se incluyes ese archivo en algun lugar donde hay un session_start() o codigo html

El session_start me dio problemas tambien en un proyecto que hice en el instituto

Lo acabo de mirar... Yo ponia los session_start despues de incluir los archivos que necesitaba con "include"
  #19 (permalink)  
Antiguo 11/04/2011, 08:36
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Mensaje después de consulta en php

Prueba agregando la linea que te pongo en el siguiente código.


Código PHP:
Ver original
  1. if (mysql_num_rows($rs)!=0)
  2. {
  3. //si esta aqui es porque consiguió la cédula.
  4. $mensaje= '<script name="accion"> alert("USUARIO REGISTRADO")</script>';
  5. echo $mensaje;
  6. }
  7. else
  8. {
  9. //si esta aqui es porque no consiguio la cédula, doy un mensaje:
  10. $mensaje= '<script name="accion"> alert("USUARIO NO REGISTRADO")</script>';
  11. echo $mensaje;
  12.  
  13. //Agrega esta linea
  14. echo "<meta http-equiv='refresh' content='1;url=pagina.php'/>";
  15. }

Saludos.
  #20 (permalink)  
Antiguo 11/04/2011, 09:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Mensaje después de consulta en php

Listo amigos!

Gracias gmurop este código: echo "<meta http-equiv='refresh' content='1;url=pagina.php'/>";

me ha funcionado. Mil gracias :D
  #21 (permalink)  
Antiguo 11/04/2011, 10:40
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Mensaje después de consulta en php

gmurop? Y sabes a que se debe?
  #22 (permalink)  
Antiguo 11/04/2011, 11:30
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Mensaje después de consulta en php

Cita:
Iniciado por lesly40 Ver Mensaje
Listo amigos!

Gracias gmurop este código: echo "<meta http-equiv='refresh' content='1;url=pagina.php'/>";

me ha funcionado. Mil gracias :D
Que bueno que te haya servido, en content el número 1 significa que se refresca en 1 segundo, puedes ponerle 0 para q sea inmediatamente o aumentar el tiempo de espera.
  #23 (permalink)  
Antiguo 11/04/2011, 11:32
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Mensaje después de consulta en php

Cita:
Iniciado por cesarnorte9 Ver Mensaje
gmurop? Y sabes a que se debe?
Me imagino que estaba poniendo el header fuera de la condición, o dentro de código html. Saludos.

Etiquetas: mensaje
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 21:23.