Foros del Web » Programando para Internet » PHP »

consulta e insercion de datos

Estas en el tema de consulta e insercion de datos en el foro de PHP en Foros del Web. Buenas tardes tengo un codigo para realizar la insercion de datos pero antes de eso quiero consultar que no este registrado para asi mismo enviar ...
  #1 (permalink)  
Antiguo 08/02/2012, 13:04
 
Fecha de Ingreso: febrero-2012
Ubicación: bogota
Mensajes: 104
Antigüedad: 12 años, 2 meses
Puntos: 0
consulta e insercion de datos

Buenas tardes tengo un codigo para realizar la insercion de datos pero antes de eso quiero consultar que no este registrado para asi mismo enviar los datos a la base de datos quisiera que me ayudaran este es el codigo:
<?php
$nombre =$_POST['nombre'];
$cedula =$_POST['cedula'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$t_id=$_POST['tipo_id'];

if ($cedula!="" && $nombre!="")
{
mysql_connect("localhost","prueba","prueba");
mysql_select_db("registro");
$dato= "SELECT count(*) FROM datos_personales where DOC_ID = '$cedula';";
mysql_query($dato);
}
elseif ($dato!= 1)
{
mysql_query("INSERT INTO datos_personales (Nombre,DOC_ID,DIRECCION,TELEFONO,EMAIL) values ('$nombre','$cedula','$direccion','$telefono','$em ail';)");
echo "REGISTRO EXITOSO";
}
else{ echo "NO SE PUEDE REALIZAR EL REGISTRO";
}
?>
  #2 (permalink)  
Antiguo 08/02/2012, 13:09
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: consulta e insercion de datos

Código PHP:
Ver original
  1. mysql_connect("localhost","prueba","prueba");
  2. mysql_select_db("registro");
  3. $dato= "SELECT count(*) FROM datos_personales where DOC_ID = '$cedula';";
  4. $query = mysql_query($dato);
  5. $numRows = mysql_num_rows($query);
  6.  
  7. if($numRows >= 1){
  8. // ya esta en la base de datos
  9. else{
  10. // inserto en la base de datos porque no existe
  11. }
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 08/02/2012, 13:13
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: consulta e insercion de datos

Prueba así:

Código:
<?php
$nombre =$_POST['nombre'];
$cedula =$_POST['cedula'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$t_id=$_POST['tipo_id'];

if ($cedula!="" && $nombre!="")
{
mysql_connect("localhost","prueba","prueba");
mysql_select_db("registro");
$dato= "SELECT count(*) FROM datos_personales where DOC_ID = '$cedula';";
$sql=mysql_query($dato);
$rows=mysql_num_rows($sql);

if ($rows)
 echo "Este usuario ya existe en la base de datos!";
else
 echo "El usuario no existe!";

}
?>
Donde he puesto el mensaje de "El usuario no existe" es donde iría tu sentencia INSERT de sql.

Un saludo!
  #4 (permalink)  
Antiguo 08/02/2012, 13:33
 
Fecha de Ingreso: febrero-2012
Ubicación: bogota
Mensajes: 104
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: consulta e insercion de datos

Muchas gracias por tu ayuda pero tengo un problema ahora siempre me sale que el usuario esta registrado me podrias ayudar con eso nuevamente
<?php
$nombre =$_POST['nombre'];
$cedula =$_POST['cedula'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$t_id=$_POST['tipo_id'];

if ($cedula!="" && $nombre!="")
{
mysql_connect("localhost","prueba","prueba");
mysql_select_db("registro");
$dato= "SELECT count(*) FROM datos_personales where DOC_ID = '$cedula';";
$query = mysql_query($dato);
$numRows = mysql_num_rows($query);

if($numRows >= 1)
{
echo "usuario ya registrado";
}
else
{
mysql_connect("localhost","prueba","prueba");
mysql_select_db("registro");
mysql_query("INSERT INTO datos_personales (Nombre,DOC_ID,DIRECCION,TELEFONO,EMAIL) values ('$nombre','$cedula','$direccion','$telefono','$em ail';)");
echo "REGISTRO EXITOSO";
}
}
?>
  #5 (permalink)  
Antiguo 08/02/2012, 13:42
 
Fecha de Ingreso: febrero-2012
Ubicación: bogota
Mensajes: 104
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: consulta e insercion de datos

ya probe los dos codigo e igualmente me sale solo el letrero de usuario registrado en que estoy fallando.
  #6 (permalink)  
Antiguo 08/02/2012, 14:22
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: consulta e insercion de datos

Por que mejor no sacas el segundo condicional y su else del primer condicional ?

Código PHP:
Ver original
  1. if(verificar cedula){
  2. // consultando...
  3. }
  4.  
  5. if(verificar registros){
  6. // muestro mensaje
  7. }else{
  8. // relizo insert
  9. }
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 08/02/2012, 15:46
 
Fecha de Ingreso: febrero-2012
Ubicación: bogota
Mensajes: 104
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: consulta e insercion de datos

he realizado la verificacion que me envio jotaincubus y adecue el codigo de esa forma pero me sale el mensaje que el usuario ya esta registrado, es como si no hiciera la validacion de si existe o no
  #8 (permalink)  
Antiguo 08/02/2012, 16:28
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: consulta e insercion de datos

Código PHP:
Ver original
  1. $dato= "SELECT count(*) FROM datos_personales where DOC_ID = '$cedula';"; //Aquí está el problema

El problema del código es que estás usando count(*) pero a la vez estas usando la función mysql_num_rows, la cual va a devolver siempre 1 cuando se usa count... Si vas a usar count debes comprobarlo así:

Código PHP:
Ver original
  1. if (mysql_result($res, 0) > 0) {
  2.     echo 'Existe';
  3. } else {
  4.     echo 'No existe';
  5. }

si vas a usar mysql_num_rows elimina el count de tu consulta.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: mysql, registro
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 14:17.