Foros del Web » Programando para Internet » PHP »

problemas con boton

Estas en el tema de problemas con boton en el foro de PHP en Foros del Web. hola chicos: Tengo un problema, resulta que en mi formulario tengo una lista select y un boton en el que el usuario tiene que seleccionar ...
  #1 (permalink)  
Antiguo 28/05/2009, 11:31
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
problemas con boton

hola chicos:

Tengo un problema, resulta que en mi formulario tengo una lista select y un boton en el que el usuario tiene que seleccionar una opcion y dar clik en el boton para que me realice la consulta, el problema es que al dar clik si me realiza la consulta la primera vez pero al dar clik por segunda vez para hacer otra busqueda ya no lo hace, y manda el mensaje de que no se tiene insertado en la base de datos lo que estoy buscando, en resumen la primera vez si me busca pero para una segunda debo dar dos cliks para que me muestre la informacion. Les pongo mi codigo que puedo hacer para solucionar esto :

este es mi formulario:

Código PHP:
<form name="formName" method="post" action="necesidades_consulta.php">

          <
select name="necesidad">
            <
option>**SELECCIONA LA NECESIDAD**</option>
            <
option>EQUIPO DE C&Oacute;MPUTO</option>
            <
option>EQUIPO DE TRANSPORTE</option>
          </
select>
          <
input type="submit" name="buscar" value="Buscar" /> 
Este es el codigo para buscar si se ha presionado el boton:

Código PHP:
if(isset($_POST['buscar'])){
 
$query 'SELECT  necesidad, cantidad FROM necesidades WHERE anio=\''.$_SESSION['anio_consulta'].'\' and clave=\''.$_SESSION['clave'].'\' and necesidad= \''.$_POST['necesidad'].'\'';             
                
$checkclave mysql_query('SELECT necesidad, cantidad FROM necesidades WHERE clave=\''.$_SESSION['clave'].'\'');
            
$clave_exist mysql_num_rows($checkclave);
            
            
$checkanio_consulta mysql_query('SELECT necesidad, cantidad FROM necesidades WHERE anio=\''.$_SESSION['anio_consulta'].'\'');
            
$anio_consultas_exist mysql_num_rows($checkanio_consulta);
            
            
$checknece_consulta mysql_query('SELECT cantidad FROM necesidades  WHERE necesidad= \''.$_POST['necesidad'].'\'');
            
$nece_consultas_exist mysql_num_rows($checknece_consulta);
                       
            if (
$clave_exist>&& $anio_consultas_exist>&& $nece_consultas_exist>0) {
            
            
$tabla1mysql_query($query) or die(mysql_error());
            
            
            
     echo 
"<HTML><TABLE Border=10 CellPadding=5 ><TR>";


echo 
"<th bgcolor=#9966FF>NECESIDAD</th><th bgcolor=#9966FF>CANTIDAD</th>


while($fila = mysql_fetch_array($tabla1))

{


echo"
<tr>";

echo "
<td><input type="text\" size=\"30\" name=\"necesidad[]\" value=\" $fila[0]\"></br></td>";

echo 
"<td><input type=\"text\" size=\"3\" name=\"cantidad[]\" value=\"$fila[1]\"></br></td>"

echo
"</tr>";


};

}
            else  
            {
            echo  
'<p> No tienes registradas necesidades  del año  '$anio_consulta;
            }
            } 
Agradeceria mucho su ayuda..
  #2 (permalink)  
Antiguo 28/05/2009, 12:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

Lo que veo es que tienes un if con varios && y si ninguna de las consultas se cumple no vas a ver nada pero en el primer codigo no veo las otras dos consultas de casualidad estas segura de que estas ingresando todos los campos?
  #3 (permalink)  
Antiguo 28/05/2009, 12:29
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

gracias, sip estoy ingresando todos lo datos, lo que compruebo que es la clave y año, los paso por sesion y la necesidad por post, lo raro en el codigo es que la primera vez que doy clik en el boton me realiza la consula, la segunda ya no y la tercera ya la vulve a realizar, en la segunda vez ya no recoge el post de las necesidades que puedo hacer? Alguna recomendacion para solucionarlo?
  #4 (permalink)  
Antiguo 28/05/2009, 12:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

Como tu haces para regresar al formulario le das a boton del navegador de regresar?
  #5 (permalink)  
Antiguo 28/05/2009, 12:43
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

nop en el mismo formulario tengo mi lista menu y mi boton ahi mismo al dar clicl me aparece una tabla donde me muestra la consulta, para volver a realizar la consulta selecciono otravez en la lista menu y doy clic en el boton. Si la lista y el boton los pongo en una pagina y la tabla en otroa si me muestra todas las conusltas , pero necesito que sea en la mism este todo.
  #6 (permalink)  
Antiguo 28/05/2009, 12:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

es que no veo todo el codig podrias postear todo el formulario y tambien el codigo que usas para ver la base de datos?
  #7 (permalink)  
Antiguo 28/05/2009, 12:58
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

ok este es todo el codigo que utilizo:

Cita:
<?php
session_start();
mysql_connect('localhost','root','')or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
mysql_select_db('doc')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
error_reporting(E_ALL);

$anio_consulta=$_SESSION['anio_consulta'];
$anio = $_SESSION['anio'];
$clave = $_SESSION['clave'];
$area=$_SESSION['area'];

?>

<form name="formName" method="post" action="necesidades_consulta.php">

<select name="necesidad">
<option>**SELECCIONA LA NECESIDAD**</option>
<option>EQUIPO DE C&Oacute;MPUTO</option>
<option>EQUIPO DE TRANSPORTE</option>
</select>
<input type="submit" name="buscar" value="Buscar" />

<table width="200" align="center">
<tr>
<th scope="col"><?php

if(isset($_POST['buscar'])){
$query = 'SELECT necesidad, cantidad FROM necesidades WHERE anio=\''.$_SESSION['anio_consulta'].'\' and clave=\''.$_SESSION['clave'].'\' and necesidad= \''.$_POST['necesidad'].'\'';
$checkclave = mysql_query('SELECT necesidad, cantidad FROM necesidades WHERE clave=\''.$_SESSION['clave'].'\'');
$clave_exist = mysql_num_rows($checkclave);

$checkanio_consulta = mysql_query('SELECT necesidad, cantidad FROM necesidades WHERE anio=\''.$_SESSION['anio_consulta'].'\'');
$anio_consultas_exist = mysql_num_rows($checkanio_consulta);

$checknece_consulta = mysql_query('SELECT cantidad FROM necesidades WHERE necesidad= \''.$_POST['necesidad'].'\'');
$nece_consultas_exist = mysql_num_rows($checknece_consulta);

if ($clave_exist>0 && $anio_consultas_exist>0 && $nece_consultas_exist>0) {

$tabla1= mysql_query($query) or die(mysql_error());



echo "<HTML><TABLE Border=10 CellPadding=5 ><TR>";


echo "<th bgcolor=#9966FF>NECESIDAD</th><th bgcolor=#9966FF>CANTIDAD</th></TR>";


while($fila = mysql_fetch_array($tabla1))

{


echo"<tr>";

echo "<td><input type=\"text\" size=\"30\" name=\"necesidad[]\" value=\" $fila[0]\"></br></td>";

echo "<td><input type=\"text\" size=\"3\" name=\"cantidad[]\" value=\"$fila[1]\"></br></td>";

echo"</tr>";


};

}
else
{
echo '<p> No tienes registradas necesidades del año ', $anio_consulta;
}
}
?></th>
</tr>
</table>
  #8 (permalink)  
Antiguo 28/05/2009, 13:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

Me podrias dar la estructura de la base de datos y algunos datos que estan en ella para poder ingresarla en mi base de datos y asi decirte que es lo que pasa exactamente?
  #9 (permalink)  
Antiguo 28/05/2009, 13:27
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

bueno la bd la hice con phpmyadmin pero es mas o menos así


Cita:
id int 3 auto_increment
clave varchar 10;
anio varchar 4;
necesidad varchar 50;
cantidad varchar 5;

los datos que tengo son:

id 1
clave X177
anio 2009
necesidad EQUIPO DE COMPUTO
cantidad 3

id 2
clave X177
anio 2009
necesidad EQUIPO DE TRANSPORTE
cantidad 6

id 3
clave X177
anio 2009
necesidad EQUIPO DE COMPUTO
cantidad 9
  #10 (permalink)  
Antiguo 28/05/2009, 13:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

para avanzar dale un extract en phpmyadmin
  #11 (permalink)  
Antiguo 28/05/2009, 13:38
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

perdona mi ignorancia pero donde se lo pongo? y como osea sin ninguna otra expersion??
  #12 (permalink)  
Antiguo 28/05/2009, 14:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

ahora no te entendi yo a ti jajaja repite la pregunta mejor
  #13 (permalink)  
Antiguo 28/05/2009, 19:11
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

me dijiste que le pusiera extract en phpmyadmin y te preguntaba como lo hacia por que no se, perdon..
  #14 (permalink)  
Antiguo 28/05/2009, 20:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

selecciona la tabla y luego va a ver algo arriba que sale como extract
  #15 (permalink)  
Antiguo 28/05/2009, 21:11
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

ok me salio esto
Cita:
CREATE TABLE IF NOT EXISTS `necesidades` (
`id` int(3) NOT NULL auto_increment,
`clave` varchar(10) default NULL,
`anio` varchar(4) NOT NULL,
`necesidad` varchar(50) NOT NULL,
`cantidad` varchar(5) NOT NULL,
PRIMARY KEY (`id`),
KEY `clave` (`clave`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=217 ;

INSERT INTO `necesidades` (`id`, `clave`, `anio`, `necesidad`, `cantidad`) VALUES
(215, 'X1777', '2009', ' EQUIPO DE CÓMPUTO', '11'),
(216, 'X1777', '2009', ' EQUIPO DE CÓMPUTO', '2'),
(207, 'X1777', '2009', ' EQUIPO DE TRANSPORTE', '10'),
(205, 'X1777', '2009', ' EQUIPO DE TRANSPORTE', '2'),
(206, 'X1777', '2009', ' EQUIPO DE TRANSPORTE', '4');
  #16 (permalink)  
Antiguo 28/05/2009, 22:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

Ok ya esta funcionando correctamente. Tienes un error en la base de datos tuve que crear un codigo para que leyera conforme a lo que tienes en la base de datos. En la base de datos tienes 1 columna que tienen espacio antes de cada frase. Y es la columna de necesidad. Cuando ingreses información asegurate que no tengas un espacio en el campo de necesidad ejemplo

Verifica que el campo que tu insertas información en la que dice necesidad='$necesidad' no tenga un espacio que se muestre necesidad = ' necesidad' esto lo va a insertar en la base de datos y vas a tener problemas. Verifica el codigo que tu usas para insertar informacion.

Bueno aqui te dejo la info. Hice varios cambios lo notaras cuando leas el codigo. Espero que sea esto lo que tu quieres



Código PHP:
<?php
session_start
();
mysql_connect('localhost','root','')or die ('Ha fallado la conexi&oacute;n: '.mysql_error());
mysql_select_db('doc')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

$_SESSION['anio'] = 2009;
$_SESSION['clave'] = "X1777";
?>

<form name="formName" method="POST" action="index.php">
    <select name="necesidad">
        <option>**SELECCIONA LA NECESIDAD**</option>
        <option value="EQUIPO DE CÓMPUTO">EQUIPO DE C&Oacute;MPUTO</option>
        <option value="EQUIPO DE TRANSPORTE">EQUIPO DE TRANSPORTE</option>
    </select>
    <input type="submit" name="buscar" value="Buscar" />
</form>

<table width="200" align="center">
    <tr>
        <th scope="col">
            <?php
                
if(isset($_POST['buscar'])){
                    
$query "SELECT necesidad, cantidad FROM necesidades WHERE anio='".$_SESSION['anio']."' and clave='".$_SESSION['clave']."' and necesidad like '%".$_POST['necesidad']."%'"
                    
$checkclave mysql_query("SELECT necesidad, cantidad FROM necesidades WHERE clave='".$_SESSION['clave']."'");
                    
$clave_exist mysql_num_rows($checkclave);

                    
$checkanio_consulta mysql_query("SELECT necesidad, cantidad FROM necesidades WHERE anio='".$_SESSION['anio']."'");
                    
$anio_consultas_exist mysql_num_rows($checkanio_consulta);

                    
$checknece_consulta mysql_query("SELECT cantidad FROM necesidades WHERE necesidad like '%".$_POST['necesidad']."%'");
                    
$nece_consultas_exist mysql_num_rows($checknece_consulta);

                    if (
$clave_exist>&& $anio_consultas_exist>&& $nece_consultas_exist>0) {
                        
$tabla1mysql_query($query) or die(mysql_error());
                        echo 
"<HTML>
                            <TABLE Border=10 CellPadding=5 >
                                <TR>
                                    <th bgcolor=#9966FF>NECESIDAD</th><th bgcolor=#9966FF>CANTIDAD</th>
                                </TR>"
;

                        while(
$fila mysql_fetch_array($tabla1)){
                            echo 
"<tr>
                                <td><input type='text' size='30' name='necesidad[]' value='{$fila[0]}'></br></td>
                                <td><input type='text' size='3' name='cantidad[]' value='{$fila[1]}'></br></td>
                            </tr>"
;
                        }
                    }
                    else{
                        echo 
'<p> No tienes registradas necesidades del año ' $_SESSION['anio'];
                    }
                }
            
?>
        </th>
    </tr>
</table>
  #17 (permalink)  
Antiguo 28/05/2009, 22:13
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con boton

Si era justo lo que necesita en verdad muchas gracias
  #18 (permalink)  
Antiguo 28/05/2009, 22:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con boton

acuerdate hacer los cambios en la base de datos, borra esos espacios antes de la frase en la columna de necesidad
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 13:16.