Publicidad

Resultados 1 al 8 de 8
  1. #1
    Dev18Soft Avatar de Franvk83
    Ingreso
    02 abr, 07
    Ubicación
    Altagracia de Orituco, Estado Guarico
    Mensajes
    66
    País
    Gracias
    7
    73 gracias en 10 Posts

    Question Urgente con php + array + foreach

    Hola.
    Tratare de explicarme lo mejor posible. Actualmente estoy desarrollando una web para un colegio, entonces cada Alumno debe poseer una materia y cada materia debe poseer 2 notas que seria NOTA 1 Y NOTA 2.
    1. Primero que nada programe el modulo de registro de materia, (Código, Materia) el cual permitirá Registra de 1 a N materias
    2. Una vez que se registren los Alumnos y se les asigne las materias a estudiar, se le asigna a cada materia las notas correspondiente por alumno.
    Entonces mas o menos quedaría asi.

    Materia Nota 1 Nota 2
    Castellano textbox1 textbox2
    Matematica textbox1 textbox2
    Etc....
    NOTA: RECUERDEN QUE CADA TEXTBOX SE CREA AUTOMATICAMENTE CUANDO AGREGAS UNA MATERIA NUEVA

    Codigo PHP consulta:

    Código PHP:
    ><? $result mysql_query("SELECT codigo, materia FROM materia");
    echo 
    "<table border = '1'> \n";
    echo 
    "<tr> \n";
    echo 
    "<td><b>Codigo</b></td> \n";
    echo 
    "<td><b>Materia</b></td> \n";
    echo 
    "<td><b>Nota 1</b></td> \n";
    echo 
    "<td><b>Nota 2</b></td> \n";
    echo 
    "</tr> \n";
    while (
    $row mysql_fetch_row($result)){
    echo 
    "<tr> \n";
    echo 
    "<td>$row[0]</td> \n";
    echo 
    "<td>$row[1]</td> \n";echo "<td><input type=text name=nota1[] id=$row[0] size=5></td> \n";echo "<td><input type=text name=nota2[] id=$row[0] size=5></td> \n";echo "</tr> \n";
    }
    echo 
    "</table> \n";
    ?>
    el siguiente codigo permite capturar todos los datos del text1 y text 2

    Código PHP:
    <?
    foreach($_POST['nota1'] as $n1){    echo $n1."</br>";
    }echo 
    "<p></p>";    foreach($_POST['nota2'] as $n2){    echo $n2."</br>";

    ?>
    dando como resultado todos los datos de los text.

    Ahora se desea guardar en la base de datos las dos notas al mismo tiempo

    ¿COMO SE HACE EN ESE CASO? 0.0?



  2.    Publicidad


  3. #2
    [IG]*Moderador* Avatar de Alex-Design
    Ingreso
    10 oct, 10
    Ubicación
    Frente a mi PC!
    Mensajes
    268
    País
    Gracias
    21
    345 gracias en 72 Posts

    Re: Urgente con php + array + foreach

    Hola, creo que no entendi!!

    Si capturas todos los datos del text1 y text 2 con el foreach no puedes ahi hacer la consulta?.
    Tiene que ser con foreach?

  4. #3
    Dev18Soft Avatar de Franvk83
    Ingreso
    02 abr, 07
    Ubicación
    Altagracia de Orituco, Estado Guarico
    Mensajes
    66
    País
    Gracias
    7
    73 gracias en 10 Posts

    Re: Urgente con php + array + foreach

    capturo todos los datos del text1 y text2 mediante foreach, pero el detalle esta que si haces el Query para INSERTAR solo te tomara los prmeros datos del text1



  5. #4
    [IG] [email protected] Avatar de elvicera
    Ingreso
    11 oct, 10
    Ubicación
    santiago
    Mensajes
    46
    País
    Gracias
    2
    12 gracias en 6 Posts

    Re: Urgente con php + array + foreach

    "insert into materia (nota1,nota2) values ( ?,? ) ", array($n1,$n2)

  6. #5
    Dev18Soft Avatar de Franvk83
    Ingreso
    02 abr, 07
    Ubicación
    Altagracia de Orituco, Estado Guarico
    Mensajes
    66
    País
    Gracias
    7
    73 gracias en 10 Posts

    Re: Urgente con php + array + foreach

    Cita Iniciado por elvicera [Hola Invitado, necesitas registrarte para ver los links , Has click aquí para registrarte !!]
    "insert into materia (nota1,nota2) values ( ?,? ) ", array($n1,$n2)
    Este query no funciona.
    Código PHP:
    <?
    foreach($_POST['nota1'] as $n1){    echo $n1."</br>";//SI PONGO EL QUERY SQL ACA ME GUARDA TODOS LOS DATOS DEL TEXT1  BUENISIMO PERO EN EL TEXT2 NADA -.- }echo "<p></p>";    foreach($_POST['nota2'] as $n2){    echo $n2."</br>";
    $sqls="insert into notas (n1, n2) values('".$n1."', '".$n2."'), "// Si dejo este query aqui solo me guardaria la ultima nota del text1 y la del text2  mysql_query($SQL) or die (mysql_error());  
    ?>
    la idea es que almacene simultaneamente las 2 notas de cada textbox en la base de datos.
    Última edición por Franvk83; 01/03/2012 a las 18:20



  7. #6
    [IG] [email protected] Avatar de elvicera
    Ingreso
    11 oct, 10
    Ubicación
    santiago
    Mensajes
    46
    País
    Gracias
    2
    12 gracias en 6 Posts

    Re: Urgente con php + array + foreach

    { foreach ..... $sqls="insert into aquimitabla (aquicolumnaminota1, aquicolumnaminota2) values(?,?)", array($n1,$n2);

    mysql_query($SQL) or die (mysql_error()); }

  8. #7
    [IG]*Moderador* Avatar de Alex-Design
    Ingreso
    10 oct, 10
    Ubicación
    Frente a mi PC!
    Mensajes
    268
    País
    Gracias
    21
    345 gracias en 72 Posts

    Re: Urgente con php + array + foreach

    Hola parece que repondo muy tarde
    Bueno si quieres hacerlo con Arrays puedes hacerlo de la siguiente manera:
    Código PHP:
    <?php
    foreach($_POST['nota1'] as $n1){   
        echo 
    $n1."</br>";
        
    $n1[] = $n1;
    }
    echo 
    "<p></p>";    

    foreach(
    $_POST['nota2'] as $n2){   
        echo 
    $n2."</br>";
        
    $n2[] = $n2;
        } 
        
    /***************************/
        
    $sql "INSERT INTO notas(n1, n2) VALUES";
        for(
    $j=0;$j<count($n1);$j++)
        {
            
    $sql .= "('{$n1[$j]}','{$n2[$j]}'),"
        }
        
    $sql rtrim($sql,",").';';
        
    /******************************/

    ?>
    Última edición por Alex-Design; 01/03/2012 a las 22:50 Razón: Comillas xD!!

  9. #8
    Dev18Soft Avatar de Franvk83
    Ingreso
    02 abr, 07
    Ubicación
    Altagracia de Orituco, Estado Guarico
    Mensajes
    66
    País
    Gracias
    7
    73 gracias en 10 Posts

    Re: Urgente con php + array + foreach

    Cita Iniciado por Alex-Design [Hola Invitado, necesitas registrarte para ver los links , Has click aquí para registrarte !!]
    Hola parece que repondo muy tarde
    Bueno si quieres hacerlo con Arrays puedes hacerlo de la siguiente manera:
    Código PHP:
    <?php
    foreach($_POST['nota1'] as $n1){   
        echo 
    $n1."</br>";
        
    $n1[] = $n1;
    }
    echo 
    "<p></p>";    

    foreach(
    $_POST['nota2'] as $n2){   
        echo 
    $n2."</br>";
        
    $n2[] = $n2;
        } 
        
    /***************************/
        
    $sql "INSERT INTO notas(n1, n2) VALUES";
        for(
    $j=0;$j<count($n1);$j++)
        {
            
    $sql .= "('{$n1[$j]}','{$n2[$j]}'),"
        }
        
    $sql rtrim($sql,",").';';
        
    /******************************/

    ?>
    Hola gracias me da este error.

    Fatal error: [] operator not supported for strings in C:\*****************************




 

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •