Foros del Web » Programando para Internet » PHP »

2 preguntas

Estas en el tema de 2 preguntas en el foro de PHP en Foros del Web. saludos, 2 preguntas, espero que no sea tan dificil, pues a mi me ha estado costando un mundo... el caso es que tengo datos de ...
  #1 (permalink)  
Antiguo 19/02/2010, 01:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 19
Antigüedad: 14 años, 2 meses
Puntos: 0
2 preguntas

saludos,

2 preguntas, espero que no sea tan dificil, pues a mi me ha estado costando un mundo...

el caso es que tengo datos de usuarios en una base de datos, y quiero que aparezca su nombre de usuario del alumno en la pagina de php que estoy elaborando.

EJ: Hola XXX y al lado cerrar cerrar sesión.

como hago para que este me valide el usuario que está realmente conectado, pues cada vez que hago logout y entro con otro usuario de prueba, pienso yo que me busca el usuario con ID 01 de la tabla alumnos, y no se hacer la consulta para que me busque al usuario que es...
<? echo "Usuario: ".$row['nombre'] .$row['apellido']; ?> /////


2) teniendo en la bd datos de estudiantes, y la nota aprobatoria es >4 y reprobados <4, siendo el sistema de calificacion del 1 a 5. mientras que las materias no vistas es 0.

si tengo materias aprobadas quiero que me muestre ciertas materias por ver... mientras que los reprobados vuelven a ver las mismas materias.

sé que es una subconsulta de query´s pero no tengo ni idea como hacer el operador en php para que revise en la base de datos...

gracias de antemano.
  #2 (permalink)  
Antiguo 19/02/2010, 04:03
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: 2 preguntas

1) Cómo sabes si está logueado? Así, a simple vista sería o obtener el nombre de la sesión / cookie, o de la bbdd, depende como hagas el login >.<

2) no lo entiendo :S
  #3 (permalink)  
Antiguo 19/02/2010, 04:56
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 9 meses
Puntos: 12
Respuesta: 2 preguntas

Tampoco he entendido la segunda pregunta pero lo que podrías hacer con la primera es crear una variable de sesión y de ahí hacer una consulta a la base de datos para extraer TODA la información. Me explico:

Primero adjudicas la sesión:

Código PHP:
<?php
session_start
();

$result=mysql_query("SELECT identificador
FROM tutabla
WHERE nombre='"
.$_POST['nombre']." AND passw=".$_POST['passw']."'")
    or die(
mysql_error());
 while (
$row=mysql_fetch_array($result)) {
                
extract($row);}
$_SESSION['estudiante'] = $identificador;

¿>
Bueno con ése trozo de código tienes la variable de sesión de tu estudiante guardada por nombre y contrseña, nótese que eso tendría que venir de un formulario de login que doy por hecho que sabes hacer. Luego mantienes la variables de sesión poniendo en TODAS las páginas donde necesites acceder a los datos de ése usuario lo siguiente arriba del todo:


Código PHP:
<?php
session_start
();
?>
Luego para mostrar cualquier tipo de información haces el camino inverso y vas mostrando los datos del usuario, por ejemplo:

Código PHP:
<?php
session_start
();

$result=mysql_query("SELECT nombre, apellidos, nota, matematicas //todos los campos que quieras
FROM tutabla
WHERE identificador='"
.$_SESSION['estudiante']."'")
    or die(
mysql_error());
 while (
$row=mysql_fetch_array($result)) {
                
extract($row);}

¿>
Luego cómo mostrar los datos ya es cosa tuya, si necesitas diferenciar entre los que han aprobado o suspendido tendrás que poner un if else después de la consulta y hacer varios caminos distintos.

Espero haber sido de ayuda.
__________________
Juego de navegador online
  #4 (permalink)  
Antiguo 19/02/2010, 10:06
 
Fecha de Ingreso: febrero-2010
Mensajes: 19
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: 2 preguntas

(PUNTO 2)

Ok, el trabajo que estoy realizando es un sistema de inscripcion por semestre de estudiantes de una universidad, el objetivo del mismo no es llegar a que los usuarios inscriban materias, sino que a cada estudiante que se loguee (aqui el personal de control de estudios es quien crea los usuarios, lleva las claves, y posee el record académico de cada alumno, por lo que cada estudiante solo ingresa a la página a colocar su numero de identificación y su contraseña)... por ahi voy bien...
al hacer login, hace el chequeo con la base de datos, validando que el usuario esté dentro de la base de datos... (ahi todo va bien tambien)...

luego del login, el usuario debe entrar al link donde debe aparecer la oferta académica (es decir las materias del estudiante (id=01) le restan 8 materias y a otro estudiante id=2 le quedan 14 materias por ver), en esa página OFERTA.PHP,hasta este punto he podido arrastrar el CODIGO DE MATERIAS, TODAS LAS MATERIAS DEL PENSUM, LAS UNIDADES DE CREDITO Y LAS SECCIONES. Pero me aparecen todas las de la base de datos, es decir como si el usuario id=01, id=02, ...etc, les faltan por ver todas las materias (es decir como si fuesen alumnos nuevos, lo cual no deberia ser, estos estudiantes deben tener materias aprobadas, por lo que habria que eliminarse de esa lista, y si esos estudiantes reprobaron materias los mismos deben volver a ver esa materia...

Como sé que cada estudiante aprobó una materia o no???

EL SISTEMA DE CALIFICACION ES DEL 1 AL 5, a partir de 4 a 5 APRUEBAN y menores de 4 puntos REPRUEBAN las materias

ESTO ES SI NO ME EQUIVOCO SON SUBQUERIES... Y REALMENTE ES LO QUE ME ESTÁ DANDO DOLOR DE CABEZAAAA!...

ANEXO CÓDIGO PHP DE OFERTA.PHP

Cita:
<html>
<head><title> Sice 4.0 - Oferta Académica</title>
<link href="sice-oferta.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php

include("conexiondb.php");
$link=conectarse();

$sql=("SELECT * FROM alumnos");
$result = mysql_query($sql) or die(mysql_error());

$row = mysql_fetch_array( $result );

$sqlm = "SELECT * FROM `materias`";
$result = mysql_query($sqlm) or die(mysql_error());

$sqlc = "SELECT * FROM `materias` WHERE `codigo_materia` >0 ";
$result = mysql_query($sqlc) or die(mysql_error());
$sqluc = "SELECT * FROM `materias` WHERE `unidades_credito` >=0 ";
$result = mysql_query($sqluc) or die(mysql_error());

?>
<ul id="nav">
<li class="first"> Sice 4.0 </li> <br> <br>
<li> <? echo "Usuario: ".$row['nombre'] .$row['apellido']; ?> </li> <br> <br>
<li><a href="logout.php"> Cerrar Sesión </a> </li>
</ul>
</p>

<FORM action="" enctype="multipart/form-data" method="POST" name="form1">

<BR>
<TABLE cellpadding="5" cellspacing="0" border="1" align="center">
<caption> <h1> <img src="images/logo-oferta.jpg" width="499" height="196"><br>
Universidad Nacional Experimental XXX <br> Oferta Académica</h1>
</caption>



<thead>
<tr>
<th> Codigo </th>
<th> Materia </th>
<th> U/C </th>
<th> Secciones </th>
</tr>
</thead>

<tbody>
<tr class="odd">
<? while($row=mysql_fetch_array($result)){ ?>
<td> <? echo $row["codigo_materia"];?> </td>
<td> <? echo $row["materias"]; ?> </td>
<td> <? echo $row["unidades_credito"]; ?> </td>
<td> A - B - C - D - E </td>
</tr>
</tbody>
<? }?>
</TABLE>
</FORM>

</body>
</html>
Y ANEXO PANTALLAS DE COMO ME ESTÁ QUEDANDO LA PÁGINA DONDE MUESTRA TODA LA OFERTA ACADÉMICA.

[URL="http://img97.imageshack.us/img97/4981/127001siceofertaphp.jpg"] img97.imageshack.us/img97/4981/127001siceofertaphp.jpg
[/URL]

CABE ACOTAR QUE EN LA PANTALLA APARECE MI USUARIO ZEVA, pero si yo hago logout (me deslogueo) e inicio sesión con otro usuario, seguirá apareciendo el usuario ZEVA, es como si estuviese utilizando el id #1 de la tabla estudiantes, lo cual es mi duda #1 descrito arriba...

Gracias de antemano!

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 17:11.