Foros del Web » Programando para Internet » PHP »

Ayuda con esta consulta ?

Estas en el tema de Ayuda con esta consulta ? en el foro de PHP en Foros del Web. La verdad estuve modifcando un codigo que encontre en estos mismos foros pero mi duda es la siguiente: http://img222.imageshack.us/img222/671/44500266.png Mi idea es que si existe ...
  #1 (permalink)  
Antiguo 29/03/2010, 08:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Ayuda con esta consulta ?

La verdad estuve modifcando un codigo que encontre en estos mismos foros pero mi duda es la siguiente:

http://img222.imageshack.us/img222/671/44500266.png

Mi idea es que si existe ese ci me diga que existe (cosa que ya puedo hacer) pero a la misma me me diga de quien es ese carnet (q es lo q no puedo sacar de la consulta.)

Para esto mi functiones son las siguientes.
Código PHP:
function verificaExistencia($ci)
{
/* Funcion encargada de verificar la existencia del ci recibido en base de datos. Devuelve TRUE si el apodo existe, FALSE de lo contrario */
    $consulta=mysql_query("SELECT nombre , ci FROM jugadores WHERE ci='$ci'") or die(mysql_error());
    $registro=mysql_fetch_row($consulta);
    $row=mysql_fetch_array($consulta);
    
    if(!empty($registro)) return TRUE;
    else return FALSE;
}

if(isset($_POST["verificacion"]))
{
    // Quito espacios en blanco al comienzo y fin de la cadena
    $valor=trim($_POST["verificacion"]);
    // Si el valor recibido es valido...
    if(validaIngreso($valor))
    {
        Conectarse();
        // Si el ci ya existe en base de datos...
        if(verificaExistencia($valor)) { ?>  
        <div id="error" class="mensaje"> <?php echo "El carnet de identidad: <strong>".$valor." </strong>  ya existe en la base de datos, verifique nuevamente" ;?> </div>
        <div id="error" class="mensaje"> <?php echo "Le pertenece a : <strong>".$row['nombre']." </strong> " ;?> </div>
        
        <?php       
         
} else {  
        
?>
        <div class="mensaje" id="error"><?php echo " Este carnet de identidad : <strong> ".$valor."</strong> esta disponible"?> </div>
        <?php 
            desconectar
();
       }     
    }
}
Les agradezco por su tiempo y su ayuda de antemano Gracias

Última edición por vili86; 29/03/2010 a las 08:05 Razón: error de codigo
  #2 (permalink)  
Antiguo 29/03/2010, 08:51
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con esta consulta ?

En la funcion verificaExistencia($ci)
Código PHP:
Ver original
  1. $row=mysql_fetch_array($consulta);
Es correcto lo q intento hacer ??? para poder sacar el nombre ?
  #3 (permalink)  
Antiguo 29/03/2010, 08:54
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Ayuda con esta consulta ?

Lo que pasa es que tu función verificaExistencia, debe retornar el array en caso de encontrar. De lo contrario sí vale el false.

La responsabilidad de tu función es encontrar un "usuario", lógicamente, debes retornarlo . Si retornas un array con el nombre y el ID encontrado, será más fácil para ti mostrar el registro en la continuación de tu código.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 29/03/2010, 08:55
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Respuesta: Ayuda con esta consulta ?

No es correcto ya que lo que devuelve la función es true o false, necesitas que devuelva $row
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #5 (permalink)  
Antiguo 29/03/2010, 09:17
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con esta consulta ?

Gracias Carxl y Tolerant.

TolerantX no entiendo como puedo o tengo q hacer para que devuelva un $row y estoy ya agrupando pasando a un
Código PHP:
Ver original
  1. mysql_fetch_array($consulta);
Q lineas de codigo debo cambiar para poder hacerlo ??


Carxl

Cita:
Si retornas un array con el nombre y el ID encontrado, será más fácil para ti mostrar el registro en la continuación de tu código.
La verdad no te entiendo debo ademas de introducir un dni el nombre más para poder verificar
Lo unico que quiero es q cuando introduzca su dni le diga si existe o no y ademas si existe ese dni le muestre el nombre mas ??
  #6 (permalink)  
Antiguo 29/03/2010, 10:30
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Respuesta: Ayuda con esta consulta ?

Código PHP:
Ver original
  1. if(!empty($registro)) return TRUE;
Ahí devuelve TRUE
Necesitas que devuelva tu variable $row, entonces
Código PHP:
Ver original
  1. if(!empty($registro)) return $row;
Y acá harias la comparación
Código PHP:
Ver original
  1. if($row = verificaExistencia($valor)) {
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #7 (permalink)  
Antiguo 03/04/2010, 12:17
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con esta consulta ?

Gracias TolerantX pero :

Ahora no me verifica hace pasar todos cuando pongo un $ci que existe en mi base de datos me dice que esta libre ese numero cuando ya esta ocupado por lo tanto no me funciona correctamente.
Código PHP:
function verificaExistencia($apodo)
{
/* Funcion encargada de verificar la existencia del apodo recibido en base de datos. Devuelve TRUE si el apodo existe, FALSE de lo contrario */
    $consulta=mysql_query("SELECT nombre , ci FROM jugadores WHERE ci='$apodo'") or die(mysql_error());
    $registro=mysql_fetch_row($consulta);
    $row=mysql_fetch_array($consulta);
    
    if(!empty($registro)) return $row;
    else 
    return FALSE;
}

if(isset($_POST["verificacion"]))
{
    // Quito espacios en blanco al comienzo y fin de la cadena
    $valor=trim($_POST["verificacion"]);
    // Si el valor recibido es valido...
    if(validaIngreso($valor))
    {
        Conectarse();
        // Si el apodo ya existe en base de datos...
        if($row = verificaExistencia($valor)) { ?>  
        <div id="error" class="mensaje"> <?php echo "El carnet de identidad: <strong>".$valor." </strong>  ya existe en la base de datos, verifique nuevamente" ;?> </div>
         <div id="error" class="mensaje"> <?php echo "Le pertence a:<strong>".$row['nombre']." </strong>  ya existe en la base de datos, verifique nuevamente" ;?> </div>
        <?php       
         
} else {  
        
?>
        <div class="mensaje" id="error"><?php echo " Este carnet de identidad : <strong> ".$valor."</strong> esta disponible"?> </div>
        <?php 
        
//echo " El registro: <strong> ".$valor."</strong> esta disponible";
        // echo  "<div style=border: 2px solid #0000cc; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;>".$valor. "</div>";
        
desconectar();
       }     
    }
}
  #8 (permalink)  
Antiguo 03/04/2010, 16:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años
Puntos: 4
Respuesta: Ayuda con esta consulta ?

Hola


si entendi la idea de lo que quieres es:

1.- usuario introduce un dato, por ejemplo ci
2.- selcciona los datos
$consulta= ("SELECT nombre, ci FROM jugadores WHERE ci='$apodo')

3.- Revisamos si hay resultados o el número de columnas de la DB.
$registro=mysql_fetch_row($consulta);

4.-Si $registro es mayor a "0" significa que hay resulatos por lo tanto alguien ya se registro con ese nombre de usuario
Código PHP:
if ($registro >0)
 {
/* obtencion de DATOS */
if ($row mysql_fetch_array($consulta))
    {
        do {
              
$apodo=$row["carnet"];//obtemos el apodo de la DB y lo guardamos en una variable
            
} while ($row mysql_fetch_array($consulta));
   }
/* Fin de obtencion de DATOS */

 
$mensaje'el apodo ya esta en uso por'.$apodo;
return 
$mensaje//en caso de que uses funciones, retornamos el valor
 
}//fin el fi
else
{
//Registramos usario en la DB
}//fin del else 

creo que
Código PHP:
/* obtencion de DATOS */
if ($row mysql_fetch_array($consulta))
    {
        do {
//                    "carnet"  nombre del campo en la tabla de la DB
              
$apodo=$row["carnet"];//obtemos el apodo de la DB y lo guardamos en una variable
            
} while ($row mysql_fetch_array($consulta));
   }
/* Fin de obtencion de DATOS */ 

Es la parte que te interesa



Saludos
  #9 (permalink)  
Antiguo 03/04/2010, 17:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con esta consulta ?

Gracias vitro012 pero no tengo muy claro tu idea de como hacer , te explico

Meto los datos de un usuario en ese mismo formulario existe este campo

http://img682.imageshack.us/img682/7638/73446943.png
lo que deseo es que si existe ese ci que me diga como esta en la imagen ++++ mas el nombre de ese usuario que lo tiene.

Solamento eso en el caso de tolerant esta muy bien la idea pero al momento de meter un ci no verificaba me decia q esta libre pero en realidad ese ci ya esta insertado en la bd

COMO PUEDO ARREGLAR ESA DOS FUNCIONES PARA Q ME PUEDA HACER LO ANTES MENCIONADO ???

GRACIAS A TODOS

Etiquetas: Ninguno
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 15:41.