Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/02/2009, 11:28
yugaee
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: ¿Cómo se hace esto en PHP?

Cita:
Iniciado por santuariosw Ver Mensaje
Espero te sirva loa cabo de hacer

Muchas gracias por la ayuda santuario;

bueno, mi problema en sí, ahora es que dependiendo la cantidad de filas existentes haga un UPDATE para cada una de ellas.

Miren, este es el Código de mi PHP realizado, con ayuda del post de santuario:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
Agregar

<input name="item" id="item" type="text" size="10" />
Usuarios
<input type="submit" name="Cantidad" id="Cantidad" value="Cantidad" />


<table width="24%">
<?php $id 1$i 1; while ($i <= $_POST['item'] ){ ?>
<tr><td width="35%">Usuario <?php echo $id?></td>
<td width="32%"><input name="username<?php echo $id?>" type="text" id="nombre<?php echo $id?>" size="10" /></td>
<td width="16%">Puntos </td>
<td width="17%"><input name="pts<?php echo $id?>" type="text" id="precio<?php echo $id?>" size="5" /></td>
</tr>
<?php $i $i 1$id $id 1;}

if(
$_POST['Cantidad'])
{
echo 
'<input type="submit" name="Agregar" id="Agregar" value="Agregar" />';
}

if(
$_POST['Agregar'])
{
//AQUI SOLICITO QUE MYSQL ACTUALICE TODOS LOS REGISTROS.

$usuario1=$_POST['username1']; //SUPONGAMOS QUE QUISE PONER SOLO 1 USUARIO
$pts1=$_POST['username1']; //CAMPO DE PUNTOS DEL FORMULARIO PARA USUARIO #1

mysql_query("UPDATE miembros SET puntos='$pts1' WHERE username='$usuario1'") or die("Hubo un error Actualizando los puntos.");
echo 
"Vale, se actualizó todo bien.";
exit;
}

?>


</form>
</table>

</body>
</html>

Muy bien, hasta aquí yo escribo por ejemplo el #13 y le doy click en el boton CANTIDAD, eso hace que se inserten las filas escritas, y se active (por medio de un echo) el boton AGREGAR.

Ahora, supongamos que quisimos solo 1 fila, lo que crea los cambos de texto:

username1
pts1

Y ahora en base a cuando se apriete el boton agregar debería actualizar en el MySQL los datos del usuario 1 con el update que hice.


Bueno, la cosa es que el update que puse solo obtiene el $_POST del username1 y pts1, pero ¿cómo podría hacer que se agregue 1 update por cada fila insertada en forma secuencial?

es decir, por ejemplo, selecciono la cantidad: 3, y entonces al apretar el boton AGREGAR en la parte donde debe actualizar haga algo similar a esto:

Código PHP:
if($_POST['Agregar'])
{

//AQUI SOLICITO QUE MYSQL ACTUALICE TODOS LOS REGISTROS.


$usuario1=$_POST['username1'];
$pts1=$_POST['username1'];

$usuario2=$_POST['username2'];
$pts2=$_POST['username2'];

$usuario3=$_POST['username3'];
$pts3=$_POST['username3'];

mysql_query("UPDATE miembros SET puntos='$pts1' WHERE username='$usuario1'") or die("Hubo un error Actualizando los puntos.");

mysql_query("UPDATE miembros SET puntos='$pts2' WHERE username='$usuario2'") or die("Hubo un error Actualizando los puntos.");

mysql_query("UPDATE miembros SET puntos='$pts3' WHERE username='$usuario3'") or die("Hubo un error Actualizando los puntos.");

echo 
"Vale, se actualizó todo bien.";
exit;} 

Desde ya muchas gracias por el apoyo.