Foros del Web » Programando para Internet » PHP »

si no existe insertar, si existe actualizar y posibilidad de ingresar

Estas en el tema de si no existe insertar, si existe actualizar y posibilidad de ingresar en el foro de PHP en Foros del Web. buenas compañeros, estoy en algo que de verdad no eh podido con el tengo formularios dinamicos yo puedo ingresar perfectamente pero a la hora de ...
  #1 (permalink)  
Antiguo 01/03/2010, 15:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 0
si no existe insertar, si existe actualizar y posibilidad de ingresar

buenas compañeros, estoy en algo que de verdad no eh podido con el tengo formularios dinamicos yo puedo ingresar perfectamente pero a la hora de modificar, aparecen los articulos pero no puedo hacer las dos cosas a la vez es decir el me actualiza ese articulo pero no me deja insertar otro. pongo parte del codigo


Consulta normal
Código PHP:

<?

$contador
='1';
$sql_articulo=pg_query("SELECT * FROM articulo_requisicion WHERE num_requisicion=$id");
//Una vez seleccionados los registros los mostramos para su edición
while($row_articulo=pg_fetch_array($sql_articulo))
{

?>

<table   border="0.5" >
    <tr>
<td ><input type='text' size='2' onFocus='this.blur()' value="<?php echo $contador ?>" name='renglon[]' readonly="readonly" ></td>

    

<td>

<input  type='text' size='17'  name='articulo[]' value="<?php echo $row_articulo['articulo'];?>" ></td>




<td>





<input  type='text' size='28' name='descripcion[]' value="<?php echo $row_articulo['descripcion'];?>" >


</td>



<td><input  type='text' size='5'  name='unidad[]' value="<?php echo $row_articulo['unidad'];?>" ></td>



       <td><input  type='text' size='4'  onkeyup='sumar()' name='cantidad[]' onkeypress='return onlyNumbersDano(event)';  value="<?php echo $row_articulo['cantidad'];?>"></td>



<td><a href=borrar_articulo.php?id_borrar=<?php echo $row_articulo['id_articulos'];?>&tnum=<?php echo $row_articulo['num_requisicion'];?> onclick="return confirm('¿Está seguro de eliminar este registro? \n P.D.: si lo elimina no lo podra recuperar de la base de datos.');">X</a></td>

   

</tr>

</table>



    

        <?
    $contador
++;
}

pg_free_result($sql_articulo)


?>
ahora muestro el que me genera los campos dinamicos

Código HTML:
Ver original
  1. <table   border="0"   id="tablaFormulario">
  2.  
  3.        
  4.  
  5.  
  6.  
  7.  
  8.  
  9. </table></td>
  10.  
  11.       </tr>
  12.  
  13.       <tr>
  14.  
  15.         <td align="center"><input type="button" onClick="addarticulo()" value="Añadir Articulo" class="buttonb" ></td>
  16.  
  17.    
  18. </tr>
  19.  
  20.         <script language="javascript" type="text/javascript">
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.     var indiceFilaFormulario=1;
  29.  
  30.     function addarticulo(){
  31.  
  32.     myNewRow = document.getElementById("tablaFormulario").insertRow(-1);
  33.  
  34.     myNewRow.id=indiceFilaFormulario;
  35.  
  36.     myNewCell=myNewRow.insertCell(-1);
  37. var renglon=<?=$contador-1;?>//extraemos el valor de la variable renglon
  38. alterno2=indiceFilaFormulario+renglon;
  39.  
  40.  
  41.  
  42.     myNewCell.innerHTML="<td><input type='text' size='1' onFocus='this.blur()' value='"+alterno2+"' name='renglon[]' style=' background:#FDFDFD; margin:3px 1px; padding:3px; border:1px solid #BCBCBC'></td>";
  43.  
  44.     myNewCell=myNewRow.insertCell(-1);
  45.  
  46.     myNewCell.innerHTML="<td><input  type='text' size='21'  name='articulo[]' id='articulo' style=' background:#FDFDFD; margin:3px 1px; padding:3px; border:1px solid #BCBCBC'></td>";
  47.  
  48.     myNewCell=myNewRow.insertCell(-1);
  49.  
  50.     myNewCell.innerHTML="<td><input  type='text'   size='37' name='descripcion[]' style=' background:#FDFDFD; margin:3px 1px; padding:3px; border:1px solid #BCBCBC'></td>";
  51.  
  52.     myNewCell=myNewRow.insertCell(-1);
  53.  
  54.     myNewCell.innerHTML="<td><input  type='text' size='4'  name='unidad[]' style=' background:#FDFDFD; margin:3px 1px; padding:3px; border:1px solid #BCBCBC'></td>";
  55.  
  56.     myNewCell=myNewRow.insertCell(-1);
  57.  
  58.     myNewCell.innerHTML="<td><input  type='text' size='4'  onkeyup='sumar()'   onkeypress='return onlyNumbersDano(event)';  name='cantidad[]' style=' background:#FDFDFD; margin:3px 1px; padding:3px; border:1px solid #BCBCBC'></td>";
  59.  
  60.   myNewCell=myNewRow.insertCell(-1);
  61.  
  62.          myNewCell.innerHTML="<td ><input type='button'  value='Borrar' onclick='removeLine(this)' style=' background:#2CB1DD; margin:3px 1px; padding:3px; border:1px solid #000099' ></td>"; 
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.        
  70.  
  71.  
  72.  
  73.     indiceFilaFormulario++;
  74.  
  75.     }
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.     function removeLine(obj){
  83.  
  84.          var oTr = obj;
  85.  
  86.          while(oTr.nodeName.toLowerCase()!='tr'){
  87.  
  88.               oTr=oTr.parentNode;
  89.  
  90.          }
  91.  
  92.          var root = oTr.parentNode;
  93.  
  94.          root.removeChild(oTr);
  95.  
  96. indiceFilaFormulario--;
  97.  
  98.  
  99.     }
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.        
  107.  
  108.            
  109.  
  110.  
  111.  
  112.        
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.    
  121.  
  122.     </table>


ahora el php de guardar, se que tengo errores pero la verdad no se como guardar e actualizar a la vez espero me puedan ayudar estaré agradecido.


Código PHP:
Ver original
  1. $checkid = pg_query("SELECT * FROM articulo_requisicion WHERE num_requisicion='$id_requisicion'");
  2.  
  3. $userid_exist = pg_fetch_array($checkid);
  4. $i=0;
  5. foreach($_POST['renglon'] as $renglon)
  6. {
  7. $renglon=pg_escape_string($_POST['renglon'][$i]);
  8. $articulo=pg_escape_string($_POST['articulo'][$i]);
  9. $descripcion=pg_escape_string($_POST['descripcion'][$i]);
  10. $unidad=pg_escape_string($_POST['unidad'][$i]);
  11. $cantidad=pg_escape_string($_POST["cantidad"][$i]);
  12.  
  13.  
  14. if ($userid_exist["num_requisicion"] == $id_requisicion) {//  aqui si el numero de requisicion es igual al q esta en la base de datos actualiza si no inserta, necesito insertar y actualizar a la vez,
  15. $query2 = "UPDATE articulo_requisicion SET renglon='".$_POST["renglon"][$i]."', articulo='$articulo',descripcion='$descripcion',unidad='$unidad', cantidad='$cantidad' Where num_requisicion=$id_requisicion AND renglon='".$_POST["renglon"][$i]."'" ;
  16.  
  17.  
  18. //$query2 = "INSERT  INTO articulo_requisicion (renglon,articulo,descripcion,unidad,cantidad,num_requisicion)  
  19.  
  20. //VALUES ('".$renglon."','".$articulo."','".$descripcion."','".$unidad."','".$cantidad."','".$id_requisicion."')
  21. //SELECT * From articulo_requisicion WHERE NOT EXIST (SELECT * FROM articulo_requisicion WHERE renglon='".$renglon."' AND articulo='".$articulo."')
  22.  
  23. //";
  24.  
  25. $result2 = pg_query($query2) or die('Insercion de datos errada' . pg_last_error());
  26.  }else{
  27.  
  28. $query3 = "INSERT  INTO articulo_requisicion (renglon,articulo,descripcion,unidad,cantidad,num_requisicion)  
  29.  
  30. VALUES ('".$renglon."','".$articulo."','".$descripcion."','".$unidad."','".$cantidad."','".$id_requisicion."')";
  31. $result3 = pg_query($query3) or die('Insercion de datos errada' . pg_last_error());
  32.        }
  33.  
  34.  
  35.  
  36.  
  37. $i++;
  38.  
  39.  
  40.  
  41.      
  42. }

Etiquetas: existe, ingresar
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 13:47.