Foros del Web » Programando para Internet » PHP »

Formulario unico para insertar, consultar y descargar

Estas en el tema de Formulario unico para insertar, consultar y descargar en el foro de PHP en Foros del Web. Bueno, pues me he hecho un formulario que usando un archivo insertar.php pues me inserta los datos escritos en el formulario correctamente. Mi intención ahora, ...
  #1 (permalink)  
Antiguo 24/07/2008, 02:43
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Formulario unico para insertar, consultar y descargar

Bueno, pues me he hecho un formulario que usando un archivo insertar.php pues me inserta los datos escritos en el formulario correctamente.

Mi intención ahora, es añadir un boton para consultar. Entonces, lo que quiero es aprovechar el mismo formulario y que la busqueda se haga por aquellos campos en los cuales se haya escrito algo. Es decir, que desde la misma web, pueda elegir el boton de insertar datos o consultar datos. En caso de consultar, pues que el campo no sea fijo a consutar, si no, el que este relleno.

¿Alguien puede ayudarme?

Muchas gracias de antemano a todos.
  #2 (permalink)  
Antiguo 25/07/2008, 20:13
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Formulario unico para insertar, consultar y descargar

Trasladado de BD a PHP. En MySQL NO se programa.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 25/07/2008, 21:19
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 18 años, 9 meses
Puntos: 4
Respuesta: Formulario unico para insertar, consultar y descargar

Cita:
Mi intención ahora, es añadir un boton para consultar. Entonces, lo que quiero es aprovechar el mismo formulario y que la busqueda se haga por aquellos campos en los cuales se haya escrito algo. Es decir, que desde la misma web, pueda elegir el boton de insertar datos o consultar datos. En caso de consultar, pues que el campo no sea fijo a consutar, si no, el que este relleno.
Si se puede realizar, pero te recomiendo que no lo hagas así, por dos cosas,
1ra.- Te vas a ahorar muchos problemas y quebraderos de cabeza, por que tienes que jugar con muchas variables e if's para poder validar correctamente qué acción va a realizar el usuario.

2da.- Y considero la más importante, el usuario querra manejar un formulario para insertar, otro para buscar, con lo anterior que mencionas solo le complicaras la existencia, ese es mi punto de vista.

Ok , si te quieres divertir pues aca está una pista de como lo puedes hacer.


Código PHP:
IF($_POST['descargar']){
//codigo para descargar
}

IF(
$_POST['insertar']){
//codigo para actualizar
}

IF(
$_POST['buscar']){
//codigo para buscar
}

<
form>
//text, labels, y demás controles para formulario

//aqui van los inputs para cada acción
<input type="submit" name="descargar">
<
input type="submit" name="insertar">
<
input type="submit" name="buscar">
</
form
Ok, con eso te puedes dar una idea de como estructurar el formulario y el codigo para cada acción, por cierto, también debes pensar en como vas a mostrar la información cuando el usuario ejecute una busqueda

Saludos.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #4 (permalink)  
Antiguo 25/07/2008, 23:19
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Respuesta: Formulario unico para insertar, consultar y descargar

Hola, según veo no tienes problema para el código, sino de concepto o diseño. Si es así puedes plantearlo de la siguiente forma:

formulario.php archivo con el formulario.

Ahora, para ordenar tu código, cada botón debería apuntar hacia un archivo diferente, que tenga la función específica que necesitas hacer y luego de hacerla te redirija al formulario de nuevo.

Es decir:

formulario.php
adicionar.php
consultar.php
modificar.php
eliminar.php

Formulario solo tendría dos opciones, adicionar y consultar

Si le das adicionar debería insertar los registros a la base de datos y redireccionar al formulario, es mas, adicionar.php solo debería mostrar un mensaje de si fue o no procesada la información.

Si le das a consultar debería aparecer un nuevo formulario con dos nuevas opciones, modificar y eliminar el registro que se encontró. Igualmente, modificar.php y eliminar.php solo deberían tener mensajes de confirmación.

¿Por qué no hacerlo todo en la misma página?

A menos que uses AJAX no es recomendable hacerlo todo en la misma página, ya que (además de tener montones de código en una sola hoja) si el usuario le da por recargar la página le saldrá el molesto mensaje del navegador diciendole que la información se va a enviar de nuevo, y es muy probable que se empiece a llenar tu base de datso de registros repetidos.

Espero haber ayudado un poco, saludos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #5 (permalink)  
Antiguo 26/07/2008, 02:13
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

Efectivamente, la unica cosa, es que el consultar.php no me funciona.

La opcion de descargar la tabla de la base de datos en excel tampoco me funciona, no se que puede fallarme, pero a priori, está bien. Me da un error de final de fichero y el error es algo parecido a $end
  #6 (permalink)  
Antiguo 26/07/2008, 05:08
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Formulario unico para insertar, consultar y descargar

Te recomiendo entonces que postees tu codigo para que podamos ver si tiene algun error visible.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 26/07/2008, 06:31
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

El codigo que pongo unicamente, es un select

Conecto a la base de datos, todo correcto y demas. Hago el select * from tabla, y ahora lo que quiero es que me muestre por pantalla algo, y no me sale nada.

Eso me pasa ahora mismo.

Muchas gracias.
  #8 (permalink)  
Antiguo 26/07/2008, 11:14
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Respuesta: Formulario unico para insertar, consultar y descargar

Por eso. Pon tu código.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #9 (permalink)  
Antiguo 28/07/2008, 01:36
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

Pues haber, si le doy al boton de buscar, me lista, la unica cosa es que no me lo hace pasando una variable por POST. Es decir, en mi formulario, relleno el campo por el que quiero que me busque, y lo que me sale es siempre la pantalla en blanco. No acepta la condición de busqueda que le pongo. Ahí va el código


<?php
$p = $_POST["procede"];
$servidor="orion";
$usuario ="usuconva";
$clave="usucon%3";
$basedatos="CONVALIDA";
$conexion=mysql_connect($servidor,$usuario,$clave) or die ('problema conectando porque: '.mysql_error());
mysql_select_db($basedatos, $conexion);
$p=$_POST["procede"];
$cadena="Select * FROM conva WHERE conva.plan='$p'";
$tabla=mysql_query($cadena,$conexion) or die ('problemas de conexion: ' .mysql_error());
while ($row=mysql_fetch_array($tabla)) {
echo "Asignatura de Origen: ";
}
?>

Última edición por fito2006; 28/07/2008 a las 04:41 Razón: Editado por cambio de concepto en la duda
  #10 (permalink)  
Antiguo 28/07/2008, 13:06
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Formulario unico para insertar, consultar y descargar

Pero ahi no estas mostrando nada.
Código PHP:
$p $_POST["procede"];
$servidor    "orion";
$usuario    "usuconva";
$clave        "usucon%3";
$basedatos    "CONVALIDA";
$conexion mysql_connect($servidor,$usuario,$clave) or die('problema conectando porque: '.mysql_error());
mysql_select_db($basedatos$conexion);
//$p=$_POST["procede"];
$cadena "SELECT * 
        FROM conva 
        WHERE conva.plan = '$p'"
;
$tabla mysql_query($cadena,$conexion) or die('problemas de conexion: ' .mysql_error());
while (
$row mysql_fetch_array($tabla)) {
    echo 
"Asignatura de Origen: ".$row['asignatura'].'<br>';

Fijate que en el echo debes llamar a $row['nombrecampo'] en donde nombrecampo es el nombre del campo que quieres mostrar de la base de datos.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #11 (permalink)  
Antiguo 28/07/2008, 13:10
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

Está, fijate en la ultima linea. Si mostrar si muestra, lo que no me hace es buscar por un campo determinado.
  #12 (permalink)  
Antiguo 28/07/2008, 14:14
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Formulario unico para insertar, consultar y descargar

Por eso te digo... fijate en el codigo que pusiste arriba:
Código PHP:
echo "Asignatura de Origen: "
Nunca llamas a $row['loquesea'] o sencillamente estoy muy ciego y no veo la variable en el codigo que me enviaste...

A parte... si quieres saber si tienes campos deberias agregar esto:
Código PHP:
$tabla mysql_query($cadena,$conexion) or die('problemas de conexion: ' .mysql_error());
$i 0;
while (
$row mysql_fetch_array($tabla)) {
    echo 
"Asignatura de Origen: ".$row['asignatura'].'<br>';
    
$i++;
}
echo 
'<br>Se encontraron '.$i.' datos'
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #13 (permalink)  
Antiguo 28/07/2008, 14:33
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

while ($row = mysql_fetch_array($tabla)) {
echo "Asignatura de Origen: ".$row['asignatura'].'<br>';
}

Estas son las ultimas lineas de mi codigo, donde llamo a $row para mostrar.

Lo que yo quiero es hacer busquedas por un campo previo pasado por POST que se vé ahí arriba. La cosa es que no me toma la variable pasada para hacer la consulta con el WHERE campo_pasado_por_post
  #14 (permalink)  
Antiguo 28/07/2008, 14:43
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Formulario unico para insertar, consultar y descargar

Ok... entonces antes de
Código PHP:
$tabla mysql_query($cadena,$conexion) or die('problemas de conexion: ' .mysql_error()); 
Pone esto:
Código PHP:
echo $cadena
Luego copia esa cadena que te saldra y pegala en el phpmyadmin.

Entiendo cual es tu problema, pero sin codigos no puedo decirte que esta bien y que esta mal... pon tu formulario aca, tal vez si estas pasando el valor pero en la base de datos buscas por un texto, tal vez en tu select el option value es un ID... no se... hay muchas opciones... copia y pega como te dije la query que te saldra en pantalla y ve si te trae resultados, si es asi el problema es en tu script, sino es porque la consulta la estas trabajando mal.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #15 (permalink)  
Antiguo 29/07/2008, 01:46
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

echo $cadena, me devuelve la consulta que genero. Como dije, si pongo select * from tabla pues me lista por pantalla todo. Pero al intentar recoger las variables por el metodo POST tal y como se ve en el codigo de arriba, pues no me recoge el valor del formulario. No sé que puede pasar para que no me tome el valor.

La cosa es que cuando pulso el boton de introducir datos en la base de datos, si me lo hace y si recoge las variables por el mismo metodo y con la misma linea de codigo que aqui.

Lo que me falta es recoger la variable, y no sé por que, no me lo hace. El código del formulario es muy extenso, no asi los php de insertar y consultar pero si quieres te los envio por mp.

Muchas gracias
  #16 (permalink)  
Antiguo 29/07/2008, 22:01
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Formulario unico para insertar, consultar y descargar

Una consulta a parte (y si enviame los codigos no mas...) estas usando easyphp 2 ?? porque por ahi lei que venia con muchos problemas por ser un beta...

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #17 (permalink)  
Antiguo 29/07/2008, 22:31
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: Formulario unico para insertar, consultar y descargar

puede que tengas un problema en el valor de la cadena que insertastes con el que lo estás comparando, haz una prueba

en vez de usar el operador '=' utiliza like con comodines aver si te da resultado

$cadena = "SELECT *
FROM conva
WHERE conva.plan like '%$p%'";

por algún espacio en el dato introducido esta instrucción te da resultados, ya que busca las cadenas que contengan la palabra que quieres buscar.
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #18 (permalink)  
Antiguo 30/07/2008, 03:05
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Formulario unico para insertar, consultar y descargar

Pero no sera mejor usar algo como la funcion trim() ltrim() y rtrim() si es el caso... porque el = en mysql tiene mayor rendimiento que LIKE.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:59.