Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Php


Tema Cerrado Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 30-sep-2010, 22:17   #1
Recien llegado
 
Fecha de Ingreso: septiembre-2010
Amigos 0
Mensajes: 8
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado [Solucionado] Formulario y algunas funciones simples

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.
Andres52 está desconectado  
Antiguo 01-oct-2010, 15:57   #2
Habitual
 
Fecha de Ingreso: noviembre-2008
Amigos 0
Mensajes: 166
Gracias: 0
Agradecido 3 veces en 2 mensajes.
Predeterminado Respuesta: Formulario y algunas funciones simples

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 ;
  
Y cada vez que se inserte algo en al base de datos subiera +1 en el indice.
__________________

Soken-Ro High Rate


Nekos está desconectado  
Antiguo 01-oct-2010, 17:41   #3
Gran Colaborador
 
Avatar de Fashion
 
Fecha de Ingreso: junio-2007
Amigos 3
Mensajes: 1.922
Gracias: 48
Agradecido 754 veces en 307 mensajes.
Predeterminado Respuesta: Formulario y algunas funciones simples

Cita:
Iniciado por Andres52 Ver Mensaje
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?.
Cita:
Iniciado por Nekos Ver Mensaje
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 ;
  
Y cada vez que se inserte algo en al base de datos subiera +1 en el indice.
Es el comienzo de la solución, pero hay que agregarle lo siguiente:

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);
?>
  
Para crear la tabla haz lo siguiente:

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:
Iniciado por Andres52 Ver Mensaje
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?
.
Si deseas usar archivos podrías realizar lo siguiente:

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>";
	  
?>
  
Mas información:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

y

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



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.
__________________

[Solo usuarios registrados pueden ver los links. REGISTRARSE]


Última edición por Fashion; 01-oct-2010 a las 17:58
Fashion está desconectado  
Antiguo 02-oct-2010, 07:30   #4
Habitual
 
Fecha de Ingreso: noviembre-2008
Amigos 0
Mensajes: 166
Gracias: 0
Agradecido 3 veces en 2 mensajes.
Predeterminado Respuesta: Formulario y algunas funciones simples

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 ?
__________________

Soken-Ro High Rate


Nekos está desconectado  
Antiguo 05-oct-2010, 14:32   #5
Recien llegado
 
Fecha de Ingreso: septiembre-2010
Amigos 0
Mensajes: 8
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado Respuesta: Formulario y algunas funciones simples

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?
Andres52 está desconectado  
Antiguo 06-oct-2010, 07:17   #6
Habitual
 
Fecha de Ingreso: noviembre-2008
Amigos 0
Mensajes: 166
Gracias: 0
Agradecido 3 veces en 2 mensajes.
Predeterminado Respuesta: Formulario y algunas funciones simples

Dale al boton Ultimo Mensaje en los temas y se cambiara.
__________________

Soken-Ro High Rate


Nekos está desconectado  
Tema Cerrado

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



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



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0