Dudas sobre la inserción y carga de registros desde un formulario en php a una base de datos Mysql

Hola, tengo este problema... Tengo un formulario, donde recibo datos por medio de select y campos de texto, y luego se insertan en una b.de en Mysql, lo que quiero es q' cada vez q' se inserta un nuevo registro en la b.d. Se muestre en la misma página el registro insertado, para q' el usuario verifique visualmente q' los datos son correctos... Lo estoy haciendo pero utilizo muchas páginas en las recargas al servidor php alrededor de 5 alguien conoce una mejor solución...
De antemano muchas gracias

1 Respuesta

Respuesta
1
El if($_POST) { .... } puedes ponerlo después del formulario, dará el mismo resultado.
Para ponerlo dentro del mismo formulario en el campo de texto no hay problema:
<?if($_POST['nombre_campo_texto']) $valor = $_POST['nombre_campo_texto'];
else $valor="";?>
<input name='nombre_campo_texto' value='$valor'>
Para el select deberías crear un array con sus opciones antes de ponerlo, p.ej:
$select['valor1'] = "Texto valor 1";
$select['valor2'] = "Texto valor 2";
//....
<select name='nombre_select'>
<?
foreach($select as $k=>$v) {
if($_POST['nombre_select'] == $k) $sel = "selected";
else $sel = "";
echo "<option ".$sel." value='$k'>$v</option>";
}
?>
</select>
En cuanto a la actualización, si realizas el SELECT de todos los registros después del INSERT del nuevo registro, éste último también aparecerá.
Si, funciono pero tengo dos dudas: hay alguna de mostrar los datos enseguida del formulario, ya q' en este momento me aparecen en la cabecera, o colocarco dentro del mismo formulario cuando se recarga a si mismo, ya los muestro en una tabla, y la segunda: no hay manera de q' acumule todos los registros, ¿es decir se actualize cada vez q'hago una nueva insercio?... muchas gracias y disculpa la lata.
Puedes enviar los datos a la misma página del formulario:
<form method=POST action=<?=$_SERVER['PHP_SELF'];?>>
Luego, en la parte superior de la página añade:
<?
if($_POST) { //si se ha sometido el formulario
//conexión a mysql
//inserción del registro a la base de datos
echo "Se ha añadido el siguiente registro:<br>";
echo $_POST['nombre_select']."<br>";
echo $_POST['nombre_campo_texto'];
//....
}
?>
<!--FORMULARIO-->
Me ha quedado un tanto esquemático pero espero que me haya explicado...
Saludos,
iNphYx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas