Autor
|
Tema: Ayuda con Consulta (Leído 2,131 veces)
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
hola alguien me podria ayudar en ver donde tengo el error sucede que doy un numer de matricula para que sea leid y me muestre de x matriculaunas calificaciones pero no me respeta el numero qeu le doy y me arroja solo 1, espero puedan ayudarme, gracias
quiero filtrar la consulta por matricula y hago una pregunta asi.
<form action="consultasola.php" method="post"> <div align="left"> <h1 align="center">Consulta de Calificaciones</h1> <p> <br> Matricula del Alumno: <input name="matricula" type="text" id="matricula" size="17"> <input type=submit name="Buscar" value="Buscar"> </p> </div> <td><div align="center"> <h3><a href="entra.php">Retornar al Menú Principal </a></h3> <p> </p> <p>Tarea Sistema de Administracion de Alumnos</p> </div> </form>
y el otro programa qe se llama consultasola.php est asi
// Conectar con el servidor de base de datos $conexion = mysql_connect ("localhost", "root", "root") or die ("No se puede conectar con el servidor");
// Seleccionar base de datos mysql_select_db ("escuela") or die ("No se puede seleccionar la base de datos");
// Obtener datos $matricula= $_REQUEST['matricula']; <---------aqui tambien utilice el GET y me sigue mostrando el resultado anterior, le puse el POST y tampoco me lo aceptal
$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos, kardex WHERE kardex.matricula=alumnos.matricula");
$row=mysql_fetch_array($res); //hago esto, para poder tomar el nombre antes de entrar al WHILE. echo "El alumno ".$row['nombres']." ".$row['apellidos']." y con Matricula: ".$row[matricula]." obtuvo las siguientes calificaciones:</br>";
while($row=mysql_fetch_array($res)){ echo "Materia: ".$row['codigomateria']." | Calificacion: ".$row['calif1A']."</br>";
} echo "<ul> </ul>";
echo "<ul> </ul>"; echo "<td><div align=left><a href=entra.php>Retornar al Menú Principal</a></div></td>";
|
|
|
|
|
En línea
|
|
|
|
Nakp
casi es
Ex-Staff
Desconectado
Mensajes: 6.335
he vuelto :)
|
que weba leer tu codigo... usa geshi ademas es: mysql_select_db ("escuela", $conexion); etc, etc, etc, la conexion no se crea de adorno y no estas trabajando con un objeto, tienes que usarla practicamente en todas las funciones que interactuen con la BD, mysql_fetc_array interactua con un resultset, por lo tanto no la usas con este  saludos pd: arregla el codigo xD ponlo entre [code=html4strict][/code] y [code=php][/code]
|
|
|
|
|
En línea
|
Ojo por ojo, y el mundo acabará ciego.
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
gracias por tu comentario pero eso no me ayuda. saludos y buena noche
|
|
|
|
|
En línea
|
|
|
|
WHK
吴阿卡
Moderador Global
 
Desconectado
Mensajes: 3.944
The Hacktivism is not a crime
|
$matricula= $_REQUEST['matricula']; haz una busqueda en tu documento y dime cuantas veces se repite la variable "$matricula"
|
|
|
|
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
hola amigo gracias. yo lo que quier hacer es lo siguiente
$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos, kardex WHERE kardex.matricula=alumnos.matricula");
en este query como le pongo una variable cargada desde un formulario?
lo que pasa que consulto a tablas pero antes quiero pedir el dato de matricula para que me muestre esa matricula que necesito. espero entenderme.
|
|
|
|
|
En línea
|
|
|
|
rob1104
Desconectado
Mensajes: 325
Usuario común
|
Hola, creo que la consulta correcta seria:
$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.codigomateria FROM alumnos INNER JOIN kardex ON kardex.matricula=alumnos.matricula WHERE alumnos.matricula = $matricula");
Saludos
|
|
|
|
« Última modificación: 20 Marzo 2010, 10:15 por rob1104 »
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
hola amigo creo que no pegaste el codigo, no lo veo
saludos
|
|
|
|
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
WAOOOOOOO te debo unos TEQUILAS ya te agrege al MSN pa ponernos de acuerdo D: D:
|
|
|
|
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
aprovechando de tu inteligencia ROB como le haria para ligar una tercera tabla ?
|
|
|
|
|
En línea
|
|
|
|
rob1104
Desconectado
Mensajes: 325
Usuario común
|
aprovechando de tu inteligencia ROB como le haria para ligar una tercera tabla ?
Solo vas agregando mas INNER JOIN de acuerdo a tus necesidades, coloca tu tercera tabla, los campos que quieras ligar y la condicion que tendrá para poder ligarla y asi armamos la consulta. Saludos
|
|
|
|
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
Hola Roberto
como estas.
espero me puedas ayudar.
tengo el siguiente codigo.
$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.fechacalif, materias.materia FROM alumnos INNER JOIN kardex INNER JOIN materias ON kardex.matricula=alumnos.matricula WHERE alumnos.matricula =".$_POST['matricula']);
$row=mysql_fetch_array($res); //hago esto, para poder tomar el nombre antes de entrar al WHILE. echo "<td><div align=left>El alumno ".$row['nombres']." ".$row['apellidos']." y con Matricula: ".$row[matricula]." obtuvo las siguientes calificaciones:</a></div></td></br>";
echo '<table>'; echo '<tr>'; echo '<td><b>Materia</b></td><td><b>Calificacion</b><td><b>Fecha Calificacion</b></td>'; echo '</tr>'; echo '<tr>'; echo '<td>'.$row['materia'].'</td><td>'.$row['calif1A'].'</td><td>'.$row['fechacalif'].'</td>'; echo '<td>'; while($row=mysql_fetch_array($res)) { echo '<tr>'; echo '<td>'.$row['materia'].'</td><td>'.$row['calif1A'].'</td><td>'.$row['fechacalif'].'</td>'; echo '</tr>'; echo '<td>'; } echo '</table>';
y el resultado es este.
El alumno CELINA NINFA GUERRA y con Matricula: 91901014428 obtuvo las siguientes calificaciones:
Materia Calificacion Fecha Calificacion INGLES I 90 01/01/2010 INGLES I 90 01/01/2010 INGLES I 80 01/01/2010 INGLES I 70 01/01/2010 MATEMATICAS I 90 01/01/2010 MATEMATICAS I 90 01/01/2010 MATEMATICAS I 80 01/01/2010 MATEMATICAS I 70 01/01/2010 TALLER DE REDACCION I 90 01/01/2010 TALLER DE REDACCION I 90 01/01/2010 TALLER DE REDACCION I 80 01/01/2010 TALLER DE REDACCION I 70 01/01/2010 METODOLOGIA DE LA LECTURA 90 01/01/2010 METODOLOGIA DE LA LECTURA 90 01/01/2010 METODOLOGIA DE LA LECTURA 80 01/01/2010
a que cres que se deba que sale repetido el resultado de materias? tengo qeu agregarle algo adicional al codigo.
gracias por tu ayuda
|
|
|
|
|
En línea
|
|
|
|
rob1104
Desconectado
Mensajes: 325
Usuario común
|
Hola, creo que el INNER JOIN esta mal estructurado.
Intenta de esta forma: $res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.fechacalif, materias.materia FROM alumnos INNER JOIN kardex ON kardex.matricula=alumnos.matricula INNER JOIN materias ON materias.materia = kardex.codigomateria WHERE alumnos.matricula =".$_POST['matricula']);
Saludos
|
|
|
|
« Última modificación: 21 Marzo 2010, 08:47 por rob1104 »
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
nel pastel no jalo marco error de sintaxis
|
|
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 907
|
royerphpmysql usa BBCODE.
|
|
|
|
|
En línea
|
|
|
|
royerphpmysql
Desconectado
Mensajes: 64
que rico tequila.
|
com le hago? para usar BBCODE
|
|
|
|
|
En línea
|
|
|
|
|
|