Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayudaa!!

Estas en el tema de Ayudaa!! en el foro de Mysql en Foros del Web. Hola buenas!!! necesito hacer q un <select><option> de html me coja valores de mi base de datos, estoy utilizando PHP. Es una base de datos ...
  #1 (permalink)  
Antiguo 10/03/2010, 08:29
 
Fecha de Ingreso: febrero-2009
Mensajes: 8
Antigüedad: 15 años, 2 meses
Puntos: 0
Sonrisa Ayudaa!!

Hola buenas!!! necesito hacer q un <select><option> de html me coja valores de mi base de datos, estoy utilizando PHP.

Es una base de datos de los expedientes de los alumnos y quiero q me coja el nombre de las asignaturas. alguien sabe como hacerlo??

gracias de antemano!!


aqui pego un trozito de codigo:

Cita:

$consulta="SELECT * FROM alumno a, ejercicio e, expediente ex where a.num=ex.num AND ex.id=e.id order by a.num;";

$resultado=mysql_query($consulta,$link);

echo "<tr><form action='anuevo.php' method='POST'>
<td>
Asignatura: <SELECT name='asignaturas'>
<option name='name'>";

while($fila=mysql_fetch_array($resultado)){
echo $fila['asignatura'];}

echo "</option></select>
</td>
<td>
Nota: <INPUT TYPE='text' name='insertnota' size='1' MAXLENGTH='2'>
</td>
<td>
<INPUT TYPE='submit' name='Enviar' value='Insertar'>
</td>
</tr>
</form>";

Última edición por roskiya; 10/03/2010 a las 09:07
  #2 (permalink)  
Antiguo 10/03/2010, 09:31
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayudaa!!

Hum, y cual es la estructura de tus tablas? tienes un campo llamado asignatura en una de ellas?
  #3 (permalink)  
Antiguo 10/03/2010, 09:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 8
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Ayudaa!!

mysql> describe ejercicio;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| asignatura | varchar(30) | YES | | NULL | |
| fecha | date | YES | | NULL | |
| descripcion | varchar(150) | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)





mysql> describe expediente;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| num | int(11) | NO | PRI | 0 | |
| id | int(11) | NO | PRI | 0 | |
| nota | float | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
3 rows in set (0.02 sec)





mysql> describe alumno;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| num | int(11) | NO | PRI | NULL | auto_increment |
| nombre | varchar(60) | YES | | NULL | |
| apellidos | varchar(100) | YES | | NULL | |
| grupo | int(11) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
4 rows in set (0.02 sec)
  #4 (permalink)  
Antiguo 10/03/2010, 12:48
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayudaa!!

Bueno, aparte de que seria mejor usar joins que productos cartesianos, no veo errores en la consulta, tienes datos en las tablas que coincidan con los parametros de tu consulta? que pasa si ejecutas la consulta directo en tu bd?
  #5 (permalink)  
Antiguo 10/03/2010, 13:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ayudaa!!

La pregunta de darkasecas es correcta: En las tablas que pones no se pueden inferir las relaciones entre las tablas correctamente:
EJERCICIO(id, asignatura, fecha, descripcion)
EXPEDIENTE(num, id,nota)
ALUMNO(num, nombre, apellidos, grupo)

Expediente parecería ser una tabla que representa la relación N:N entre Ejercicio y Alumno, aunque los nombres de las tablas no parecen representativos, pero tiene el problema de ser insuficientemente discriminatorio para eso, porque no hay ningún atributo que permita inferir cuál es su PK.
Podríamos suponer que para obtener los nombres de las asignaturas cursadas habría que hacer algo así:
Código MySQL:
Ver original
  1. SELECT DISTINCT CONCAT(A.nombre, ' ', A.apellidos) Alumno , E.asignatura
  2. FROM alumno A
  3.     INNER JOIN expediente E USING(num)
  4.     INNER JOIN ejercicio J USING(id);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

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 08:29.