██▓▓▒▒░░ ɔɔ˙ǝɹ0ɔ˙ʍʍʍ ░░▒▒▓▓█

Como guardar multiples datos, con multiples registros en PHP

by Jose Antonio Bueno on Jun.30, 2009, under Php

En esta ocacion les dejo un pequeño script que pretende ayudar a ilustrar de una forma practica la posibilidad de poder actualizar o insertar multiples datos de multiples registros a una base de datos usando php, es decir…

Imaginemos que tenemos una seccion en la cual necesitemos actualizar o insertar los registros de varios usuarios de forma multiple y en la cual podamos actualizar todos los datos incluyendo nombre, password, usuario, contraseña, status de usuario, etc.

code1

Tablas:


/**
* @Author: J Antonio BS
* @Mail:   mail@antoniobs.net
* @Web:    www.antoniobs.net
*/
/*
c0de for MySQL
*/
CREATE TABLE AppUsers (
id_user int(11) NOT NULL  AUTO_INCREMENT PRIMARY KEY,
user_name varchar(32) NOT NULL DEFAULT '',
user_last_name varchar(32) NOT NULL DEFAULT '',
user_mail varchar(32) NOT NULL DEFAULT '',
user_login varchar(16) NOT NULL DEFAULT '',
user_password varchar(16) NOT NULL DEFAULT '',
user_status tinyint(1) NOT NULL DEFAULT '1'
);

/*
c0de for SQL Server
*/
CREATE TABLE AppUsers (
id_user int NOT NULL  PRIMARY KEY IDENTITY(1,1),
user_name varchar(32) NOT NULL ,
user_last_name varchar(32) NOT NULL ,
user_mail varchar(32) NOT NULL ,
user_login varchar(16) NOT NULL ,
user_password varchar(16) NOT NULL ,
user_status bit NOT NULL DEFAULT (1)
);

/*
c0de for PostgreSQL
*/
CREATE TABLE AppUser
(
id_user serial NOT NULL PRIMARY KEY,
user_name character(32),
user_last_name character(32),
user_mail character(32),
user_login character(16),
user_password character(16),
user_status boolean
)

Codigo:


<?
/**
* @Author: J Antonio BS
* @Mail:   mail@antoniobs.net
* @Web:    www.antoniobs.net
*/

if( isset( $_POST["submit"] ) ) // se envio el formulario?

for($x =0 ; $x < 10 ; $x++) // recorremos 10 posibles registros, puedes poner los que necesites
// se recuperan cada uno de los datos del form siempre y cuando se hayan enviado, de lo contrario los omite

if(isset($_POST["opcStatus" . $x])) // se envio el registro opcStatus1, opcStatus2, ... etc. ?
{
// obtenemos cada uno de los datos
$idUser        =  $_POST[ "idUser".$x ];
$txtNombre     =  $_POST[ "txtNombre".$x ];
$txtApellido=  $_POST[ "txtApellido".$x ];
$txtMail     =  $_POST[ "txtMail".$x ];
$txtUser     =  $_POST[ "txtUser".$x ];
$txtPassword=  $_POST[ "txtPassword".$x ];
$opcStatus     =  $_POST[ "opcStatus".$x ];
// tu cadena correspondiente para la actualizacion de datos.

/*Justo aqui es donde tu colocas el codigo correspondiente a la actualizacion

o a la insercion de los datos a tu base de datos, este script se limita a

proponer la funcionalidad, el resto esta de tu parte. */
echo "UPDATE SET user_name='$txtNombre', user_last_name='$txtApellido',user_mail=' $txtMail', user_login='$txtUser', user_password='$txtPassword', user_status='$opcStatus' WHERE id_usuario='$idUser'<br>";
}
else
echo "Selecciona los datos correspondientes.<br>";
?>
<pre>

Se pretende guardar multiples datos de multiples registros

</pre>

<form method="POST">
Registro 1
<br><br>
Nombre:         <input type="text" name="txtNombre1">
Apellidos:        <input type="text" name="txtApellido1">
Mail:            <input type="text" name="txtMail1">
<br>
Usuario:        <input type="text" name="txtUser1">
Password:        <input type="text" name="txtPassword1">
Status: <select name="opcStatus1">
<option value="1"> Activo </option>
<option value="0"> Inactivo </option>
</select>
<input type="hidden" name="idUser1" value="10">
<hr>
Registro 2
<br><br>
Nombre:         <input type="text" name="txtNombre2">
Apellidos:        <input type="text" name="txtApellido2">
Mail:            <input type="text" name="txtMail2">
<br>
Usuario:        <input type="text" name="txtUser2">
Password:        <input type="text" name="txtPassword2">
Status: <select name="opcStatus2">
<option value="1"> Activo </option>
<option value="0"> Inactivo </option>
</select>
<input type="hidden" name="idUser2" value="5345">
<hr>

Registro 3
<br><br>
Nombre:         <input type="text" name="txtNombre3">
Apellidos:        <input type="text" name="txtApellido3">
Mail:            <input type="text" name="txtMail3">
<br>
Usuario:        <input type="text" name="txtUser3">
Password:        <input type="text" name="txtPassword3">
Status: <select name="opcStatus3">
<option value="1"> Activo </option>
<option value="0"> Inactivo </option>
</select>
<input type="hidden" name="idUser3" value="2334">
<hr>

<input type ="submit" name="submit" value="OK">
</form>

Con fines ilustrativos se colocaron solo 3 registros estaticos , pero esto no necesariamente deberia ser asi, ya que se podria modificar de tal forma que se pudiesen llenar esos registros de forma dinamica con la informacion proveniente de tu DB, colocando cada valor en la etiqueta value=”" correspondiente.

Suerte!


3 Comments for this entry

  • rodrigo

    Hola muy bueno el tut… es mas menos lo que estaba necesitando… como puedo hacer para que la cantidad de registros a rellenar sea dinamico… o sea que pueda elegir si es un registro o 100???

    gracias

  • n3ur0na

    hola esta bueno tu codigo pero aun no logro hacerlo funcionar, yo capturo los datos en el formulario1, donde selecciono cuantos mas debo agregar pasando al formulario2, ahi compruebo cuantos se requieren y muestra los campos de captura, una vez realizado esto, paso al archivo de guardado, hasta ahi todo bien, si guarda los datos pero los combina del registro 1 al x, me puedes ayudar te paso mi mail para darte mas detalles n3ur0na@hotmail.com

  • horoscopo

    Ya mismo estoy agregando este sitio a mis favoritos. muy buena info.

Leave a Reply

Walcome to this web site! :)

Visit our friends!

A few highly recommended friends...