![]() |
|
|
#1 |
|
Recien llegado
![]() Fecha de Ingreso: septiembre-2010
Amigos 0
Mensajes: 8
Gracias: 0
Agradecido 0 veces en 0 mensajes.
|
Que tal buenas noches, estoy haciendo un proyecto con un formulario en php, las funciones en las cuales me trabé son realmente sencillas para alguien que entiende de php, pero para mi que no he tenido tiempo de profundizar y que comenzé el proyecto por nescecidad práctica, es nescesario pedirles su ayuda.
La primera, nescecito que en un área de texto un número se valla incrementando de manera absoluta, es decir, que después de llenar el formulario aumente en +1 ese número.. y se guarde de alguna manera. Aqui veo dos posibilidades, como los datos del formulario se guardan en una base de datos MySQL, ¿Sería posible que el código php leyera el último registro de la base de datos y simplemente sumara +1 al número indicado? O algo más fácil, guardar el número en un txt en el servidor y simplemente leerlo cada vez que se va a llenar un formulario, sumarle 1, guardarlo en el txt e imprimirlo en el campo de texto. No sé, ustedes son los expertos, ¿Cual me recomendarían y que código podría utilizar para el caso elegido? Y la segunda cuestión, tengo una lista desplegable a la que quisiera que de alguna manera, el usuario pudiera agregarle de manera permanente opciones, ya sea desde una opción en la misma lista que diga "Agregar otro.." o desde un botón. Muchisimas gracias por cualquier aportación que puedan realizar buenas noches a todo el foro.
|
|
|
|
|
#2 |
|
Habitual
![]() Fecha de Ingreso: noviembre-2008
Amigos 0
Mensajes: 166
Gracias: 0
Agradecido 3 veces en 2 mensajes.
|
Con MySQL haces una tabla que tenga una columna que sea un indice y que vaya sumando siempre +1 cuando se le inserta algo.
El codigo sql para la columna seria así: Código:
CREATE TABLE IF NOT EXISTS `el nombre que sea` (
`indice` INT(11) NOT NULL auto_increment,
PRIMARY KEY (`indice`)
) AUTO_INCREMENT=1 ;
|
|
|
|
|
#3 | ||||||
|
Gran Colaborador
![]() Fecha de Ingreso: junio-2007
Amigos 3
Mensajes: 1.922
Gracias: 48
Agradecido 754 veces en 307 mensajes.
|
Cita:
Cita:
Código:
<?php
//Configuracion de la conexion a base de datos
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = ""; //Aqui el password para acceder a la BD
$bd_base = "prueba";
//Conexion BD
$conexion = mysql_connect($bd_host, $bd_usuario, $bd_password) or die("No se puede conectar a MySQL");
mysql_select_db($bd_base, $conexion) or die("No se puede seleccionar base de datos");
//consulta BD
$sql=mysql_query("SELECT contador FROM tabla1 WHERE id = 1",$conexion);
//Obtener informacion BD
$row = mysql_fetch_array($sql);
echo "
<tr>
<td width=\"100%\">
Contador: <input type=\"text\" value = \"{$row['contador']}\" size=\"4\"/>
</td>
</tr>
<br />
";
echo "
<form name=\"form1\" method=\"post\" action=\"\">
<table width=\"100%\" border=\"0\">
<tr>
<td bgcolor=\"#D6E3F7\">Aqui informacion formulario..........</td>
</tr>
<tr>
<td><input type=\"submit\" name=\"Submit\" value=\"Enviar\">
</td>
</tr>
</table>
</form>";
//Aumentamos contador a 1
$cont = $row['contador'] + 1;
//Actualizar contador BD
$sql2 = mysql_query("UPDATE tabla1 SET contador = '$cont' WHERE id = 1",$conexion);
//Cerrar BD
mysql_close($conexion);
?>
Código:
-- ----------------------------
-- Crear tabla
-- ----------------------------
CREATE DATABASE `prueba`;
USE `prueba`;
-- ----------------------------
-- Estructura de tabla1
-- ----------------------------
DROP TABLE IF EXISTS `tabla1`;
CREATE TABLE `tabla1` (
`id` int UNIQUE NOT NULL,
`contador` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Información
-- ----------------------------
INSERT INTO tabla1 (id, contador) VALUES ('1', '1');
Cita:
Código:
<?php
// Archivo en donde se acumulará el contador
$archivo = "contador.txt";
// Abrimos el archivo
$conexion = fopen($archivo, "r");
// Leemos el contenido
$cont = fread($conexion, filesize($archivo));
// Cerramos la conexión
fclose($conexion);
// Abrimos nuevamente el archivo
$conexion = fopen($archivo, "w");
// Sumamos 1 al contador
$cont = $cont + 1;
// Y reemplazamos por el nuevo contador
$grabar = fwrite($conexion, $cont);
// Cerramos la conexión al archivo
fclose($conexion);
// Imprimimos el contador
echo "
<tr>
<td width=\"100%\">
Contador: <input type=\"text\" value = \"{$cont}\" size=\"4\"/>
</td>
</tr>
<br />
";
echo "
<form name=\"form1\" method=\"post\" action=\"\">
<table width=\"100%\" border=\"0\">
<tr>
<td bgcolor=\"#D6E3F7\">Aqui informacion formulario..........</td>
</tr>
<tr>
<td><input type=\"submit\" name=\"Submit\" value=\"Enviar\">
</td>
</tr>
</table>
</form>";
?>
PD: Tienes que crear el archivo "contador.txt" y agregarle un 0 (valor por defecto), el archivo tiene que estar en la misma carpeta donde está el archivo .php.
__________________
Última edición por Fashion; 01-oct-2010 a las 17:58 |
||||||
|
|
|
|
#4 |
|
Habitual
![]() Fecha de Ingreso: noviembre-2008
Amigos 0
Mensajes: 166
Gracias: 0
Agradecido 3 veces en 2 mensajes.
|
Creo que solo quiere una de las dos soluciones, mysql o txt xD aun así esta muy bien la respuesta y muy completa fashion.
No me acorde del formulario, pero no se porque añadir +1 al contador, si con el code que dije yo lo hace automáticamente, no seria mas sencillo ? |
|
|
|
|
#5 |
|
Recien llegado
![]() Fecha de Ingreso: septiembre-2010
Amigos 0
Mensajes: 8
Gracias: 0
Agradecido 0 veces en 0 mensajes.
|
Muchisimas gracias por su ayuda. Funcionó a la perfección, otra cosa, ¿Porque el foro me aparece al revéz? Bueno, al menos mis mensajes, el primero que puse me aparece hasta abajo y los más nuevos hasta arriba. ¿Habrá manera de cambiarlo?
|
|
|
|
|
#6 |
|
Habitual
![]() Fecha de Ingreso: noviembre-2008
Amigos 0
Mensajes: 166
Gracias: 0
Agradecido 3 veces en 2 mensajes.
|
Dale al boton Ultimo Mensaje en los temas y se cambiara.
|
|
|
![]() |
| Herramientas | |
| Desplegado | |
|
|

Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| FATAL ERROR 001b 0x7c92b21a 0x00000010 | c0p3rn1c | Problemas Tecnicos Windows | 1 | 15-dic-2010 22:59 |