Foros del Web » Programando para Internet » PHP »

Ayuda con mysql_fetch_array()

Estas en el tema de Ayuda con mysql_fetch_array() en el foro de PHP en Foros del Web. hola bueno les cuento ... estoy haciendo un sistema académico en el que necesito ingresar las notas de los alumnos de una cierta asignatura. primero ...
  #1 (permalink)  
Antiguo 27/04/2010, 10:07
Avatar de khatta  
Fecha de Ingreso: abril-2010
Mensajes: 22
Antigüedad: 14 años
Puntos: 0
Exclamación Ayuda con mysql_fetch_array()

hola bueno les cuento ...

estoy haciendo un sistema académico en el que necesito ingresar las notas de los alumnos de una cierta asignatura.
primero busco la asignatura... luego la muestro en una tabla html...
pero mi problema es para insertar las notas en la bd, solo me inserta la nota ingresada para el primer alumno en la tabla....

aki esta el código espero me puedan ayudar... Gracias!

Código PHP:
<?php
    session_start
();
        require_once 
"class.con.php";
        
$con = new DB("localhost","root","","fach");
?>
<html>
    <head>
        <title>Ingresar Notas</title>
    </head>
    <body>
        <form method="post">
            Buscar asignatura<br>
            Codigo Asignatura :<input name = "txtCodAs">
            <input name = "btnBuscar" Value = "Buscar Alumnos" type = "submit">
           
            <?php
                
if(isset($_POST['txtCodAs'])){
                    
$codigoAsignatura $_POST['txtCodAs'];
                    
                    echo
"<br>Asignatura:<input name = 'txtAsignaturaCod' value ='$codigoAsignatura'>";
                    echo
"<br><table border ='1'>";
                    echo
"<tr><td>Rut</td>";
                    echo
"<td>Nombre</td>";
                    echo
"<td>Nota</td>";
                    echo
"<td>Número Nota</td></tr>";

                    
//select que busca los alumnos en la asignatura especificada
                    
$consulta="SELECT al.alumno_apellido_paterno AS apeP, al.alumno_apellido_materno AS apeM,
                    al.alumno_nombres AS nombres, al.alumno_rut AS rut, al.alumno_dv AS dv
                    FROM alumno al, alumno_en_asignatura alas
                    WHERE al.alumno_rut = alas.alumno_alumno_rut
                    AND alas.asignatura_asignatura_id = '$codigoAsignatura'
                    ORDER BY apeP"
;
                    
                    
$con->query($consulta);
                    
                    if(
$con->num_rows()>0){
                        while(
$rs=$con->fetch()){
                            
$apellidoP $rs['apeP'];
                            
$apellidoM $rs['apeM'];
                            
$nombres $rs['nombres'];
                            
$rut $rs['rut'];
                            
$dv $rs['dv'];
                            
                            echo
"<tr><td><input name = 'txtRut' value = '$rut' size='10'>-<input name ='txtDv' value = '$dv' size ='2'></td>";
                            echo
"<td>$apellidoP $apellidoM $nombres</td>";
                            echo
"<td><input name = 'txtNota' size = '3'></td>";
                            echo
"<td><input name = 'txtNumeroNota' size = '3'></td></tr>";
                        }
                    }
                }
            
?>
            </table>
               
            <?php
            
echo"<input name = 'btnIngresar' value = 'IngresarAlumnos' type = 'submit'>";
                if(isset(
$_POST['txtNota'])){
                    
$valorNota $_POST['txtNota'];
                    
$numeroNota $_POST['txtNumeroNota'];
                    
$rut =$_POST['txtRut'];
                    
$asignatura $_POST['txtAsignaturaCod'];
                    
                    
$consulta2 "SELECT alumno_rut
                    FROM alumno, alumno_en_asignatura
                    WHERE alumno_rut = alumno_alumno_rut
                    AND asignatura_asignatura_id = '$asignatura'
                    ORDER BY alumno_apellido_paterno"
;
                    
$con->query($consulta2);
                    
                    if(
$con->num_rows()>0){
                       do{
                            
$insertNota "INSERT INTO nota_alumno VALUES('','$rut','$asignatura','$valorNota','$numeroNota')";
                            
$con->query($insertNota);
                           
# echo"$insertNota";
                        
}while($rs=$con->fetch());
                    }
                }
            
?>
        </form>
    </body>
</html>
Gracias!
  #2 (permalink)  
Antiguo 27/04/2010, 15:15
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Ayuda con mysql_fetch_array()

Holas,

Que raro, es decir en ves de insertar solo actualiza?

Saludos
Gildus
__________________
.: Gildus :.
  #3 (permalink)  
Antiguo 27/04/2010, 19:09
Avatar de khatta  
Fecha de Ingreso: abril-2010
Mensajes: 22
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con mysql_fetch_array()

no .. lo ke hace es ke solo inserta el primer valor ingresado en la tabla html... no sigue insertando los siguientes valores
  #4 (permalink)  
Antiguo 27/04/2010, 23:35
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Ayuda con mysql_fetch_array()

De estos valores:

$valorNota = $_POST['txtNota'];
$numeroNota = $_POST['txtNumeroNota'];
$rut =$_POST['txtRut'];
$asignatura = $_POST['txtAsignaturaCod'];

Solo inserta $valorNota ???.

Entonces los valores txtNota, txtNumeroNota, y txtAsignaturaCod, deben estar en blancos o no existen.

Saludos
Gildus
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 28/04/2010, 06:34
Avatar de khatta  
Fecha de Ingreso: abril-2010
Mensajes: 22
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con mysql_fetch_array()

Cita:
Iniciado por gildus Ver Mensaje
De estos valores:

$valorNota = $_POST['txtNota'];
$numeroNota = $_POST['txtNumeroNota'];
$rut =$_POST['txtRut'];
$asignatura = $_POST['txtAsignaturaCod'];

Solo inserta $valorNota ???.

Entonces los valores txtNota, txtNumeroNota, y txtAsignaturaCod, deben estar en blancos o no existen.

Saludos
Gildus
disculpa por no saber expresarme pero me referia a ke solo la primera consulta devuelve por ejemplo 3 filas completas.. donde yo ingreso las nota para cada fila..
pero al momento de insertarlas en la BD solo inserta la primera fila completa.. con todos sus datos..

Gracias
  #6 (permalink)  
Antiguo 28/04/2010, 06:55
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Ayuda con mysql_fetch_array()

Debes revisar algo en tu ciclo que debe estar malo, como estas haciendo tu ciclo en el formulario?
__________________
http://www.solucionesrios.tk/

Visita mi Web!
  #7 (permalink)  
Antiguo 28/04/2010, 06:56
Avatar de khatta  
Fecha de Ingreso: abril-2010
Mensajes: 22
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con mysql_fetch_array()

Cita:
Iniciado por warbandit69 Ver Mensaje
Debes revisar algo en tu ciclo que debe estar malo, como estas haciendo tu ciclo en el formulario?
hola.. bueno por ahi me dijeron ke lo ke estaba haciendo estaba malo y ke se hacia con arreglos... sabes como hacerlo?
  #8 (permalink)  
Antiguo 28/04/2010, 11:14
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Ayuda con mysql_fetch_array()

a lo mejor estas trabajando mal el ciclo, mira estos ejemplos para ver si te dan una ayudita link
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #9 (permalink)  
Antiguo 28/04/2010, 11:21
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Ayuda con mysql_fetch_array()

ahhh ya se porque!

porque estos valores que insertas en el query:
Código PHP:
Ver original
  1. $insertNota = "INSERT INTO nota_alumno VALUES('','$rut','$asignatura','$valorNota','$numeroNota')";
son estos mismos valores que asignas aqui, por eso solo te inserta los primeros valores
Código PHP:
Ver original
  1. $valorNota = $_POST['txtNota'];
  2. $numeroNota = $_POST['txtNumeroNota'];
  3. $rut =$_POST['txtRut'];
  4. $asignatura = $_POST['txtAsignaturaCod'];

tu ocupas algo asi:

Código PHP:
Ver original
  1. $consulta2 = "SELECT alumno_rut FROM alumno, alumno_en_asignatura WHERE alumno_rut = alumno_alumno_rut AND asignatura_asignatura_id = '$asignatura' ORDER BY alumno_apellido_paterno";
  2.  
  3. while($row = mysql_fetch_row($consulta2)){
  4.     $insertNota = "INSERT INTO nota_alumno VALUES('','$row["campo1"]','$row["campo2"]','$row["campo3"]','$row["campo4"]')";
  5. }
aparte en el query de la consulta solo estas trayendo el campo alumno_rut, asi que ocupas traerte los campos que ocupes
Código PHP:
Ver original
  1. $consulta2="SELECT campos que ocupes FROM las tablas que ocupes WHERE tus condiciones";
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said

Última edición por lukas4; 28/04/2010 a las 11:31

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 18:41.