Foros del Web » Programando para Internet » PHP »

Cómo enviar este formulario con combo desde el boton?

Estas en el tema de Cómo enviar este formulario con combo desde el boton? en el foro de PHP en Foros del Web. No he podido solucionar esto. Pido toda la ayuda posible. Lo he intentado todo. Por favor una orientación Código PHP: <?php  require_once( 'Connections/citasjoya.php' );  ?> ...
  #1 (permalink)  
Antiguo 26/05/2011, 13:02
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Cómo enviar este formulario con combo desde el boton?

No he podido solucionar esto. Pido toda la ayuda posible.

Lo he intentado todo. Por favor una orientación

Código PHP:
<?php require_once('Connections/citasjoya.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

mysql_select_db($database_citasjoya$citasjoya);
$query_rc_tipo "SELECT * FROM tablatipotramites";
$rc_tipo mysql_query($query_rc_tipo$citasjoya) or die(mysql_error());
$row_rc_tipo mysql_fetch_assoc($rc_tipo);
$totalRows_rc_tipo mysql_num_rows($rc_tipo);

$colname_rc_hora "-1";
if (isset(
$_POST['idtramite'])) {
  
$colname_rc_hora $_POST['idtramite'];
 } 
mysql_select_db($database_citasjoya$citasjoya);
$query_rc_fecha "SELECT * FROM tablafechas";
$rc_fecha mysql_query($query_rc_fecha$citasjoya) or die(mysql_error());
$row_rc_fecha mysql_fetch_assoc($rc_fecha);
$totalRows_rc_fecha mysql_num_rows($rc_fecha);

$colname_rc_hora "-1";
if (isset(
$_POST['idfecha'])) {
  
$colname_rc_hora $_POST['idfecha'];
}
mysql_select_db($database_citasjoya$citasjoya);
$query_rc_hora sprintf("SELECT idhora, hora FROM tablahoras WHERE idfecha = %s"GetSQLValueString($colname_rc_hora"int"));
$rc_hora mysql_query($query_rc_hora$citasjoya) or die(mysql_error());
$row_rc_hora mysql_fetch_assoc($rc_hora);
$totalRows_rc_hora mysql_num_rows($rc_hora);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sitio para  solicitud de tablacitas</title><link rel="shortcut icon" href="favicon.ico" />
<link type="text/css" rel="stylesheet" href="css/joya.css" />
</head>

<body>
<div align="center">
  <table width="1024" border="0">
    <tr>
      <td width="507"><a href="index.php" target="_self"><img src="images/logo_joya.png" width="249" height="70" alt="Joya Pabón" /></a></td>
      <td width="507">&nbsp;</td>
    </tr>
    <tr>
      <td align="left" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
    </tr>
    <tr>
      <td align="left" valign="middle"><p class="textogrande">Hola , <br />
      Saca tu cita!</p>
      <p class="textomediano">Selecciona la fecha y tablahoras en que quieres visitarnos.</p>
      <p class="textomediano">Para nosotros, eres lo mas importante.</p></td>
      <td align="center" valign="middle"><div align="center"><form id="form1" name="form1" method="post" action="">
        <table width="60" border="0">
        <table width="194" border="0">
                <tr>
                  <td class="etiquetas">Fecha</td>
                  <td><select name="idfecha" class="campos" id="idfecha" onchange="submit()">
                    <option value="" <?php if (!(strcmp(""$_POST['idfecha']))) {echo "selected=\"selected\"";} ?>>Fecha</option>
                    <?php
do {  
?>
                    <option value="<?php echo $row_rc_fecha['idfecha']?>"<?php if (!(strcmp($row_rc_fecha['idfecha'], $_POST['idfecha']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rc_fecha['fecha']?></option>
                    <?php
} while ($row_rc_fecha mysql_fetch_assoc($rc_fecha));
  
$rows mysql_num_rows($rc_fecha);
  if(
$rows 0) {
      
mysql_data_seek($rc_fecha0);
      
$row_rc_fecha mysql_fetch_assoc($rc_fecha);
  }
?>
                  </select></td>
                </tr>
                <tr>
                  <td class="etiquetas">Hora</td>
                  <td><select name="idhora" class="campos" id="idhora">
                    <option value="" <?php if (!(strcmp(""$_POST['idhora']))) {echo "selected=\"selected\"";} ?>>Hora</option>
                    <?php
do {  
?>
                    <option value="<?php echo $row_rc_hora['idhora']?>"<?php if (!(strcmp($row_rc_hora['idhora'], $_POST['idhora']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rc_hora['hora']?></option>
                    <?php
} while ($row_rc_hora mysql_fetch_assoc($rc_hora));
  
$rows mysql_num_rows($rc_hora);
  if(
$rows 0) {
      
mysql_data_seek($rc_hora0);
      
$row_rc_hora mysql_fetch_assoc($rc_hora);
  }
?>
                  </select></td>
                </tr>
                <tr>
                  <td class="etiquetas">&nbsp;</td>
                  <td><input type="submit" name="enviar" id="enviar" value="Enviar" /> 
                </tr>
          </table>
          <tr>
            <input type="hidden" name="MM_insert" value="form1" />
          </form>
      </td>
    </tr>
    <tr>
      <td align="left" valign="middle">&nbsp;</td>
      <td align="center" valign="middle">&nbsp;</td>
    </tr>
    <tr>
      <td height="219" colspan="2" align="center" valign="bottom"><a href="#" target="_blank" class="texto"></a> - <a href="http://www.isawebs.net" target="_blank" class="texto">Dise&ntilde;o y programaci&oacute;n <img src="images/logotrans.png" width="55" height="35" alt="isawebs.net" /></a></td>
    </tr>
  </table>
</div>
<tr>
  <td height="230" colspan="2" align="center" valign="bottom">&nbsp;</td>
    </tr>
</body>
</html>
<?php
mysql_free_result
($rc_fecha);

mysql_free_result($rc_hora);

mysql_free_result($rc_tipo);
?>
  #2 (permalink)  
Antiguo 26/05/2011, 13:22
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

Hola! oye cual es el problema que tienes en concreto?

si te explicas un poquitin mejor con gusto se te ayuda,

lo mejor sería que envíes los datos a otra pagina la cual los almacene en tu base de datos, para ello debes agregar un action al formulario.

venga explica mas y yo con gusto te echo una mano
__________________
www.elias.com.sv
  #3 (permalink)  
Antiguo 26/05/2011, 13:24
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Gracias:

Los selectores o listas fucionan bien, pero no he podido hacer que se envie el formulario. Porque si le quito el "onchange="submit()" a la lista, deja de funcionar la lista dinámica es decir, el juego........ y si le meto el codigo de dreamweaver para enviar formulario pues funciona menos, porque lo que hace es que cuando selecciono la segunla lista de menú , se envia el formulario antes de presionar el botón.

Cómo puedo enviar este formulario despues de la segunda lista presionando el botón?
  #4 (permalink)  
Antiguo 26/05/2011, 13:35
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Si asi como esta el codigo arriba, le pongo en el action una pagina para que se envie, al tocar la lista del combo , hace que se envíe el formulario.

Yo necesito que las listas las pueda clickear loas veces que quiera y luego con el botón. no me importa si se envia desde la misma pagina o desde otra.
  #5 (permalink)  
Antiguo 26/05/2011, 13:35
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

ok realicemos un aprueba:

agrega un action al formulario en la linea: 84
que quede así
<form id="form1" name="form1" method="post" action="guardar_citas.php">

luego create una pagina llamada guardar_citas.php en la misma carpeta donde está tu pagina con el formulario.

y pegas este codigo en esa nueva pagina (guardar_citas.php):

<?php
echo $_POST['idfecha'];
echo "</br>";
echo $_POST['idhora'];
?>

para ver que envíe los valores, si esto resulta entonces crearemos el codigo para almacenar en la base de datos
__________________
www.elias.com.sv
  #6 (permalink)  
Antiguo 26/05/2011, 13:36
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Si asi como esta el codigo arriba, le pongo en el action una pagina para que se envie, al tocar la lista del combo , hace que se envíe el formulario.

Yo necesito que las listas las pueda clickear las veces que quiera y luego con el botón enviar la información, no me importa si se envia desde la misma pagina o desde otra como sea.........
  #7 (permalink)  
Antiguo 26/05/2011, 13:38
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

tu linea actualmente esta asi:

<form id="form1" name="form1" method="post" action="">

y quedará asi:

<form id="form1" name="form1" method="post" action="guardar_citas.php">
__________________
www.elias.com.sv
  #8 (permalink)  
Antiguo 26/05/2011, 13:39
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Claro eso ya lo he probado. El resultado es que seleccionas una de las listas menu...y el formulario inmediatamente se "envia" sin dejar seleccionar nada.
  #9 (permalink)  
Antiguo 26/05/2011, 13:40
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

ok tons aré unas pruebas y en cuanto funcione te aviso te parece?
__________________
www.elias.com.sv
  #10 (permalink)  
Antiguo 26/05/2011, 13:42
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Mira yo te agradezco mucho. Estoy hace 2 dias enteros de 20 horas en esto y ya no doy mas..estoy en el 98% de mi proyecto....mil gracias.
  #11 (permalink)  
Antiguo 26/05/2011, 14:25
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

En efecto al seleccionar un elemento de la lista se envía, pero es exactamente lo que le estas pidiendo a tu select box en el codigo onchange="Submit()" esto le dice a php "oye cuando este select cambie has el submit, vale! "

solo aclarando lo que quieres lograr con estos dos select:

El primero debe mostrarte las fechas disponibles en la base de datos?

y el segundo te mostrará solo las horas disponibles especificas para la fecha que seleccionaste en el primer select?
__________________
www.elias.com.sv
  #12 (permalink)  
Antiguo 26/05/2011, 14:29
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Si, el primero muestra tres fechas, por ahora dices España, no se que, no se me mas (para pruebas), cuando elijo España, en el de abajo carga una información (son una serie de horas para cita). Cuando un usuario ya ha hecho clic en ambos, AHORA SI PUEDE DAR CLICK AL BOTON ENVIAR para que se envie cuando uno quiera.

Ahora, lo que dices es cierto el tal onchange submit es el prblemita, pero si lo quito, las listas NO ME VAN A FUNCIONAR y fue la unica manera de que funcionaran.

Que dices?
  #13 (permalink)  
Antiguo 26/05/2011, 14:35
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

vale! estoy recreando una situacion similar, en cuanto termine te lo paso
__________________
www.elias.com.sv
  #14 (permalink)  
Antiguo 26/05/2011, 14:37
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

obviamente cada seleccion del primero, llama a otros datos en la segunda lista (dependiendo del primero)......ok.
  #15 (permalink)  
Antiguo 26/05/2011, 14:57
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Como dato adicional te digo: En inyernet hay cosas con javscript y ajax para la lista dinamica, y TODAS usan el dichoso onchange=submit().

Y nada de eso me ha funcionado.
  #16 (permalink)  
Antiguo 26/05/2011, 15:11
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

claro pero estamos bien con php, ya termine casi termino el codigo y creo que funciona
__________________
www.elias.com.sv
  #17 (permalink)  
Antiguo 26/05/2011, 15:11
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

dios te oiga!
  #18 (permalink)  
Antiguo 26/05/2011, 15:19
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

listo!
remplaza los primeros valores del codigo por los de tu coneccion a la base de datos:

Código PHP:
Ver original
  1. <?php
  2. $servidor  ="localhost";
  3. $usuario   ="aca_el_usuario";
  4. $clave     ="aca_el_password";
  5. $basedatos ="aca_tu_base_de_datos";
  6.  
  7. if (!empty($_POST['enviado'])){
  8.  
  9. echo "Datos enviados del formulario:<br>";
  10. echo "Id de la Fecha: ".$_POST['id_fechas']."<br>";
  11. echo "Id de la hora: ".$_POST['id_horas'];
  12.  
  13. } else {
  14.  
  15.    $conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
  16.    mysql_select_db($basedatos, $conexion) or die(mysql_error());
  17.  
  18.    $id_fechas=$_POST['id_fechas'];
  19.  
  20.    echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
  21.  
  22.    echo "<select name=\"id_fechas\" onChange=\"this.form.submit()\">\n";
  23.    echo "<option value=\"\"> Seleccione una fecha </option>\n";
  24.  
  25.    $SQLconsulta_fechas="SELECT * FROM tablafechas";
  26.    $consulta_fechas = mysql_query($SQLconsulta_fechas,$conexion) or die(mysql_error());
  27.  
  28.    While   ($registro_fechas=mysql_fetch_assoc($consulta_fechas)){
  29.  
  30.       if ($id_fechas == $registro_fechas['idfecha']){
  31.          echo "<option value=\"".$registro_fechas['idfecha']."\" selected>".$registro_fechas['fecha']."</option>\n";
  32.       } else {
  33.          echo "<option value=\"".$registro_fechas['idfecha']."\">".$registro_fechas['fecha']."</option>\n";
  34.       }
  35.     }
  36.    echo "</select>\n\n";
  37.  
  38.    mysql_free_result($consulta_fechas);
  39.  
  40.    echo "<select name=\"id_horas\">\n";
  41.  
  42.    if (!empty($id_fechas)){
  43.  
  44.        $SQLconsulta_horas="SELECT * FROM tablahoras WHERE idfecha='$id_fechas'";
  45.        $consulta_horas = mysql_query($SQLconsulta_horas,$conexion) or die(mysql_error());
  46.  
  47.        if (mysql_num_rows($consulta_horas) != 0){
  48.           While   ($registro_horas=mysql_fetch_assoc($consulta_horas)){
  49.             echo "<option value=\"".$registro_horas['idhora']."\">".$registro_horas['hora']."</option>\n";
  50.           }
  51.         } else {
  52.             echo "<option value=\"\">No hay horas para esta fecha</option>";
  53.         }
  54.     } else {
  55.         echo "<option value=\"\"> <-- Selecciona una fecha  </option>";
  56.     }
  57.  
  58.     mysql_free_result($consulta_horas);
  59.  
  60.     echo "</select>\n\n";
  61.     echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
  62.     echo "</form>\n";
  63. } ?>
__________________
www.elias.com.sv
  #19 (permalink)  
Antiguo 26/05/2011, 15:20
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Dame un momento para probar y cometarte...
  #20 (permalink)  
Antiguo 26/05/2011, 15:20
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

Aclaro que esta es la esencia de lo que quieres lograr, ahora implementarlo sera tu trabajo
pero puedes preguntarme todo lo que quieras
__________________
www.elias.com.sv
  #21 (permalink)  
Antiguo 26/05/2011, 15:24
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Me funciona perfectamente. Yo te agradezco en el alma. Ya te puse karma.

Voy a resover otras cosillas que depronto necesitaré por el formato de tu codigo y estaré preguntando en el foro o algo, pero esto es o que mas me tenia preocupado.

Mil gracias.
  #22 (permalink)  
Antiguo 26/05/2011, 15:28
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Cómo enviar este formulario con combo desde el boton?

desde luego si necesitas mas ayuda no dudes en preguntarme este es mi correo:
[email protected] y recuerda que la mejor forma de agradecer la ayuda de los demás es ayudando a otros, como una cadena de fabores, bye
__________________
www.elias.com.sv
  #23 (permalink)  
Antiguo 26/05/2011, 15:30
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: Cómo enviar este formulario con combo desde el boton?

Ni lo digas, el otro dia me estuve por skype con una chica principiante y casi me gané el cielo! Gracias a ti.

Etiquetas: combo, formulario, botones
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:39.