Foros del Web » Programando para Internet » PHP »

Guardar Formulario

Estas en el tema de Guardar Formulario en el foro de PHP en Foros del Web. Estimados amigos estoy desarrollando un sistema de notas en php y mysql pero tengo una duda como guar el formulario registros, la cual me muestra ...
  #1 (permalink)  
Antiguo 20/06/2013, 18:47
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Mensaje Guardar Formulario

Estimados amigos estoy desarrollando un sistema de notas en php y mysql
pero tengo una duda como guar el formulario registros,

la cual me muestra todos los alumnos del aula y lo que quiero es que se guarden las notas masivamente

como puedo hacer ? ayudenme porfavor

ejemplo

Usuario - nota
JOSE - 10
JULIO - 11
RONAL - 12
NANCY - 13

? algo asi


he estado usandop

el
<?php
$conexion = mysql_connect("localhost", "root", "admin");
mysql_select_db("cmariani_marianista", $conexion);

if ($agregar!=""){

$alu=$_POST["alumno"];
$n1=$_POST["n1"];
$n2=$_POST["n2"];
$agenda=array($alu,$n1,$n2);

foreach ($agenda as $fila){
$consulta1="INSERT INTO prueba (alumno,n1,n2) VALUES('$alu','$n1','$n2')";

}
}
?>

pero no me guarda
ayudenme
  #2 (permalink)  
Antiguo 20/06/2013, 18:51
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

guarda la lista de personas en un arreglo lo recorres poniendo el insert adentro del while, for, foreach etc...etc...

listo
  #3 (permalink)  
Antiguo 20/06/2013, 18:54
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

quedaste algo corto de codigo te falta
Código PHP:
Ver original
  1. foreach($agenda as $fila){
  2. $consulta1="INSERT INTO prueba (alumno,n1,n2) VALUES('$alu','$n1','$n2')";
  3. mysql_query($consulta1);
  4.  
  5. }
  6. }
  #4 (permalink)  
Antiguo 20/06/2013, 19:02
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Guardar Formulario

Guarda disparejo no me guarda en orden
  #5 (permalink)  
Antiguo 20/06/2013, 19:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Guardar Formulario

Cita:
Iniciado por neocalichin Ver Mensaje
Guarda disparejo no me guarda en orden
Eso es obvio porque estás usando las mismas variables en cada inserción, ¿cómo no vas a dar cuenta de tan tremenda metida de pata?

Ya te han dicho, crea los campos del formulario como vectores y dentro de la iteración accedes a los otros arreglos por algún índice en común.

Te sugiero leer el manual: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 20/06/2013, 19:11
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

Código PHP:
Ver original
  1. $agenda = array();
  2.  
  3. $agenda[0]['alu'] = $_POST['alu'];
  4. $agenda[0]['nota1'] = $_POST['nota1'];
  5. $agenda[0]['nota2'] = $_POST['nota2'];
  6.  
  7. foreach($agenda as $indice=>$valor){
  8.     $consulta1="INSERT INTO prueba (alumno,n1,n2) VALUES('".$valor['alu']."','".$valor['nota1']."','".$valor['nota2']."')";
  9.     mysql_query($consulta1);
  10. }
  #7 (permalink)  
Antiguo 20/06/2013, 19:17
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Mensaje Respuesta: Guardar Formulario

no entiendo :(
  #8 (permalink)  
Antiguo 20/06/2013, 19:20
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

que parte no entiendes
  #9 (permalink)  
Antiguo 20/06/2013, 19:21
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Guardar Formulario

no guaryda en bd sale array
  #10 (permalink)  
Antiguo 20/06/2013, 19:23
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Guardar Formulario

me guarda asi


id_prueba alumno n1 n2
25 0 Array Array
  #11 (permalink)  
Antiguo 20/06/2013, 19:25
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

no puede salir array ???

probaste el codigo que puse???

supongo que los campos de la base son varchar, text,, etc...
si las notas las tienes de tipo numerico quitale las comillas simple que esta al lado de los punto
  #12 (permalink)  
Antiguo 20/06/2013, 19:27
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Mensaje Respuesta: Guardar Formulario

las notas las tengo en varchar y el codigo del alumno lo tengo en int(11)
  #13 (permalink)  
Antiguo 20/06/2013, 19:28
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

pruebalo asi

Código PHP:
Ver original
  1. $consulta1="INSERT INTO prueba (alumno,n1,n2) VALUES('".$valor['alu']."',".$valor['nota1'].",".$valor['nota2'].")";
  #14 (permalink)  
Antiguo 20/06/2013, 19:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Guardar Formulario

Cita:
Iniciado por __SDP__ Ver Mensaje
no puede salir array ???

probaste el codigo que puse???

supongo que los campos de la base son varchar, text,, etc...
si las notas las tienes de tipo numerico quitale las comillas simple que esta al lado de los punto
¿Te digo algo y no te ofendes?

El trozo que colocaste es inútil, porque estás forzando una estructura sin sentido.

La estructura de array ya debería estar en es forma, comenzando con nombrar los campos del formulario correctamente.

Así que tu solución, aunque el foreach() es correcto la manipulación del arreglo que haces es absurda, así que no tiene sentido.

Si de verdad quieres brindar ayuda procura hacerlo en orden y con forma, no tires código sólo porque puedes, ¿por qué no nos muestras como harías la estructura del HTML para que dichos campos al ser recibidos con PHP ya estén estructurados así?

Ya dirás.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 20/06/2013, 19:30
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Guardar Formulario

hace esto para saber que datos traen

Código PHP:
Ver original
  1. echo $_POST['alu'];
  2. echo $_POST['nota1'];
  3. echo $_POST['nota2'];
  #16 (permalink)  
Antiguo 20/06/2013, 19:32
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Mensaje Respuesta: Guardar Formulario

lo estoy trabajando desde un data grid
mi estructura del formulario es la siguiente

Código PHP:
Ver original
  1. <?php
  2.      // $consulta2="SELECT * FROM area WHERE codigo not in (select area from detalle)";
  3.       $consulta2="select alumno.codigo, alumno.nombres, aula.nombre, aula.codigo from alumno inner join aula on aula.codigo=alumno.aula where aula.codigo='".$_GET["cod"]."'";
  4.       $rsU2=mysql_query($consulta2,$con);
  5.       $num2=mysql_num_rows($rsU2);
  6.    
  7.     ?>
  8.      <form name="frm"  method="post" action="grabar_prueba.php" id="agregar" >
  9.     <table cellpadding="0" cellspacing="0" border="0" width="932" class="tablecont">
  10.               <tr>
  11.                 <td align="left" valign="top" height="460" width="677" >   
  12.                   <!--- Areas ---> 
  13.                   <div style="overflow:auto; width:877px; height:600px;">
  14.                     <table cellpadding="0" cellspacing="0" border="0" width="877">
  15.                       <?
  16.         $sw="1";
  17.         for($i=0;$i<$num2;$i++){
  18.         if($sw=="1")
  19.     //  $sql=insert into permisos(,)values ('','','','');
  20.             {
  21.         ?>
  22.    
  23.        
  24.                       <tr onMouseover="fila(this)" bgcolor="#F2F2F2">
  25.                         <td align="center" valign="middle" height="20" width="38" >
  26.                           <div align="center">
  27.                             <input name="alumno[]" type="checkbox"  value="<? echo mysql_result($rsU2,$i,("codigo"))?>"  onclick="setPointer('#F2F9FF',this);">
  28.                             </div>  </td>
  29.       <td align="left" valign="middle" height="20" width="264" class="mantenimiento" > 
  30.         <?
  31.         $valor=mysql_result($rsU2,$i,("nombres"));
  32.         echo strtoupper($valor);
  33.         ?>  </td>
  34.       <td align="left" valign="middle" width="153" class="mantenimiento" ><input name="n1[]" type="text" class="input" id="n1" size="12" /></td>
  35.       <td align="left" valign="middle" width="69" class="mantenimiento" ><input name="n2[]" type="text" class="input" id="n2" size="12" /></td>
  36.                       <td align="left" valign="middle" width="353" class="mantenimiento" >&nbsp;</td>
  37.                       </tr>
  38.                       <?
  39.             $sw="0";
  40.             }elseif($sw=="0")
  41.             {
  42.         ?>
  43.                       <tr onMouseover="fila(this)" bgcolor="#FDFDFD">
  44.                         <td align="center" valign="middle" height="20" width="38" >
  45.                           <div align="center">
  46.                             <input name="alumno[]" type="checkbox"  value="<? echo mysql_result($rsU2,$i,("codigo"))?>"  onclick="setPointer('#F2F9FF',this);">
  47.                             </div>  </td>
  48.       <td width="264" height="20" align="left" valign="middle" class="mantenimiento" > 
  49.          <?
  50.         $valor=mysql_result($rsU2,$i,("nombres"));
  51.         echo strtoupper($valor);
  52.         ?>  </td>
  53.       <td width="153" height="20" align="left" valign="middle" class="mantenimiento" ><input name="n1[]" type="text" class="input" id="n1"  size="12" /></td>
  54.       <td width="69" height="20" align="left" valign="middle" class="mantenimiento" ><input name="n2[]" type="text" class="input" id="n2"  size="12" /></td>
  55.                       <td width="353" height="20" align="left" valign="middle" class="mantenimiento" >&nbsp;</td>
  56.                       </tr>
  57.                       <?
  58.     $sw="1";
  59.             }
  60.     ?>
  61.                       <?
  62.     }
  63.     ?>
  64.                     </table>
  65.       </div>
  66.       <!--- Areas --->  </td>
  67.       </tr>
  68.               </table>
  69.     <input  type="submit" name="agregar" value="GUARDAR" class="button" style="width:130px">
  70.     </form>
  #17 (permalink)  
Antiguo 20/06/2013, 19:33
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Mensaje Respuesta: Guardar Formulario

aca se guarda
Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <?php
  4.  $conexion = mysql_connect("localhost", "root", "admin");
  5.    mysql_select_db("cmariani_marianista", $conexion);
  6. // foreach ($_POST["id_trabajador"] as $id)  {
  7.   // echo $id."<br>";
  8. //}  
  9.  
  10. //$alumno=($alumno);
  11. //$n1=($n1);
  12.  
  13. $agenda = array();
  14. $agenda[0]["aluno"] = $_POST["aluno"];
  15. $agenda[0]["n1"] = $_POST["n1"];
  16. $agenda[0]["n2"] = $_POST["n2"];
  17.  
  18. foreach($agenda as $indice=>$valor){
  19.     $consulta1="INSERT INTO prueba (alumno,n1,n2) VALUES('".$valor['alumno']."','".$valor['n1']."','".$valor['n2']."')";
  20.     mysql_query($consulta1, $conexion);
  21. }
  22.  
  23. ?>
  #18 (permalink)  
Antiguo 20/06/2013, 19:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Guardar Formulario

¿Por qué no lees el manual?

No entiendo por qué debemos explicarte lo que haces mal si el manual te explica como hacerlo.

La iteración debería ser así:

Código PHP:
Ver original
  1. $x = $_POST['x'];
  2. $y = $_POST['y'];
  3. $z = $_POST['z'];
  4.  
  5. foreach (array_keys($x) as $i) {
  6.   $x_item = $x[$i];
  7.   $y_item = $y[$i];
  8.   $z_item = $z[$i];
  9.  
  10.   echo "$x_item, $y_item, $z_item";
  11. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 20/06/2013, 19:38
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 10 meses
Puntos: 1
Mensaje Respuesta: Guardar Formulario

me da ArrayArrayArray

voy a leer el manual gracias

Etiquetas: formulario, mysql, registro, select
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 14:43.