Comunidad de diseño web y desarrollo en internet online

Como obtener el numero de registro de un user

Citar            
MensajeEscrito el 16 Jul 2008 12:35 am
Tengo un problema con la siguiente consulta. Tengo una Db:

Código :

tbl_colegios
Idcolegio Nombre Cursos

Código :

tbl_alumnos
Idalumno Idcolegio Nombre user pasw


Lo que necesito obtener es cuando un usuario se identifique, obtener la opcion se encuentra registrado segun el colegio y curso.-

Ej.:
En un curso se impiesan a registrar usuarios, cuando uno de ellos se logge necesito saber cual es el numero o posicion que se registro.-

Es un poco enredado, voy a dejar otro ejemplo:

Código :

tbl_alumnos
Idalumno Idcolegio Nombre user pasw
1           8      nomb1   us1  pas1
2           1      nomb2   us2  pas2
3           8      nomb3   us3  pas3
4           6      nomb4   us4  pas4
5           8      nomb5   us5  pas5


Si se loguiara el usuario "Us5" necesito que me devuelva el numero 3, que corresponde la ubicacion de registro del usuario dentro de la tabla.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie7
Citar            
MensajeEscrito el 16 Jul 2008 02:31 am
la consulta SQL sería algo así como:

Código :

"SELECT Idalumno FROM tbl_alumnos WHERE user = 'us5' LIMIT 1"


donde 'us5' iría el nombre de usuario pasado como parametro...

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 16 Jul 2008 02:11 pm
Efectivamente, ese sería el comando SQL, que si lo ejecutas desde PHP, se haría desde la función: mysql_query($COMANDO)

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 16 Jul 2008 04:18 pm
Ojo no necesito el Idalumno, necesito saber en numero de registro segun el colegio y curso.-
Eso no me sirve ya que retornaria '5' y la respuesta correcta seria '3'.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie7
Citar            
MensajeEscrito el 16 Jul 2008 04:31 pm
Es probable que exista alguna consulta (que yo desconozco) que realice ese cálculo, pero yo te sugeriría mejor crear un campo extra en la tabla que llevara la cuenta, para evitar complicaciones.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 16 Jul 2008 04:31 pm
solución, como decimos de este lado de la frontera, burrera (creo yo).!

has el select ordenando por id de colegio y luego cuenta los registros cuyo idColegio es menor al idColegio del usuario a buscar...

algo asi:

selecciona (cuenta (selecciona ordenando ascendentemente cuando el id sea menor al del usuario) )

y con eso (a mi parecer) obtienes los usuarios q estarían por encima del usuario buscado, solo faltaria sumar 1.

te queda traducirlo a SQL.

prueba y nos cuentas york3rs

Por mauril26

161 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jul 2008 05:03 pm

Es probable que exista alguna consulta (que yo desconozco) que realice ese cálculo,

desconozco que exista una funcion para hacer eso, pero otra solucion burrera sería...:

Código :

// BUSCAMOS EL ID DEL COLEGIO DEL USUARIO
$usr = 'miUsuarioABuscar';
$idcolegio = mysql_query("SELECT Idcolegio FROM tblAlumnos WHERE usuario = ' . $usr . "'");

// BUSCAMOS TODOS LOS ALUMNOS DEL COLEGIO
$alumnos = mysql_query("SELECT usuario FROM tblAlumnos WHERE Idcolegio = " . $idcolegio;

// CON UN BUCLE FOR BUSCAMOS EL ALUMNO EN CUESTION PARA OBTENER EL INDICE
$idalumno = 0;
for ($i = 0; $i < mysql_num_rows($alumnos); $i++) 
             if (mysql_result($alumnos, $i, 0) == $usr) {
                              $idalumno = $i;
                              break;
             }


Eso sería, medio burrera, pero funciona... saludos!

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.