Foros del Web » Programando para Internet » PHP »

Update desde un array

Estas en el tema de Update desde un array en el foro de PHP en Foros del Web. Hola gente pensante... Genero un array desde una consulta en mysql, cuando hago un submit y quiero actualizar desde ese array, no hace nada,,,como podria ...
  #1 (permalink)  
Antiguo 30/09/2008, 15:52
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Update desde un array

Hola gente pensante...
Genero un array desde una consulta en mysql, cuando hago un submit y quiero actualizar desde ese array, no hace nada,,,como podria hacer,,,
Codigo:

Código:
$sql = 'select * from ventas WHERE npref="'.$_POST[v_npref].'" and ncomp="'.$_POST[v_numerocomp].'"  order by id';
$res = mysql_query($sql);

if ($row = mysql_fetch_array($res))
 
 echo'<table width="90%">';
 echo'<tr>';
 echo'<td class="texto_formulario1" bgcolor="#899198" align="center"> Campo  </td>';
 echo '</tr>';
$i=1;
do{     
                 	
	          echo'<tr>';
	          echo '<td class="texto" align="center">&nbsp;'.$row[pventa].'</td> ';

                       $indice[$j]=$row[id];
                       $precioventa[$i]=$row[pventa];

echo '<td class="texto" align="center">&nbsp;<input name="precioventa['.$i.']" type="text" value="'.$precioventa[$i].'"></td> ';
$i++;
echo '</tr>';
              
			  }
			  while ($row=mysql_fetch_array($res));
                                                  $u=$i;
echo '</table> ';
}
Cuando Hago el post del boton:

Código:
if ($_POST[modificar]) {

for ($i=1;$i<=$u;$i++){
$sql='UPDATE ventas SET ventas.pventa ='.$precioventa[$i];
$sql.=' WHERE ventas.id ='.$indice[$i];
$res =mysql_query($sql);
}
no me anda nada,,,como puedo hacer ??
Gracias Gente..
  #2 (permalink)  
Antiguo 30/09/2008, 16:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Update desde un array

Hola sombin,

Bienvenido al foro, para hacer lo que pides, debes de rescatar precioventa desde POST, y pasar el id de la venta como un campo oculo:
Código php:
Ver original
  1. $sql = 'select * from ventas WHERE npref="'.$_POST[v_npref].'" and ncomp="'.$_POST[v_numerocomp].'"  order by id';
  2. $res = mysql_query($sql);
  3.  
  4. if ($row = mysql_fetch_array($res))
  5.  
  6.  echo'<table width="90%">';
  7.  echo'<tr>';
  8.  echo'<td class="texto_formulario1" bgcolor="#899198" align="center"> Campo  </td>';
  9.  echo '</tr>';
  10. $i=1;
  11. do{    
  12.                    
  13.               echo'<tr>';
  14.               echo '<td class="texto" align="center">&nbsp;'.$row[pventa].'</td> ';
  15.  
  16.                        $indice[$j]=$row[id];
  17.                        $precioventa[$i]=$row[pventa];
  18.  
  19. echo '<td class="texto" align="center">&nbsp;<input type="hidden" name="indice[' . $i . ']"; value="' . $indice[$i] . '" /><input name="precioventa['.$i.']" type="text" value="'.$precioventa[$i].'"></td> ';
  20. $i++;
  21. echo '</tr>';
  22.              
  23.               }
  24.               while ($row=mysql_fetch_array($res));
  25.                                                   $u=$i;
  26. echo '</table> ';
  27. }

Posteriormente rescatas los valores y haces el insert:
Código php:
Ver original
  1. if ($_POST[modificar]) {
  2. $precioventa = $_POST['precioventa'];
  3. $indice = $_POST['incide'];
  4. $u = count($precioventa);
  5.  
  6. for ($i=1;$i<=$u;$i++){
  7. $sql='UPDATE ventas SET ventas.pventa ='.$precioventa[$i];
  8. $sql.=' WHERE ventas.id ='.$indice[$i];
  9. $res =mysql_query($sql);
  10. }

Saludos.
  #3 (permalink)  
Antiguo 30/09/2008, 16:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Update desde un array

Muchas Gracias loco,,,,,,,,igual no se porque no me lebanta los datos de $precioventa e $indice,,me debo estar comiendo algo,,lo voy a seguir probando,,,
Muchas Gracias...
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 01:01.