Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2010, 13:31
linux_debian
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 0
Foreach con UDDATE

Ante que todo quiero pedir disculpa por publicar nuevamente otro tema que trata de los mismo a mi anterior tema "ayuda, ayuda por favor", pero la verdad no se que hacer tengo este foreach en insertar y me funciona perfectamente, al menos eso parece .
Código PHP:
Ver original
  1. $result_id = pg_query("SELECT * FROM requisicion WHERE id_requisicion=$id_requisicion");
  2.  
  3. while($row_id = pg_fetch_array($result_id))
  4.  
  5. {
  6.  
  7.  
  8.  
  9.  
  10. foreach($_POST['renglon'] as $row=>$ren)
  11. {
  12. $renglon=pg_escape_string($ren);
  13. $articulo=pg_escape_string($_POST['articulo'][$row]);
  14. $descripcion=pg_escape_string($_POST['descripcion'][$row]);
  15. $unidad=pg_escape_string($_POST['unidad'][$row]);
  16. $cantidad=pg_escape_string($_POST["cantidad"][$row]);
  17. $id_requisicion=$row_id['id_requisicion'];
  18.  
  19. $query = "INSERT  INTO articulo_requisicion (renglon,articulo,descripcion,unidad,cantidad,num_requisicion)  
  20.  
  21. VALUES ('".$renglon."','".$articulo."','".$descripcion[$row]."','".$unidad."','".$cantidad."','".$id_requisicion."')";
  22.  
  23.  
  24. $result = pg_query($query) or die('Insercion de datos errada' . pg_last_error());
  25. }
  26. }

ahora necesito saber como puedo actualizar ya que si coloco lo mismo pero en ves de insetar (INSERT) coloco UPDATE solo me toma el ultimo valor del array y coloca lo mismo en todos.


aqui esta como genero los campos de textos dinamicos para el que lo necesite a mi me funciona perfectamente ingresando pero al momento de hacer un UPDATE con foreach tengo el problema dicho anteriormente.


Código Javascript:
Ver original
  1. <table   border="0.5" align="center" width="700" id="tablaFormulario">
  2.  
  3.        
  4.  
  5.  
  6.  
  7.  
  8.  
  9. </table>
  10.  
  11.      
  12.  
  13.       <tr>
  14.  
  15.         <td align="center"><input type="button" onClick="addarticulo()" value="Añadir" class="buttonb" ></td>
  16.  
  17.   <td align="center"><input type="button" onClick="removePerson()" value="Borrar" class="buttonb" ></td>      
  18. </tr>
  19.  
  20.         <script language="javascript" type="text/javascript">
  21.  
  22.  
  23.  
  24.  
  25.  
  26.        
  27.  
  28.     var indiceFilaFormulario=1;
  29.  
  30.    
  31.  
  32.  
  33. function addarticulo(){
  34.  
  35. var renglon=<?=$contador-1;?>//extraemos el valor de la variable renglon
  36.  
  37.  
  38.  
  39.     myNewRow = document.getElementById("tablaFormulario").insertRow(-1);
  40.  
  41.     myNewRow.id=indiceFilaFormulario;
  42.  
  43.     myNewCell=myNewRow.insertCell(-1);
  44.  
  45. alterno2=indiceFilaFormulario+renglon;
  46.        
  47.  
  48.     myNewCell.innerHTML="<td align='center'><input type='text' size='1' onFocus='this.blur()' value='"+alterno2+"' name='renglon[]' ></td>";
  49.  
  50.     myNewCell=myNewRow.insertCell(-1);
  51.  
  52.     myNewCell.innerHTML="<td align='center'> <textarea rows='1' cols='21' name='articulo[]' value='articulo[]' id='articulo' type='text'></textarea></td>";
  53.  
  54.     myNewCell=myNewRow.insertCell(-1);
  55.  
  56.     myNewCell.innerHTML="<td><textarea rows='1' cols='21'  name='descripcion[]' type='text'  ></textarea></td>";
  57.  
  58.     myNewCell=myNewRow.insertCell(-1);
  59.  
  60.     myNewCell.innerHTML="<td><input  type='text' size='4'  name='unidad[]'></td>";
  61.  
  62.     myNewCell=myNewRow.insertCell(-1);
  63.  
  64.     myNewCell.innerHTML="<td align='center'><input  type='text' size='4'  onkeyup='sumar()' name='cantidad[]'></td>";
  65.  
  66.  
  67.  
  68.     indiceFilaFormulario++;
  69.  
  70.     }
  71.  
  72.  
  73.  
  74.  
  75.     function removePerson(){
  76.  
  77.    
  78. if (indiceFilaFormulario >=2){
  79.                 // grab the element again!
  80.  
  81.                 var tbl = document.getElementById("tablaFormulario");
  82.  
  83.                 // grab the length!
  84.  
  85.                 var lastRow = tbl.rows.length;
  86.  
  87.                 // delete the last row if there is more than one row!
  88.  
  89.                 if (lastRow > -1) tbl.deleteRow(lastRow -1);
  90.  
  91.             indiceFilaFormulario--;
  92. }
  93.  
  94.     }
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. </script>
  103.  
  104.    
  105.    
  106.  
  107.            
  108.  
  109.  </table>

espero me puedan ayudar o decirme otra manera de actualizar los campos introducidos con array, hay que tener en cuenta el nombre de los input es renglon[], articulo[] etc.