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>";
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 :P
saludos
pd: arregla el codigo xD ponlo entre [code=html4strict][/code] y [code=php][/code]
gracias por tu comentario pero eso no me ayuda. saludos y buena noche
$matricula= $_REQUEST['matricula'];
haz una busqueda en tu documento y dime cuantas veces se repite la variable "$matricula"
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.
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
hola amigo creo que no pegaste el codigo, no lo veo
saludos
WAOOOOOOO te debo unos TEQUILAS ya te agrege al MSN pa ponernos de acuerdo D: D:
aprovechando de tu inteligencia ROB como le haria para ligar una tercera tabla ?
Cita de: royerphpmysql en 20 Marzo 2010, 10:28 AM
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
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
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
nel pastel no jalo marco error de sintaxis
royerphpmysql usa BBCODE.
com le hago? para usar BBCODE
ya lo encontre gracias
Supongo que lo que dice ~ Yoya ~, esque metas el codigo, dentro de las etiquetas correspondientes, es decir, pon tu code dentro de la etiqueta (http://foro.elhacker.net/Themes/converted/images/bbc/code.gif), además de selecccionar el lenguaje de programacion que estas usando.
gracias a todos por su valiosa ayuda, ya pude resolver el problema.
no necesite hacerle el inner join a la tercera tabla de materias ya que las materias las tengo agregadas en un VALUE en un formulario de carga de calificciones y automaticamente se estaba almacenando en la tabla kardex, ya las pude tomar alli gracias nuevamente