Foros del Web » Programando para Internet » PHP »

Consulta SQL para validar Select con usuarios

Estas en el tema de Consulta SQL para validar Select con usuarios en el foro de PHP en Foros del Web. Buen dia mi sistema consiste en que un usuario cualquiera una vez inicie sesion acceda a un formulario cualquiera donde se encuentra un SELECT que ...
  #1 (permalink)  
Antiguo 05/10/2012, 09:27
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Consulta SQL para validar Select con usuarios

Buen dia mi sistema consiste en que un usuario cualquiera una vez inicie sesion acceda a un formulario cualquiera donde se encuentra un SELECT que contiene instituciones y me cargue los datos de la base de datos, bien todo eso lo tengo solo que la consulta que tengo me trae todoas las instituciones que estan en la base de datos.
Mi problema esta en que cuando el usuario X inicie sesion en el SELECT solo me deberia mostrar las instituciones asociadas a ese usuario.

La consulta que tengo para cargar las instituciones en el SELECT es la siguiente:

<?

$query1= mysql_query("Select * from institucion",$db);
while ($datos1=mysql_fetch_assoc($query1)){
echo '<option value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>';
}
?>

Quisiera una consulta que me mande solo las instituciones del usuario que inicie sesion.

La consulta para validar cuando el usuario inicia sesion es la siguiente:

<?php
session_start();

if(isset($_POST['usuario'])&&($_POST['contrasena']))
{
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];


if($usuario==NULL||$contrasena==NULL) {
?>

<script>
alert('Hay Campos Vacios');
</script>

<?php
}else{

$conectar=mysql_connect('localhost', 'root', 'xxxxx');

mysql_select_db('xxxxxx')or die (mysql_error());


$queEmp = "SELECT NIVEL FROM usuario WHERE NOMBRE = '$usuario'";
$resEmp = mysql_query($queEmp) or die(mysql_error());
$arr_datos = mysql_fetch_array($resEmp);
$nivel = $arr_datos['3'];

if ($nivel==Administrador) {

Header("Location: index.php");
$_SESSION['usuario']=$usuario;
$_SESSION['activa']=1;
}

else{

if($nivel=='Consultor'){
Header("Location: consultor/index.php");
$_SESSION['usuario']=$usuario;
$_SESSION['activa']=1;
}
}

?>

<script>
alert('El Usuario no Existe. Debe Dirigirse al Departamento y el Administrador lo Registrará');
</script>

<?php
}
}
?>



Agradeceria ayuda por favor gracias..!!
  #2 (permalink)  
Antiguo 05/10/2012, 09:46
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

mira como estas asociando las instituciones y los usuarios y modificas tu consulta.
Que campo de ambas tablas estan asociados como tienes ambas tamblas deberia ser sencillo
con una clausula where o una union de tablas con join.
Salu2.
  #3 (permalink)  
Antiguo 05/10/2012, 10:18
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

TABLA usuario: ID, NOMBRE, CONTRASENA, NIVEL, FECHA_REG

TABLA institucion: idinstitucion, nombre_institucion, rif, Nombre


El "Nombre" de la tabla institucion es la foranea q esta asociada a NOMBRE de usuario o sea ese "Nombre" me trae el nombre del usuario
  #4 (permalink)  
Antiguo 05/10/2012, 10:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Para hacer lo que quieres deberias crear una nueva tabla lamada usuarioinstituciones con dos campos minimos la clave primaria del usuario y la clave primaria de la institucion ya que esa relacion es de muchos a muchos.
Ademas que las llaves primarias no deberian ser nombres sino numeros es mejor.

Ese error te aparece por que para que pueda existir la relacion ambos campos a relacionar deben tener el mismo valor.
Salu2.
  #5 (permalink)  
Antiguo 05/10/2012, 10:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

No bueno lo que mande primero no aplica si t fijas edite el comentario disculpa!:

TABLA usuario: ID, NOMBRE, CONTRASENA, NIVEL, FECHA_REG

TABLA institucion: idinstitucion, nombre_institucion, rif, Nombre


El "Nombre" de la tabla institucion es la foranea q esta asociada a NOMBRE de usuario o sea ese "Nombre" me trae el nombre del usuario

y de echo lo hace bien cada usuario trae sus instituciones... solo q no se de una consulta que en el SELECT m cargue las instituciones de el usuario q haya iniciado sesion
  #6 (permalink)  
Antiguo 05/10/2012, 10:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
No bueno lo que mande primero no aplica si t fijas edite el comentario disculpa!:

TABLA usuario: ID, NOMBRE, CONTRASENA, NIVEL, FECHA_REG

TABLA institucion: idinstitucion, nombre_institucion, rif, Nombre


El "Nombre" de la tabla institucion es la foranea q esta asociada a NOMBRE de usuario o sea ese "Nombre" me trae el nombre del usuario

y de echo lo hace bien cada usuario trae sus instituciones... solo q no se de una consulta que en el SELECT m cargue las instituciones de el usuario q haya iniciado sesion
Bueno por que dices un usuario tiene varias instituciones y varias instituciones pertenecen a un unico usuario si es asi si aplica como lo tienes entonces esto no es php es sql y la consulta te quedaria asi

Código MySQL:
Ver original
  1. Select * from instituciones, usuarios where instituciones.nombre=usuario.nombre
  #7 (permalink)  
Antiguo 05/10/2012, 10:35
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

ok Muchas Gracias Voy a Probar a ver si funciona
  #8 (permalink)  
Antiguo 05/10/2012, 10:56
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

efectivamente cuando hago la consulta en sql corre perfectamente eso es exantamente lo que quiero hacer PERO disculpa mi ignorancia s q soy muy nuevo en php.

para cargar las instituciones cree 2 archivos que son:
class.select.php y cargar-institucion.php

en el "class.select.php" estan los siguientes codigos:

<?php

class selects extends MySQL
{
var $code = "";

function cargarInstituciones()
{
$consulta = parent::consulta("SELECT nombre_institucion FROM institucion ORDER BY nombre_institucion ASC");
$num_total_registros = parent::num_rows($consulta);
if($num_total_registros>0)
{
$instituciones = array();
while($institucion = parent::fetch_assoc($consulta))
{
$code = $institucion["nombre_institucion"];
$nombre = $institucion["nombre_institucion"];
$instituciones[$code]=$nombre;
}
return $instituciones;
}
else
{
return false;
}
}
?>


en el "cargar-institucion.php" que lo que hago es hacer llamado al archivo "class-select.php" y es donde llamo a la conexion con la BD etc, estan los siguientes codigos:


<?php

include("clases/class.mysql.php");
include("clases/class.selects.php");
$selects = new selects();
$instituciones = $selects->cargarInstituciones();
foreach($instituciones as $key=>$value)
{
echo "<option value=\"$key\">$value</option>";
}
?>


Como puedes ver en la parte "class.select.php" es donde ejecuto la consulta y cuando meto la que tu me diste no me funciona no se que hacer con esta parte:
$code = $institucion["nombre_institucion"];
$nombre = $institucion["nombre_institucion"];
$instituciones[$code]=$nombre;


Tengo los Codigos de esta manera porque tambien estoy trabajando con SELECT que dependan uno de otro ejemplo: al seleccionar la intitucion se me active otro select con el rif de esa intitucion y asi sucesivamente.


Si t enrrede mucho m dices y trato de hacerlo un poco mas claro xfa y gracias...!
  #9 (permalink)  
Antiguo 05/10/2012, 11:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Pues por lo que veo a la funcion cargarinstituciones deberas enviarle un parametro el usuario que es por el cual quieres filtrar
Código PHP:
function cargarInstituciones($usuario)
{
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario where institucion.nombre_institucion=usuario.nombreusuario 
and usuario.nombre='"
.$usuario."'
ORDER BY nombre_institucion ASC"
);
$num_total_registros parent::num_rows($consulta);
if(
$num_total_registros>0)
{
$instituciones = array();
while(
$institucion parent::fetch_assoc($consulta))
{
$code $institucion["nombre_institucion"];
$nombre $institucion["nombre_institucion"];
$instituciones[$code]=$nombre;
}
return 
$instituciones;
}
else
{
return 
false;
}

  #10 (permalink)  
Antiguo 05/10/2012, 12:06
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

no ps no me funciona sabes q estaba haciendo la consulta anterior q m diste la q probe en la consola d sql solo q es vez de hacerla asi:

Código PHP:
SELECT FROM institucionusuario WHERE institucion.Nombre=usuario.NOMBRE 
La probe de manera tal q solo me mande el nombre_institucion y el Nombre d usuario y no todos los campos x el * ese

Código PHP:
SELECT nombre_institucionNOMBRE FROM institucionusuario WHERE institucion.Nombre usuario.NOMBRE 

y me da el siguiente error:

#1052 - Column 'NOMBRE' in field list is ambiguous
  #11 (permalink)  
Antiguo 05/10/2012, 12:09
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
no ps no me funciona sabes q estaba haciendo la consulta anterior q m diste la q probe en la consola d sql solo q es vez de hacerla asi:

Código PHP:
SELECT FROM institucionusuario WHERE institucion.Nombre=usuario.NOMBRE 
La probe de manera tal q solo me mande el nombre_institucion y el Nombre d usuario y no todos los campos x el * ese

Código PHP:
SELECT nombre_institucionNOMBRE FROM institucionusuario WHERE institucion.Nombre usuario.NOMBRE 

y me da el siguiente error:

#1052 - Column 'NOMBRE' in field list is ambiguous
cuando quito el NOMBRE me manda solo el campo "nombre_institucion"
  #12 (permalink)  
Antiguo 05/10/2012, 12:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
no ps no me funciona sabes q estaba haciendo la consulta anterior q m diste la q probe en la consola d sql solo q es vez de hacerla asi:

Código PHP:
SELECT FROM institucionusuario WHERE institucion.Nombre=usuario.NOMBRE 
La probe de manera tal q solo me mande el nombre_institucion y el Nombre d usuario y no todos los campos x el * ese

Código PHP:
SELECT nombre_institucionNOMBRE FROM institucionusuario WHERE institucion.Nombre usuario.NOMBRE 

y me da el siguiente error:

#1052 - Column 'NOMBRE' in field list is ambiguous
Por q en ambas tablas tienes un campo q se llama nombre por eso es ambiguo por q el motor de la bd no sabe a cual hace referencia si quieres solo el de la institucion seria

Select institucion.nombre_institucion.
Salu2.
  #13 (permalink)  
Antiguo 05/10/2012, 13:12
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

No ps no funciona el codigo:
Código PHP:
<?php

class selects extends MySQL
{
    var 
$code "";
    
    function 
cargarInstituciones($usuario)
    {
        
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.NOMBRE='".$usuario."' ORDER BY nombre_institucion ASC");
        
$num_total_registros parent::num_rows($consulta);
        if(
$num_total_registros>0)
        {
            
$instituciones = array();
            while(
$institucion parent::fetch_assoc($consulta))
            {
                
$code $institucion["nombre_institucion"];
                
$nombre $institucion["nombre_institucion"];                
                
$instituciones[$code]=$nombre;
            }
            return 
$instituciones;
        }
        else
        {
            return 
false;
        }
    }

Y otra cosa a parte de hacer el llamado a los 2 archivos q antes mensione tambien hay unas lineas de codigo dentro del SELECT ya en el formulario ps asi:

Código PHP:
              <select name="institucion" id="institucion">
              <option value="0">Selecciona Uno...</option>
            <?
    $query1
mysql_query("SELECT * FROM institucion, usuario WHERE  institucion.Nombre = usuario.NOMBRE",$db);
    while (
$datos1=mysql_fetch_assoc($query1)){
    echo 
'<option            value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>';
            }
    
?>
            </select>
Tampoco Funciona, este ultimo codigo que esta dentro del SELECT lo ejecuto en sql consola y corre bien solo que me muestra todos los datos de las 2 tablas pero como estoy haciendo el llamado solo a "nombre_institucion" no se si tendra algo de importancia.. Disculpa si t hago perder tiempo pero es q no me quedan mas opciones sino este foro gracias
  #14 (permalink)  
Antiguo 05/10/2012, 13:20
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
No ps no funciona el codigo:
Código PHP:
<?php

class selects extends MySQL
{
    var 
$code "";
    
    function 
cargarInstituciones($usuario)
    {
        
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.NOMBRE='".$usuario."' ORDER BY nombre_institucion ASC");
        
$num_total_registros parent::num_rows($consulta);
        if(
$num_total_registros>0)
        {
            
$instituciones = array();
            while(
$institucion parent::fetch_assoc($consulta))
            {
                
$code $institucion["nombre_institucion"];
                
$nombre $institucion["nombre_institucion"];                
                
$instituciones[$code]=$nombre;
            }
            return 
$instituciones;
        }
        else
        {
            return 
false;
        }
    }

Y otra cosa a parte de hacer el llamado a los 2 archivos q antes mensione tambien hay unas lineas de codigo dentro del SELECT ya en el formulario ps asi:

Código PHP:
              <select name="institucion" id="institucion">
              <option value="0">Selecciona Uno...</option>
            <?
    $query1
mysql_query("SELECT * FROM institucion, usuario WHERE  institucion.Nombre = usuario.NOMBRE",$db);
    while (
$datos1=mysql_fetch_assoc($query1)){
    echo 
'<option            value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>';
            }
    
?>
            </select>
Tampoco Funciona, este ultimo codigo que esta dentro del SELECT lo ejecuto en sql consola y corre bien solo que me muestra todos los datos de las 2 tablas pero como estoy haciendo el llamado solo a "nombre_institucion" no se si tendra algo de importancia.. Disculpa si t hago perder tiempo pero es q no me quedan mas opciones sino este foro gracias

Ah si quito esta parte de codigo

and usuario.NOMBRE='".$usuario."'

que esta al final de la consulta si me carga el SELECT pero m carga todos los datos y no solo los del usuario
  #15 (permalink)  
Antiguo 05/10/2012, 13:22
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Donde muestas el select que quieres que te salga el resultado filtrado solo para el usuario que inicia sesion debes hacer la consulta que te mostre.

Cuando un usuario se loguea debes obtener el nombre del usuario en sesion y pasarcela a la consulta sql que muestra el formulario.

Si no te esta funcionando debe ser otra cosa diferente al sql.
  #16 (permalink)  
Antiguo 05/10/2012, 13:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
Ah si quito esta parte de codigo

and usuario.NOMBRE='".$usuario."'

que esta al final de la consulta si me carga el SELECT pero m carga todos los datos y no solo los del usuario
Es que esa es la condicion que te hace el filtrado para el usuario especifico .
imprime el sql para ver que estas mandando en la variable usuario.
En que parte del codigo llamas a la funcion cargarInstituciones.
  #17 (permalink)  
Antiguo 05/10/2012, 13:34
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por maxpower2008 Ver Mensaje
Es que esa es la condicion que te hace el filtrado para el usuario especifico .
imprime el sql para ver que estas mandando en la variable usuario.
En que parte del codigo llamas a la funcion cargarInstituciones.
SI ME DAS TU CORREO PARA ENVIARTE LA BASE DE DATOS? y la revises y t envio los codigos de forma mas especifica a ver en que me puedes ayudar
  #18 (permalink)  
Antiguo 05/10/2012, 13:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
SI ME DAS TU CORREO PARA ENVIARTE LA BASE DE DATOS? y la revises y t envio los codigos de forma mas especifica a ver en que me puedes ayudar
El problema no debe ser de la BD es de como lo estas procesando.
Postea en el foro solo la parte que utilizas para el loguin y al momento de llamar a la funcion cargarinstituciones.
Asi le sirve a todos ademas que cualquiera te puede echar una mano.
  #19 (permalink)  
Antiguo 05/10/2012, 13:39
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

ARCHIVO: class.select.php

Código PHP:
<?php

class selects extends MySQL
{
    var 
$code "";
    
    function 
cargarInstituciones($usuario)
    {
        
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.NOMBRE='".$usuario."' ORDER BY nombre_institucion ASC");
        
$num_total_registros parent::num_rows($consulta);
        if(
$num_total_registros>0)
        {
            
$instituciones = array();
            while(
$institucion parent::fetch_assoc($consulta))
            {
                
$code $institucion["nombre_institucion"];
                
$nombre $institucion["nombre_institucion"];                
                
$instituciones[$code]=$nombre;
            }
            return 
$instituciones;
        }
        else
        {
            return 
false;
        }
    }
}
?>
ARCHIVO: cargar-institucion.php

Código PHP:
<?php

include("clases/class.mysql.php");
include(
"clases/class.select.php");
$selects = new selects();
$instituciones $selects->cargarInstituciones($usuario);
foreach(
$instituciones as $key=>$value)
{
        echo 
"<option value=\"$key\">$value</option>";
}
?>
Datos del SELECT que esta en el formulario:

Código PHP:
Institucion:
            <select name="institucion" id="institucion">
              <option value="0">Selecciona Uno...</option>
            <?
    $query1
mysql_query("SELECT * FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE",$db);
    while (
$datos1=mysql_fetch_assoc($query1)){
    echo 
'<option value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>';
            }
    
?>
            </select>

eso es todo lo q utilizo ademas del codigo de como inicio sesion el usuario q lo puse al principio
  #20 (permalink)  
Antiguo 05/10/2012, 13:47
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
ARCHIVO: class.select.php

Código PHP:
<?php

class selects extends MySQL
{
    var 
$code "";
    
    function 
cargarInstituciones($usuario)
    {
        
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.NOMBRE='".$usuario."' ORDER BY nombre_institucion ASC");
        
$num_total_registros parent::num_rows($consulta);
        if(
$num_total_registros>0)
        {
            
$instituciones = array();
            while(
$institucion parent::fetch_assoc($consulta))
            {
                
$code $institucion["nombre_institucion"];
                
$nombre $institucion["nombre_institucion"];                
                
$instituciones[$code]=$nombre;
            }
            return 
$instituciones;
        }
        else
        {
            return 
false;
        }
    }
}
?>
La funcion de arriba esta bien.
ARCHIVO: cargar-institucion.php

Código PHP:
<?php
session_start
();
include(
"clases/class.mysql.php");
include(
"clases/class.select.php");
$selects = new selects();
$usuario=$_SESSION['usuario'];
$instituciones $selects->cargarInstituciones($usuario);
foreach(
$instituciones as $key=>$value)
{
        echo 
"<option value=\"$key\">$value</option>";
}
?>
Ahora aca donde llamas a la funcon cargarInstituciones le envias la variable usuario sin ningun valor por eso no te funciona
$usuario debe tener el valor del nombre de usuario que inicia sesion.

$usuario=$_SESSION['usuario'];

Datos del SELECT que esta en el formulario:

Código PHP:
Institucion:
            <select name="institucion" id="institucion">
              <option value="0">Selecciona Uno...</option>
            <?
    $query1
mysql_query("SELECT * FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE",$db);// and usuario.Nombre=$usuario que debe tener el valor del usuario que inicia sesion
    
while ($datos1=mysql_fetch_assoc($query1)){
    echo 
'<option value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>';
            }
    
?>
            </select>
Igual en este select no estas filtrando por el usuario que inicia sesion el mismo inconveniente de mas arriba

eso es todo lo q utilizo ademas del codigo de como inicio sesion el usuario q lo puse al principio
  #21 (permalink)  
Antiguo 05/10/2012, 13:55
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

ARCHIVO: sesion.php
Código PHP:
<?php   
    session_start
();
  
//Rescatar variables
  //Se pregunta si se enviaron las varibales necesarias
    
if(isset($_POST['usuario'])&&($_POST['contrasena'])) 
{   
//Si todo va bien asignamos valores a variables nuevas
    
$usuario=$_POST['usuario'];
    
$contrasena=$_POST['contrasena'];
    
        
// Verificamos si hay campos en blanco
        
if($usuario==NULL||$contrasena==NULL) {
?>
        <!--Inicio Mensaje que aun tiene que llenar Campos -->
        <script>
        alert('Hay Campos Vacios');
        </script>
        <!--Fin de Mensaje que aun tiene que llenar Campos -->
<?php
        
}else{
            
// Si todo va bien conectamos con Servidor
                
$conectar=mysql_connect('localhost''root''xxxx');  
            
// Seleccionamos la Base de Datos
                
mysql_select_db('xxxx')or die (mysql_error());
        
            
//Ejecutamos la busqueda
                
$queEmp "SELECT NIVEL FROM usuario WHERE NOMBRE = '$usuario'";
                
$resEmp mysql_query($queEmp) or die(mysql_error()); 
                
$arr_datos mysql_fetch_array($resEmp);
                
$nivel $arr_datos['3'];
            
//Si la Busqueda tiene algun resultado real se continua
            
if ($nivel==Administrador) {
                
//Verificamos si es administrador
                
Header("Location: index.php");
                
$_SESSION['usuario']=$usuario;
                
$_SESSION['activa']=1;
                }
                
                else{
                
//Si lo anterior es falso verificamos si es Consultor
                
if($nivel=='Consultor'){
                
Header("Location: consultor/index.php");
                
$_SESSION['usuario']=$usuario;
                
$_SESSION['activa']=1;
                }
                }
                            
?>
        <!--Inicio Mensaje que el usuario no existe -->
        <script>
        alert('El Usuario no Existe. Debe Dirigirse al Departamento y el Administrador lo Registrará');
        </script>
        <!--Fin Mensaje que el usuario no existe -->
<?php
}
}
?>


y en el mismo archivo dond se encuentra el formulario tengo este codigo que tiene que ver con la sesion:

Código PHP:
<?php session_start();
     
ini_set('session_save_path''../tmp');
     
session_name('usuario');
     
$usu=$_SESSION["usuario"];
    if(
$_SESSION['activa']!=1){
?>
      <script>
        alert('Debe Iniciar Sesion');
        window.location='sesion.php';
      </script>
<?php
    
return;
  }else{

$dbhost="localhost";
  
$dbuser="root";
  
$contra="xxx"
  
$db="xxx"

//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$contra");
mysql_select_db("$db");
  #22 (permalink)  
Antiguo 05/10/2012, 13:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Ya miraste lo que te edite antes en tu codigo??...
  #23 (permalink)  
Antiguo 05/10/2012, 14:09
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Si y nada esto fue lo q hice:

ARCHIVO: class.select.php

Código PHP:
<?php

class selects extends MySQL
{
    var 
$code "";
    
    function 
cargarInstituciones($usu)
    {
    
        
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.NOMBRE='".$usu."' ORDER BY nombre_institucion ASC");
        
$num_total_registros parent::num_rows($consulta);
        if(
$num_total_registros>0)
        {
            
$instituciones = array();
            while(
$institucion parent::fetch_assoc($consulta))
            {
                
$code $institucion["nombre_institucion"];
                
$nombre $institucion["nombre_institucion"];                
                
$instituciones[$code]=$nombre;
            }
            return 
$instituciones;
        }
        else
        {
            return 
false;
        }
    }
}
?>
ARCHIVO:cargar-institucion.php

Código PHP:
<?php

include("clases/class.mysql.php");
include(
"clases/class.select.php");
$usu=$_SESSION['usuario'];
$selects = new selects();
$instituciones $selects->cargarInstituciones($usu);
foreach(
$instituciones as $key=>$value)
{
        echo 
"<option value=\"$key\">$value</option>";
}
?>

Datos del SELECT que esta en el formulario

Código PHP:

Institucion:
            <select name="institucion" id="institucion">
              <option value="0">Selecciona Uno...</option>
            <?
            $usu
=$_SESSION["usuario"];
    
$query1mysql_query("SELECT * FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.Nombre=$usu",$db);
    while (
$datos1=mysql_fetch_assoc($query1)){
    echo 
'<option value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>';
            }
    
?>
            </select>
al principio del formulario este codigo:

Código PHP:
<?php session_start();
     
ini_set('session_save_path''../tmp');
     
session_name('usuario');
     
$usu=$_SESSION["usuario"];
    if(
$_SESSION['activa']!=1){
?>
      <script>
        alert('Debe Iniciar Sesion');
        window.location='sesion.php';
      </script>
<?php
    
return;
  }else{
 
  
$dbhost="localhost"
  
$dbuser="root";
  
$contra="****"
  
$db="***";

//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$contra");
mysql_select_db("$db");

?>

Y NADA...!
  #24 (permalink)  
Antiguo 05/10/2012, 14:14
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

has un echo de
query1 y de consulta haber q estas mandando

echo $consulta
y echo $query1
  #25 (permalink)  
Antiguo 05/10/2012, 14:24
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por maxpower2008 Ver Mensaje
has un echo de
query1 y de consulta haber q estas mandando

echo $consulta
y echo $query1
Código PHP:
<?
            $usu
=$_SESSION["usuario"];
    
$query1mysql_query("SELECT * FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.Nombre=$usu",$db);
    while (
$datos1=mysql_fetch_assoc($query1)){
    
    echo 
'$query1';
/*     echo '<option value="'.$datos1['nombre_institucion'].'">'.$datos1['nombre_institucion'].'</option>'; */
            
}
    
?>
nada!!!


Código PHP:
function cargarInstituciones($usu)
    {
        
        
$consulta parent::consulta("SELECT nombre_institucion FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.NOMBRE='".$usu."' ORDER BY nombre_institucion ASC");
        echo 
'$consulta';
        
$num_total_registros parent::num_rows($consulta);
        if(
$num_total_registros>0)
        {
            
$instituciones = array();
            while(
$institucion parent::fetch_assoc($consulta))
            {
                
$code $institucion["nombre_institucion"];
                
$nombre $institucion["nombre_institucion"];                
                
$instituciones[$code]=$nombre;
            }
            return 
$instituciones;
        }
        else
        {
            return 
false;
        }
    } 
y nada No da mensajes de errores no hace nada el select no carga nada
  #26 (permalink)  
Antiguo 05/10/2012, 14:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

que valor esta mostrando la variable $query1?...
  #27 (permalink)  
Antiguo 05/10/2012, 14:32
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por maxpower2008 Ver Mensaje
que valor esta mostrando la variable $query1?...
mmm bueno la variable query1 trae esta consulta

$query1= mysql_query("SELECT * FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.Nombre=$usu",$db);

q no se como saber si esta bien ya que no puedo correrla en la consola de sql x la variable.

la consulta me funciona bien quitandole la ultima parte "and usuario.Nombre=$usu",$db); "


No se si m expliq sino ps bueno no entiendo la pregunta q m hiciste
  #28 (permalink)  
Antiguo 05/10/2012, 14:40
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Consulta SQL para validar Select con usuarios

Bueno deberias hacer algo tan sencillo como esto..


tabla institucion
campo1,campo2...nombreusuario

tabla usuarios
campo1,campo2...nombreusuario

Código PHP:
Ver original
  1. select campo1,institucion.nombreusuario,usuarios.nombreusuario from institucion,usuarios where institucion.nombreusuario=usuarios.nombreusuario;

es algo sumamente sencillo solo que ya te complicaste mucho..

solo debes meter el nombre del usuario en la institucion que corresponda en la tabla insitucion..
entonces luego haces el select..
es preferible que en vez de meter el nombredeusuario metas un numero o id de usuario..

animo y suerte..
  #29 (permalink)  
Antiguo 05/10/2012, 14:40
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por homerolovera07 Ver Mensaje
mmm bueno la variable query1 trae esta consulta

$query1= mysql_query("SELECT * FROM institucion, usuario WHERE institucion.Nombre = usuario.NOMBRE and usuario.Nombre=$usu",$db);
echo $query;
q no se como saber si esta bien ya que no puedo correrla en la consola de sql x la variable.

la consulta me funciona bien quitandole la ultima parte "and usuario.Nombre=$usu",$db); "


No se si m expliq sino ps bueno no entiendo la pregunta q m hiciste
Precisamente por que no se puede correr la variable en sql por eso es que se necesita imprimir un echo de la variable para ver que muestra corre tu script haber que imprime la variable $query
  #30 (permalink)  
Antiguo 05/10/2012, 14:43
 
Fecha de Ingreso: octubre-2012
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Consulta SQL para validar Select con usuarios

Cita:
Iniciado por minombreesmm Ver Mensaje
Bueno deberias hacer algo tan sencillo como esto..


tabla institucion
campo1,campo2...nombreusuario

tabla usuarios
campo1,campo2...nombreusuario

Código PHP:
Ver original
  1. select campo1,institucion.nombreusuario,usuarios.nombreusuario from institucion,usuarios where institucion.nombreusuario=usuarios.nombreusuario;

es algo sumamente sencillo solo que ya te complicaste mucho..

solo debes meter el nombre del usuario en la institucion que corresponda en la tabla insitucion..
entonces luego haces el select..
es preferible que en vez de meter el nombredeusuario metas un numero o id de usuario..

animo y suerte..

mmm bueno dale y gracias por la paciencia voy a intentar asi a ver

Etiquetas: formulario, mysql, select, sql, usuarios
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 03:36.