Título: Ayuda con Consulta Publicado por: royerphpmysql en 20 Marzo 2010, 06:12 am 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>"; Título: Re: Ayuda con Consulta Publicado por: Nakp en 20 Marzo 2010, 06:34 am 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] Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 20 Marzo 2010, 08:19 am gracias por tu comentario pero eso no me ayuda. saludos y buena noche
Título: Re: Ayuda con Consulta Publicado por: WHK en 20 Marzo 2010, 08:50 am Código: $matricula= $_REQUEST['matricula']; haz una busqueda en tu documento y dime cuantas veces se repite la variable "$matricula" Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 20 Marzo 2010, 09:21 am 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. Título: Re: Ayuda con Consulta Publicado por: rob1104 en 20 Marzo 2010, 10:02 am 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 Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 20 Marzo 2010, 10:11 am hola amigo creo que no pegaste el codigo, no lo veo
saludos Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 20 Marzo 2010, 10:22 am WAOOOOOOO te debo unos TEQUILAS ya te agrege al MSN pa ponernos de acuerdo D: D:
Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 20 Marzo 2010, 10:28 am aprovechando de tu inteligencia ROB como le haria para ligar una tercera tabla ?
Título: Re: Ayuda con Consulta Publicado por: rob1104 en 20 Marzo 2010, 21:27 pm 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 Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 21 Marzo 2010, 04:55 am 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 Título: Re: Ayuda con Consulta Publicado por: rob1104 en 21 Marzo 2010, 08:11 am 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 Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 21 Marzo 2010, 21:28 pm nel pastel no jalo marco error de sintaxis
Título: Re: Ayuda con Consulta Publicado por: ~ Yoya ~ en 21 Marzo 2010, 21:35 pm royerphpmysql usa BBCODE.
Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 21 Marzo 2010, 21:48 pm com le hago? para usar BBCODE
Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 21 Marzo 2010, 21:53 pm ya lo encontre gracias
Título: Re: Ayuda con Consulta Publicado por: Shell Root en 21 Marzo 2010, 21:53 pm 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.
Título: Re: Ayuda con Consulta Publicado por: royerphpmysql en 21 Marzo 2010, 22:18 pm 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 |