Foros del Web » Programando para Internet » PHP »

modificar datos de mi DB con arreglos en PHP

Estas en el tema de modificar datos de mi DB con arreglos en PHP en el foro de PHP en Foros del Web. estoy tratando de modificar mis datos en mi base de datos con arreglos pero el problema es que solo me modifica los primeros dos registros ...
  #1 (permalink)  
Antiguo 09/06/2012, 15:16
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
modificar datos de mi DB con arreglos en PHP

estoy tratando de modificar mis datos en mi base de datos con arreglos pero el problema es que solo me modifica los primeros dos registros de la tabla. Lo que hago es un listado de los datos almacenados y luego con el botón "modificar" actualizo los datos con un arreglo. Aquí esta el código para una mejor explicación.

Código PHP:
        <?
     $sql
="Select * from admin_per";
        
$result=mysql_query($sql,$link);
        echo 
"<table border><tr><td>ID</td><td>FORMULARIO</td><td>PERMISO</td>";
        while(
$row=mysql_fetch_object($result)){
        echo 
"<tr>
        <td><input type='text' name='id[]' value='$row->id' ></td>
        <td>$row->formulario</td>
        <td>
               <select name=permiso[] style=visibility:text>
               <option SELECTED value=$row->permiso>$row->permiso</option>
              <option value=SI>SI</option>
              <option value=NO>NO</option>
              </select> 
                </td>
        </tr>"
;     
        }
        echo 
"</table>";  
       
?><br>
 
<INPUT Type="submit" name="modificar" VALUE="Guardar cambios"> 

      <?

        
if($_POST["modificar"])
        {
            
$mvalor=array();
            
$mvalor['id']=$_POST['id'];
            
$mvalor['permiso']=$_POST['permiso'];
            for(
$i=0$i<count($mvalor); $i++){    
        
$sql="update admin_per set permiso='".$_POST["permiso"][$i]."' where id='".$_POST["id"][$i]."'";
                if( 
mysql_query$sql$link ) )
                {
         echo 
"<script language='javascript'>alert('Permisos modificados correctamente');</script>";
                }
            }
         }   
        
       
?>
  #2 (permalink)  
Antiguo 09/06/2012, 16:39
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: modificar datos de mi DB con arreglos en PHP

Para comenzar tu código tiene muchos errores, ahora, es obvio que te va a actualizar unicamente 2 registros porque estas contando los items dentro de $mvalor no los de $mvalor['permiso']...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 09/06/2012, 18:00
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: modificar datos de mi DB con arreglos en PHP

gracias pero entonces que debo hacer para que me actualice todos los registros que listè, cabe destacar que solamente debe actualizar los datos que estan dentro del select, el id es solamente el codigo de cada registro para que el arreglo recorra todos los registros y realice la accion sobre todos y cada uno de ellos.
  #4 (permalink)  
Antiguo 09/06/2012, 18:15
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 11 años, 10 meses
Puntos: 32
Respuesta: modificar datos de mi DB con arreglos en PHP

Fijate si esto te funciona.

Código PHP:
Ver original
  1. for($i=0; $i<count($_POST["permiso"]); $i++)
  2.         {    
  3.             $sql="update admin_per set permiso='".$_POST["permiso"][$i]."' where id='".$_POST["id"][$i]."'";
  4.             if( mysql_query( $sql, $link ) )
  5.             {
  6.                 echo "<script language='javascript'>alert('Permisos modificados correctamente');</script>";
  7.             }
  8.         }

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/

Etiquetas: arreglos, formulario, modificar, mysql, registro, sql, tabla
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 02:44.