Foros del Web » Programando para Internet » PHP »

y si tengo mas de dos campos

Estas en el tema de y si tengo mas de dos campos en el foro de PHP en Foros del Web. hola otra vez dando lata, tengo otro problema, estoy tratando de hacer una modificacion a una base de datos, osea un update tabla from nombre="$nombre", ...
  #1 (permalink)  
Antiguo 28/10/2006, 13:41
 
Fecha de Ingreso: mayo-2006
Ubicación: mexico, distrito federal
Mensajes: 64
Antigüedad: 18 años
Puntos: 0
Pregunta y si tengo mas de dos campos

hola otra vez dando lata, tengo otro problema, estoy tratando de hacer una modificacion a una base de datos, osea un update tabla from nombre="$nombre", el problema no radica en eso si no en los siguiente, me explico

primero muestro los datos que tengo en la base de datos, una vez mostrados, elijo lo que quier cambiar con un checkbox, y lo mando a la sentencia de modificado, hasta aqui voy bien, pero que pasa si tengo mas de una consulta es decir, si quiero hacer modificaciones un campo "nombre" el cual quiero modificar dos nombres ala vez, por ejemplo trate con esto

modificar1.php
<?
$db = mysql_connect("localhost","root","") or die("ERROR EN LA CONEXION DE LA BASE");
mysql_select_db("ordenesdesalida",$db);
$sql="SELECT * FROM tabla WHERE nombre='$nombre'"; /* consulto para saber el numero de elementos que tengo*/
$result = mysql_db_query("ordenesdesalida",$sql,$db);
$num_result = mysql_num_rows($result); /* obtengo el numero de elemento a afectar */

while($row = mysql_fetch_array($result))
{
?>
<table border="1">
<tr>
<td>
<?
/*segun yo, el for es para guardar el numero del checkbox que selecciono y el nombre obtenido en un arreglo */
for($i=1;$i <= $num_result; $i++)
{
?>
/*a los campos obtenidos, lo paso a un textbox */
/* este codigo melo paso el bueno ErickFrancisco, hola¡¡¡*/
<? echo "<b>Id: ".$row["id"]."</b>"; ?>
<input type="hidden" name="id" value="<? echo $row["id"]; ?>" >
/* con $chkb[$i] y $nombre[$i] estoy guardando el checkbox que marco y en $nombre guardo el nombre que tenemos en la base de datos*/
<input type="checkbox" name="<? $chkb[$i]; ?> ">
<? echo "Nombre: <input type=\"text\" name=\"<? $nombre[$i] ?>\" value=\"".$row['nombre']."\">"; ?>
<?
}
?>
</td>
</tr>
</table>
<?
}
?>

mandanos los datos a otra pagina
modificar2.php
<?
$db = mysql_connect("localhost","root","") or die("ERROR EN LA CONEXION DE LA BASE");
mysql_select_db("ordenesdesalida",$db);

$id=$_POST["id"]; $nombre=$_POST["nombre"];
/* tomando $num_result como el numero de elementos que tenemos */

for($i=1;$i <= $num_result; $i++)
{
/*supuestamente con eso estoy diciendo que checkbox fue seleccionado*/
if (isset($chkb[$i]))
{
/* y aqui mando el nombre de que se marco*/
$SQL="Update tabla Set nombre='$nombre[$i]' Where id='$id'";
$result1 = mysql_query($SQL);
}
}

?>

ya lo hice pero se tardo demasiado como si entrara en un ciclo, el problema es que no se si se puede hacer lo que hice con $chkb[$i] y con $nombre[$i], yu como le hago para modificar mas de dos cosas a la vez... de ante mano muchas gracias por la ayuda que pueda recibir... porque ya estoy , gracias

Última edición por cgamae; 28/10/2006 a las 13:48 Razón: equivocacion en la redaccion
  #2 (permalink)  
Antiguo 30/10/2006, 13:50
pez
 
Fecha de Ingreso: enero-2002
Mensajes: 354
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola el $num_result de modificar2.php

Ni siquiera esta definido si lo vas ha usar el mismo que esta en modificar1.php tendras que pasarlo via POST o GET

Un Saludo
  #3 (permalink)  
Antiguo 30/10/2006, 14:56
 
Fecha de Ingreso: mayo-2006
Ubicación: mexico, distrito federal
Mensajes: 64
Antigüedad: 18 años
Puntos: 0
hola

bueno, el $num_result no lo puse en modificar2.php, pero si lo mando de modificar1.php a modificar2.php, he estado intentando modificar los dos nombres a la vez, pero selecciono los dos nombres y a veces nada mas me modifica el primero o a veces el segundo, pero no los dos a la vez, ya le intente de varias formas y llego alo mismo, no lo logro, bueno muchas gracias, y gracias por las ayudas que pueda recibir...
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 08:27.