Foros del Web » Programando para Internet » PHP »

Buscar si un dato coincide SQL

Estas en el tema de Buscar si un dato coincide SQL en el foro de PHP en Foros del Web. Buenas, El código me funciona hata la parte en la que intento que una vez ha comprobado que el usuario existe, ese usuario tiene un ...
  #1 (permalink)  
Antiguo 08/09/2010, 04:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Buscar si un dato coincide SQL

Buenas,
El código me funciona hata la parte en la que intento que una vez ha comprobado que el usuario existe, ese usuario tiene un numero de "control" , y quiero que si ese numero coincide , se vaya a determinada página, si es control =1, o control =2, y asi hasta 7 niveles, pues que cada uno se vaya a una página diferente:

Código PHP:
<?php

$conn 
mysql_connect("localhost","pruebasa_pruebas","miabuela");

mysql_select_db("pruebasa_coches",$conn);


$ssql "SELECT * FROM usuarios WHERE user='" $_POST['user'] . "' and pass='"$_POST['pass'] . "'";


$rs mysql_query($ssql,$conn);


if (
mysql_num_rows($rs)!=0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
 
     
if('campo que se llama control que esta en la base de datos'=='7'){
        
        echo 
"ir al nivel 7";
        
        }else{

                       if(
'campo que se llama control que esta en la base de datos'=='6'){


                           echo 
"ir al nivel 6";

                           }

            
        
    }
    
 
 
}else {

    echo 
"no hay";
}
mysql_free_result($rs);
mysql_close($conn);
?>

Alguien me podría decir como sería el código para comprobar que el campo ese de "control" vale X.

Gracias
  #2 (permalink)  
Antiguo 08/09/2010, 04:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Buscar si un dato coincide SQL

Con este código siempre me tira al "7" .
¿Cómo hago para que el dato "control" que tome de referencia sea el del usuario introducido?

Gracias :D

Código PHP:
if (mysql_num_rows($rs)!=0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
 
     
if("control=='7'"){
        
        echo 
"7";
        
        }else{
            if(
"control=='6'"){
                echo
"6";
            }
                        
        
    } 
  #3 (permalink)  
Antiguo 08/09/2010, 11:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Buscar si un dato coincide SQL

sucede que tus expresiones están mal.... porque no son expresiones, son solo strings...

Código PHP:
// MAL
if ("control=='7'"// ...

// BIEN
if ($control=='7'// ... 
que claro, debes definir primero la variable $control antes de usarla... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/09/2010, 11:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde Configuración PHP a PHP
  #5 (permalink)  
Antiguo 08/09/2010, 11:51
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Buscar si un dato coincide SQL

con if anidados es mas facil

if($row[user]=="X"){
if($row[pass]=="Z"){
echo "Datos Correctos";
}
}
  #6 (permalink)  
Antiguo 08/09/2010, 13:47
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Buscar si un dato coincide SQL

Cita:
Iniciado por pateketrueke Ver Mensaje
sucede que tus expresiones están mal.... porque no son expresiones, son solo strings...

Código PHP:
// MAL
if ("control=='7'"// ...

// BIEN
if ($control=='7'// ... 
que claro, debes definir primero la variable $control antes de usarla... (:
Y cómo declaro la variable de un dato que he cogido de la tabla?
he puesto esto:

Código PHP:
$ssql "SELECT * FROM usuarios WHERE user='" $_POST['user'] . "' and pass='"$_POST['pass'] . "'";
$control ="control";
//Ejecuto la sentencia
$rs mysql_query($ssql,$conn);


//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
 
     
if ($control=='7') {
        
        echo 
"7";
        
        }else{
            if (
$control=='6') {
                echo
"6";
            }
                        
        
    }
    
 
 
}else {
    
//si no existe le mando otra vez a la portada
    
echo "no hay";


El dato de "control" esta en la tabla pero no en el form.
Y asi cuando lo hago se me queda la pantalla en blanco.

Gracias :D
  #7 (permalink)  
Antiguo 08/09/2010, 13:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar si un dato coincide SQL

para traer los datos debes usar el mysql_fetch_array o mysql_fetch_assoc etc. un ejemplo segun lo q as puesto
Código PHP:
Ver original
  1. $ssql = "SELECT * FROM usuarios WHERE user='" . $_POST['user'] . "' and pass='". $_POST['pass'] . "'";
  2. $rs = mysql_query($ssql,$conn) or die (mysql_error());
  3. if (mysql_num_rows($rs)!=0){
  4.     while($row=mysql_fetch_array($rs)){
  5.           $control=$row['campo_control'];#ahi llenas a control con el campo de la base de datos q desees
  6.    }
  7. }
luego solo te queda hacer los condicionales suerte espero q te ayude
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 08/09/2010, 14:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Buscar si un dato coincide SQL

Cita:
Iniciado por carlos_belisario Ver Mensaje
para traer los datos debes usar el mysql_fetch_array o mysql_fetch_assoc etc. un ejemplo segun lo q as puesto
Código PHP:
Ver original
  1. $ssql = "SELECT * FROM usuarios WHERE user='" . $_POST['user'] . "' and pass='". $_POST['pass'] . "'";
  2. $rs = mysql_query($ssql,$conn) or die (mysql_error());
  3. if (mysql_num_rows($rs)!=0){
  4.     while($row=mysql_fetch_array($rs)){
  5.           $control=$row['campo_control'];#ahi llenas a control con el campo de la base de datos q desees
  6.    }
  7. }
luego solo te queda hacer los condicionales suerte espero q te ayude
MUCHISIMAS GRACIAS! funciona perfecto :D

Código PHP:
$ssql "SELECT * FROM usuarios WHERE user='" $_POST['user'] . "' and pass='"$_POST['pass'] . "'"
$rs mysql_query($ssql,$conn) or die (mysql_error()); 
if (
mysql_num_rows($rs)!=0){ 
//TRAIGO LOS DATOS DE LA BASE
    
while($row=mysql_fetch_array($rs)){
          
$control=$row['control'];#ahi llenas a control con el campo de la base de datos q desees. 
          
          
if ($control=='7'){
              echo 
"7";
              
          }else{
               if (
$control=='6'){
              echo 
"6";
               }else{
                   if (
$control=='5'){
                       echo 
"5";
                   }
                   
               
          }
          
          
          
    }


Etiquetas: dato, sql
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 07:34.