Foros del Web » Programando para Internet » PHP »

Modificar varios registros

Estas en el tema de Modificar varios registros en el foro de PHP en Foros del Web. Hola, tengo un problemilla al momento de actualizar varios registros a la vez, el tema es que cuando inserto varios me resulta sin problemas y ...
  #1 (permalink)  
Antiguo 25/02/2005, 07:35
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
Pregunta Modificar varios registros

Hola, tengo un problemilla al momento de actualizar varios registros a la vez, el tema es que cuando inserto varios me resulta sin problemas y cuando los quiero modificar, utilizo la misma formula pero me arroja un error.
envio el codigo para queme comprendan mejor, el primero es del formulario de donde envio los datos modificados.
Código PHP:
if (!empty($_POST['todas']))
        {
            
$sql="SELECT * FROM caja where cliente='$idcliente'";
            
$result=mysql_query($sql,$IdConexion);
            
$Ccajas mysql_num_rows($result);
               if (
$rowmysql_fetch_array($result))
            {
                echo 
"<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
                echo 
"<b><BR>DESPLEGANDO TODAS LAS CAJAS</B>";
                echo 
"<table border=\"1\" bordercolor=\"000000\" cellspacing=\"0\">";
                echo 
"<tr><td align='center'>Caja</td><td align='center'>Departamento</td><td align='center'>Estado</td><td align='center'>Tipo</td><td align='center'>Bodega</td><td align='center'>Sala</td><td align='center'>Estante</td><td align='center'>Linea</td><td align='center'>Columna</td></tr>";
                
$i=1;
                DO
                   {
                    echo 
"<tr>";
                    echo 
"<td align='center'>$row[numero]</td>";
                    
$numcs$row[numero];
                    echo 
"<input type=\"hidden\" name=\"numcs$i\" value=\"$numcs\">";
                    echo 
"<td><select name=\"iddepto$i\">";
                    
$SQLconsulta="SELECT * FROM departamento where cliente='$idcliente' and estado='1'";
                    
$consulta mysql_query($SQLconsulta,$IdConexion) or die(mysql_error());
                    
$NFilasd mysql_num_rows($consulta);
                    if(
$NFilasd==0)
                    {
                        echo 
"<option value=\"No Posee\"> No Posee </option>";
                    }
                    else
                    {
                        echo 
"<option value=\"Pendiente\"> Pendiente </option>";
                        While(
$registro=mysql_fetch_assoc($consulta))
                        {
                            if (
$row[depto] == $registro['nombre'])
                               {
                                echo 
"<option value=\"".$registro['nombre']."\" selected>".$registro['nombre']."</option>\n";
                            }
                            else
                            {
                                echo 
"<option value=\"".$registro['nombre']."\">".$registro['nombre']."</option>\n";
                            }
                        }
                    }
                       echo 
"</select></td>";
                    echo 
"<td><select name=\"estado$i\">";
                    
$SQLestado="SELECT * FROM estado order by idestado asc";
                    
$consultae mysql_query($SQLestado,$IdConexion) or die(mysql_error());
                    While(
$registroe=mysql_fetch_assoc($consultae))
                    {
                        if (
$row[estado] == $registroe['nombre'])
                        {
                            echo 
"<option value=\"".$registroe['nombre']."\" selected>".$registroe['nombre']."</option>\n";
                        }
                        else
                        {
                            echo 
"<option value=\"".$registroe['nombre']."\">".$registroe['nombre']."</option>\n";
                        }
                    }
                       echo 
"</select></td>";
                    echo 
"<td><select name='tipo$i'>";
                    if(
$row[tipo] == 'Normal'){echo "<option value='Normal' selected>Normal</option><option value='Resagos'>Resagos</option>";}
                    if(
$row[tipo] == 'Resagos'){echo "<option value='Normal'>Normal</option><option value='Resagos' Selected>Resagos</option>";}
                    echo 
"</select></td>";
                    echo 
"<td><input name=\"bodega$i\" type=\"text\" size='7' value='$row[bodega]'></td>";
                    echo 
"<td><input name=\"sala$i\" type=\"text\" size='7' value='$row[sala]'></td>";
                    echo 
"<td><input name=\"estante$i\"type=\"text\" size='7' value='$row[estante]'></td>";
                    echo 
"<td><input name=\"linea$i\"type=\"text\" size='7' value='$row[linea]'></td>";
                    echo 
"<td><input name=\"columna$i\"type=\"text\" size='7' value='$row[columna]'></td>";
                    echo 
"</tr>";
                    
$i++;
                 }
                WHILE (
$row=mysql_fetch_array($result));
                
//$i++;
                //}
                 
echo "</table>";
                echo 
"<input type=\"hidden\" name=\"Ccajas\" value=\"$Ccajas\">";
                echo 
"<br><input type=\"submit\" name=\"modificat\" value=\"Realizar Modificacion\">";
                 echo 
"</form>";
            }
        } 
Como ya dije utilizo la misma formula para insertar y me resulta, ahora envio el codigo del update:

Código PHP:
if (!empty($_POST['modificat']))
     {
        
$idcliente=$_POST['idcliente'];$Ccajas=$_POST['Ccajas'];
        
$i=1;

        While(
$i<=$Ccajas)
        {
            
$sql="UPDATE caja SET depto="$_POST['iddepto$i']",estado="$_POST['estado$i']",tipo="$_POST['tipo$i']",bodega="$_POST['bodega$i']",sala="$_POST['sala$i']",estante="$_POST['estante$i']",linea="$_POST['linea$i']",columna="$_POST['columna$i']" WHERE cliente='$idcliente' and numero='"$_POST['numcs$i']"'";
            
mysql_query($sql);
            
$i++;
        }
     } 
Bueno, ese es el tema, si alguien me puede ayudar, se agradece.
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #2 (permalink)  
Antiguo 25/02/2005, 07:58
Avatar de walo  
Fecha de Ingreso: mayo-2004
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 0
Podrias copar el error que te imprime ?
  #3 (permalink)  
Antiguo 25/02/2005, 08:05
Avatar de walo  
Fecha de Ingreso: mayo-2004
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 0
No lei mucho el script, pero a simple vista tener un error basico de sintaxis.

No esta concatenando datos

aca tenes el error

Código PHP:
$sql="UPDATE caja SET depto="$_POST['iddepto$i']",estado="$_POST['estado$i']",tipo="$_POST['tipo$i']",bodega="$_POST['bodega$i']",sala="$_POST['sala$i']",estante="$_POST['estante$i']",linea="$_POST['linea$i']",columna="$_POST['columna$i']" WHERE cliente='$idcliente' and numero='"$_POST['numcs$i']"'";



Coreccion

Código PHP:
$sql="UPDATE caja SET 
depto=" 
$_POST['iddepto$i'] . ", 
estado=" 
$_POST['estado$i'] . ", 
tipo=" 
$_POST['tipo$i'] . ", 
bodega=" 
$_POST['bodega$i'] . ", 
sala=" 
$_POST['sala$i'] . ", 
estante=" 
$_POST['estante$i'] . ", 
linea=" 
$_POST['linea$i'] . ", 
columna=" 
$_POST['columna$i'] . 
WHERE cliente='$idcliente' 
and numero='" 
$_POST['numcs$i'] . "'"
De todas maneras enviae el error asi se de que se trata
  #4 (permalink)  
Antiguo 25/02/2005, 08:31
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
gracias por el dato, voy a pobar, pero de todas formas te envio el error:
Parse error: parse error in c:\archivos de programa\apache group\apache\htdocs\digital\admin\caja.php on line 78
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #5 (permalink)  
Antiguo 25/02/2005, 09:14
Avatar de walo  
Fecha de Ingreso: mayo-2004
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 0
Si ese error es de sintaxis. Yo te correji solo una parte, pero podrias tener mas.
Siempre lee el error, busca la linea para ver que es.

Los errores de sintaxis son muy comunes "parse error" o "unexpected algo" no pasa a TODOS. pero con el tiempo los vas a detectar muy rapido.
  #6 (permalink)  
Antiguo 25/02/2005, 11:27
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 14 años, 5 meses
Puntos: 0
y ya que estamos con el tema
Alguien me puede decir que esta mal aqui??

Código PHP:
$var="insert into banco_examenes (codigo_examen, materia, fecha, p1) values ('$codigo_examen[0]', '$materia', '$fecha', '$pregunta1')";
mysql_query($var$conect) or die("error en la insercion de datos");

$var="UPDATE banco_examenes SET p2 = '$pregunta2' WHERE codigo_examen = '$codigo_examen'";
    
mysql_query($var$conect); 
llevo dos horas y ya no se como ponerlo!!!!!!!!!
Muchas gracias
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #7 (permalink)  
Antiguo 25/02/2005, 12:01
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 14 años, 5 meses
Puntos: 0
ya esta claro, funciona asi:

mysql_query("update...", $conect);

en vez de asignarlo a una variabla y depues ejecutarlo:

$var="update...";
mysql_query($var, $conect);

De todas formas me gustaria que alguine me dijera porque pasa esto, porque me he pasado unas 3 horas preciosas...
Muchas gracias
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
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:03.