Foros del Web » Programando para Internet » PHP »

Formulario Condicional (como lo guardo)?

Estas en el tema de Formulario Condicional (como lo guardo)? en el foro de PHP en Foros del Web. Hola que tal, antes que nada gracias por leer este post, les cuento, he estado trabajado en un formulario por medio de php y phpmyadmin ...
  #1 (permalink)  
Antiguo 18/07/2014, 15:47
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 10 años, 4 meses
Puntos: 0
Formulario Condicional (como lo guardo)?

Hola que tal, antes que nada gracias por leer este post, les cuento, he estado trabajado en un formulario por medio de php y phpmyadmin donde el usuario manda un reporte y la base lo toma y luego se lo muestra al administrador de la pagina, tuve muchos problemas para terminar el formulario puesto que se requirio de colocar un formulario condicional dentro de el y jamas habia hecho algo asi, entonces tuve que ver demasiados archivos y tutoriales pero al final lo consegui, mi duda ahora es...

como meto a la base los datos?
los de los demas registros si se, pero de esta seccion condinal como lo haria?

por condicional me refiero a varios selects que se activan dependiendo de la respuesta de otros... les dejo mi codigo y espero y me puedan ayudar...

Código PHP:
<?php
include("./Funciones/Funciones.php"); 
$con conecta(); 
$sql "SELECT * FROM fallos";
$res mysql_query($sql$con); 
$num mysql_num_rows($res); 
 
 
$rs mysql_query("SELECT MAX(id) AS id FROM fallos");
if (
$row mysql_fetch_row($rs)) {
$id trim($row[0]);
}
 
?>
 
 
<script>
    function validar(){
        var empresa = document.formularioFallo.empresa.value;
        var nombre = document.formularioFallo.nombre.value;
        var correo = document.formularioFallo.correo.value;
        var ubicacion = document.formularioFallo.ubicacion.value;
        var tipo_fallo = document.formularioFallo.tipo_fallo.value;
        var observaciones = document.formularioFallo.observaciones.value;
        if(empresa == "" || nombre == "" || correo == "" || ubicacion == "" || tipo_fallo == "" || observaciones == ""){
            alert("Faltan campos obligatorios!");
        }
        else{
            alert("Formulario llenado correctamente.");
 
            document.formularioFallo.submit();
        }
        
 
 
        alert ("Tu numero de reporte es el siguiente: \n\n" +'<?php echo $id ?>' + "\n\nEl Reporte fue pasado al Ingeniero \n Orlando Rizo \n Su numero de Extension es:\n2476") 
    }
 
</script>
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>----Reporte de fallos----</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<script src="maxheight.js" type="text/javascript"></script>
<script src="Funciones/js/jquery-1.2.6.min.js" type="text/javascript"></script>
 
<script language="javascript">
$(document).ready(function(){
    // Parametros para e combo1
   $("#combo1").change(function () {
        $("#combo1 option:selected").each(function () {
            //alert($(this).val());
                elegido=$(this).val();
                $.post("selects/combo1.php", { elegido: elegido }, function(data){
                $("#combo2").html(data);
                $("#combo3").html("");
            });         
        });
   })
    // Parametros para el combo2
    $("#combo2").change(function () {
        $("#combo2 option:selected").each(function () {
            //alert($(this).val());
                elegido=$(this).val();
                $.post("selects/combo2.php", { elegido: elegido }, function(data){
                $("#combo3").html(data);
            });         
        });
   })
});
</script>
</head>
 
<body id="index" onload="new ElementMaxHeight();">
    <div id="header_tall">
        <div id="main">
            <!--header -->
            <div id="header">
                <div class="h_logo">
                        <div class="left">
                        <img alt="" src="images/hemac.jpg" /><br />
                    </div>
                    <div class="right">
                        <a href="#">RSS</a>             </div>
                    <div class="clear"></div>
                </div>
                
                <div class="content">
                    <img alt="" src="images/header_t1.jpg" /><br />
                    <img alt="" src="images/header_t2.jpg" /><br />
                    <div class="text">
                        <FONT SIZE=6>Reporte de fallos</font>
                        <br />
                    </div>
                    <div class="clear"></div>
                </div>
            </div>
            <!--header end-->
            
 
                <div class="usuario">
                    
                    <form name="formularioFallo" id="formularioFallo" method="POST"  enctype="multipart/form-data"  action="fallo.php">                             
                        <table width="80%" border="0" align="center" cellpadding="1" cellspacing="20" bordercolor="#CCCCCC" >
                        
                            <tr>
                                <td>Empresa</td>
                                <td><select name="empresa">
                                    <?php
                                    
include("./Funciones/Funciones.php"); 
                                    
$con conecta(); 
      
                                    
$sql "SELECT * FROM empresa";
                                    
$res mysql_query($sql$con); 
                                    
$num mysql_num_rows($res); 
 
                                    
?>  
                                    <?php
                                    
for($i=0;$i<$num;$i++){ 
                                    
$id mysql_result($res$i"id") + 1
                                    
$nombre mysql_result($res$i"nombre"); 
                                    echo 
"<option value=\"$id\">$nombre</option>";
                                        } 
                                        
?></td>
                            </tr>
                            <tr>
                                <td>Nombre</td>
                                <td><input type="text" name="nombre" id="nombre" size="40"></td>
                            
                            </tr>
 
                            <tr>
                                <td>Correo </td>
                                <td><input type="text" name="correo" id="correo" size="40"></td>
                                
                            </tr>
                            <tr>
                                <td>Ubicacion</td>
                                    <?php
                                    
include("./Funciones/Funciones.php"); 
                                    
$con conecta(); 
      
                                    
$sql "SELECT * FROM ubicacion";
                                    
$res mysql_query($sql$con); 
                                    
$num mysql_num_rows($res); 
                                    
?>
 
                                <td><select name="ubicacion">
                                    <?php
                                    
for($i=0;$i<$num;$i++){ 
                                    
$id mysql_result($res$i"id"); 
                                    
$nombre mysql_result($res$i"nombre"); 
                                    echo 
"<option value=\"$id\">$nombre</option>";
                                        } 
                                        
?></td>
                                        
                            </tr>
                            <tr>
                                <td>Tipo de falla</td>
                                <?php
                                
include("./Funciones/Funciones.php");
                                
$con conecta();
 
                                
$sql "SELECT * FROM tipo_fallo";
                                
$res mysql_query($sql,$con);
                                
$num mysql_num_rows($res);
                                
?>
                                <td><select name="combo1" id="combo1" > 
                                <option value="op1_1">Incidente</option>
                                <option value="op1_2">Requerimiento</option> 
                                </select>
                                <select name="combo2" id="combo2">  
                                </select><select name="combo3" id="combo3"> 
                                </select></td>
                            </td>
                            </tr>
                            <tr>
                                <td>Observaciones</td>
                                <td><textarea cols="50" rows="5" name="observaciones"></textarea>  </td>
                                
                            </tr>
                            <tr>
                            <td></td>
                                <td><input type="submit" value="Enviar" id="btnEnviar" onClick="validar(); return false;"/></td>
                            </tr>
                        </table>
                    </form>
                </div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
            <!--footer -->
            <div id="footer">
                <div class="indent">
                    &copy;2014 Hemac Teleinformatica S.A de C.V &bull; <a href="index-6.html">Aviso de Privacidad</a>               </div>
                    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; todos los derechos reservados David Parlow</br>
            </div>
 
            <!--footer end-->
        </div>
    </div>
</body>
</html>
  #2 (permalink)  
Antiguo 19/07/2014, 11:35
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: Formulario Condicional (como lo guardo)?

Supongo que la base de datos tendrá la misma estructura para cada caso, bien puedes hacer que los input/select se llamen igual independientemente de la condición.

Ó a la hora de procesar los datos, al recoger los valores compruebas antes si a obtenido los datos de la opción 1 a con la opción 2, por ponerte un ejemplo.
Código PHP:
$NombreCampo = (isset($_POST['combo1']) &&($_POST['combo1'] != ''))?$_POST['combo1']:NULL;
$NombreCampo = ($NombreCampo!= NULL)?$_POST['combo2']:NULL;

$Consulta 'INSERT INTO NombreTabla (Nombrecampo1) VALUES ('$NombreCampo')'
O puedes ir creando la consulta según los datos recibidos de la misma manera.
Código PHP:
$Consulta 'INSERT INTO NombreTabla (Nombrecampo1)) ';
if(isset(
$_POST['combo1']) &&($_POST['combo1'] != ''){
$Consulta .= ' '$_POST['combo1'];
} else {
$Consulta .= ' '$_POST['combo2'];

Eso ya depende de como quieras plantearlo.

Pero vamos que depende de como tengas montada la base de datos, el tipo de valores que le quieras pasar y que se le muestra al administrador.

Por cierto, estas repitiendo include("./Funciones/Funciones.php"); $con = conecta(); varias veces, cuando con llamarlo al principio te sirve, ya que siempre va tener el mismo valor.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #3 (permalink)  
Antiguo 19/07/2014, 15:20
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Formulario Condicional (como lo guardo)?

tienes tambien otra opción... siempre recuperar toda la informacion del formulario, y si pro algún motivo algo viene vació lo rellenas de 0 y a la hora de que se lo muestras al administrador si hay algún campo con 0 no le muestras nada
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #4 (permalink)  
Antiguo 21/07/2014, 08:33
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario Condicional (como lo guardo)?

No se si sea fundamental, pero se me olvido colocar el codigo de cada combo

Combo1:

Código PHP:
Ver original
  1. <?php
  2. $rpta="";
  3. if ($_POST["elegido"]=="op1_1") {
  4.     $rpta= '
  5.     <option value="op2_1">Software</option>
  6.     <option value="op2_2">Hardware</option>
  7.     <option value="op2_3">Internet</option>
  8.     '; 
  9. }
  10. if ($_POST["elegido"]=="op1_2") {
  11.     $rpta= '
  12.     <option value="op4_1">Instalacion</option>
  13.     <option value="op4_2">Reubicacion</option>
  14.     <option value="op4_3">Cambio</option>
  15.     '; 
  16. }
  17. if ($_POST["elegido"]=="op1_3") {
  18.     $rpta= '
  19.     <option value="op2_1">Option</option>
  20.     <option value="op2_2">Option</option>
  21.     '; 
  22. }
  23. echo $rpta;
  24. ?>

Combo 2:

Código PHP:
Ver original
  1. <?php
  2. $rpta="";
  3. if ($_POST["elegido"]=="op2_1") {
  4.     $rpta= '
  5.     <option value="op3_1">Office</option>
  6.     <option value="op3_2">Adobe</option>
  7.     <option value="op3_3">Windows</option>
  8.     <option value="op3_4">Virus</option>
  9.     '; 
  10. }
  11. if ($_POST["elegido"]=="op2_2") {
  12.     $rpta= '
  13.     <option value="op3_1">Laptop</option>
  14.     <option value="op3_2">Monitor</option>
  15.     <option value="op3_3">Mouse</option>
  16.     <option value="op3_3">Teclado</option>
  17.     <option value="op3_3">Impresora</option>
  18.     <option value="op3_3">CPU</option>
  19.     '; 
  20. }
  21.  
  22. if ($_POST["elegido"]=="op2_3"){
  23.     $rpta= '
  24.     <option value="op3_1">Internet</option>
  25.     ';
  26. }
  27.  
  28. if ($_POST["elegido"]=="op4_1"){
  29.     $rpta= '
  30.     <option value="op3_1">Antivirus</option>
  31.     <option value="op3_1">Office</option>
  32.     <option value="op3_1">Adobe</option>
  33.     <option value="op3_1">Windows</option>
  34.     ';
  35. }
  36.  
  37. if ($_POST["elegido"]=="op4_2"){
  38.     $rpta= '
  39.     <option value="op3_1">Equipo</option>
  40.     <option value="op3_1">Impresora</option>
  41.     <option value="op3_1">Nodo</option>
  42.    
  43.     ';
  44. }
  45.  
  46. if ($_POST["elegido"]=="op4_3"){
  47.     $rpta= '
  48.     <option value="op3_1">Equipo de computo</option>
  49.     ';
  50. }
  51. echo $rpta;
  52. ?>

aparte, mencionabas que como esta estructurada mi base de datos, debo de decir que antes mi base de datos en esa parte del multiselect, era solo un select donde habia cuatro opciones "red, hardware, software y otra que no recuerdo", entonces se iban a la base de datos como la de "empresa" y la de "ubicacion" es decir se pasaban mediante "int" a la base y esta los asignaba a cada tabla

adjunto tambien mi archivo donde tomaba las bases "el de antes"

Código PHP:
Ver original
  1. <?php
  2. include("./Funciones/Funciones.php");
  3. $con = conecta ();
  4.  
  5. $empresa=$_POST['empresa'];
  6. $nombre=$_POST['nombre'];
  7. $correo=$_POST['correo'];
  8. $ubicacion=$_POST['ubicacion'];
  9. $tipo_fallo=$_POST['tipo_fallo'];
  10. $observaciones=$_POST['observaciones'];
  11.  
  12. $sql="INSERT INTO fallos VALUES (0,'$empresa','$nombre','$correo',$ubicacion,'$tipo_fallo','$observaciones',1)";
  13. mysql_query($sql,$con);
  14.  
  15.  
  16. $header = 'From: ' . $correo ."\r\n";
  17. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  18. $header .= "Mime-Version: 1.0 \r\n";
  19. $header .= "Content-Type: text/plain";
  20.  
  21. $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  22. $mensaje .= "Su e-mail es: " . $correo . " \r\n";
  23. $mensaje .="estas son las observaciones".$_POST['observaciones'] . " \r\n";
  24. $mensaje .= "Enviado el " . date('d/m/Y', time());
  25.  
  26. $para = '[email protected]';
  27. $asunto = '-';
  28.  
  29. mail($para, $asunto, utf8_decode($mensaje), $header);
  30.  
  31.  
  32.  
  33. header("Location: reporte_fallos.php");
  34.  
  35. ?>

entonces... ya no se como enviar a la base el codigo que me pasaste

Código PHP:
Ver original
  1. $NombreCampo = (isset($_POST['combo1']) &&($_POST['combo1'] != ''))?$_POST['combo1']:NULL;
  2. $NombreCampo = ($NombreCampo!= NULL)?$_POST['combo2']:NULL;
  3.  
  4. $Consulta = 'INSERT INTO NombreTabla (Nombrecampo1) VALUES ('$NombreCampo')':

por que ya no se si funciona con mi archivo de la base anterior donde ("tipo_fallo") era un entero, adjunto las fotos de como estaba estructurado antes



con esta nueva implementacion del select condicional, modifique la tabla de "tipo_fallo" donde antes estaban los campos de "id" y "nombre" donde recibia la "id" que se habia mandado en el formulario segun el "nombre" de fallo.

Ahora no se si este bien lo que hice de mi tabla tener los campos de "id", "select1", "select2", y "select3", espero y puedan ayudarme
  #5 (permalink)  
Antiguo 21/07/2014, 11:18
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: Formulario Condicional (como lo guardo)?

Buenas acabo de hacer una prueba con lo que as puesto. Prueba
De las 2 opciones que te saldrán en el resultado, ¿cual es la que mas se adaptaría a lo que quieres?.

Nota: Por cierto fíjate que el valor de los Combo 2 siempre tienes puesto op3_1, eso tendrías que modificarlo.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #6 (permalink)  
Antiguo 21/07/2014, 11:43
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: Formulario Condicional (como lo guardo)?

Cita:
Iniciado por davidparlow Ver Mensaje
No se si sea fundamental, pero se me olvido colocar el codigo de cada combo

Combo1:

Código PHP:
Ver original
  1. <?php
  2. $rpta="";
  3. if ($_POST["elegido"]=="op1_1") {
  4.     $rpta= '
  5.    <option value="op2_1">Software</option>
  6.    <option value="op2_2">Hardware</option>
  7.    <option value="op2_3">Internet</option>
  8.    ';    
  9. }
  10. if ($_POST["elegido"]=="op1_2") {
  11.     $rpta= '
  12.    <option value="op4_1">Instalacion</option>
  13.    <option value="op4_2">Reubicacion</option>
  14.    <option value="op4_3">Cambio</option>
  15.    ';    
  16. }
  17. if ($_POST["elegido"]=="op1_3") {
  18.     $rpta= '
  19.    <option value="op2_1">Option</option>
  20.    <option value="op2_2">Option</option>
  21.    ';    
  22. }
  23. echo $rpta;    
  24. ?>

Combo 2:

Código PHP:
Ver original
  1. <?php
  2. $rpta="";
  3. if ($_POST["elegido"]=="op2_1") {
  4.     $rpta= '
  5.    <option value="op3_1">Office</option>
  6.    <option value="op3_2">Adobe</option>
  7.    <option value="op3_3">Windows</option>
  8.    <option value="op3_4">Virus</option>
  9.    ';    
  10. }
  11. if ($_POST["elegido"]=="op2_2") {
  12.     $rpta= '
  13.    <option value="op3_1">Laptop</option>
  14.    <option value="op3_2">Monitor</option>
  15.    <option value="op3_3">Mouse</option>
  16.    <option value="op3_3">Teclado</option>
  17.    <option value="op3_3">Impresora</option>
  18.    <option value="op3_3">CPU</option>
  19.    ';    
  20. }
  21.  
  22. if ($_POST["elegido"]=="op2_3"){
  23.     $rpta= '
  24.    <option value="op3_1">Internet</option>
  25.    ';
  26. }
  27.  
  28. if ($_POST["elegido"]=="op4_1"){
  29.     $rpta= '
  30.    <option value="op3_1">Antivirus</option>
  31.    <option value="op3_1">Office</option>
  32.    <option value="op3_1">Adobe</option>
  33.    <option value="op3_1">Windows</option>
  34.    ';
  35. }
  36.  
  37. if ($_POST["elegido"]=="op4_2"){
  38.     $rpta= '
  39.    <option value="op3_1">Equipo</option>
  40.    <option value="op3_1">Impresora</option>
  41.    <option value="op3_1">Nodo</option>
  42.    
  43.    ';
  44. }
  45.  
  46. if ($_POST["elegido"]=="op4_3"){
  47.     $rpta= '
  48.    <option value="op3_1">Equipo de computo</option>
  49.    ';
  50. }
  51. echo $rpta;    
  52. ?>

aparte, mencionabas que como esta estructurada mi base de datos, debo de decir que antes mi base de datos en esa parte del multiselect, era solo un select donde habia cuatro opciones "red, hardware, software y otra que no recuerdo", entonces se iban a la base de datos como la de "empresa" y la de "ubicacion" es decir se pasaban mediante "int" a la base y esta los asignaba a cada tabla

adjunto tambien mi archivo donde tomaba las bases "el de antes"

Código PHP:
Ver original
  1. <?php
  2. include("./Funciones/Funciones.php");
  3. $con = conecta ();
  4.  
  5. $empresa=$_POST['empresa'];
  6. $nombre=$_POST['nombre'];
  7. $correo=$_POST['correo'];
  8. $ubicacion=$_POST['ubicacion'];
  9. $tipo_fallo=$_POST['tipo_fallo'];
  10. $observaciones=$_POST['observaciones'];
  11.  
  12. $sql="INSERT INTO fallos VALUES (0,'$empresa','$nombre','$correo',$ubicacion,'$tipo_fallo','$observaciones',1)";
  13. mysql_query($sql,$con);
  14.  
  15.  
  16. $header = 'From: ' . $correo ."\r\n";
  17. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  18. $header .= "Mime-Version: 1.0 \r\n";
  19. $header .= "Content-Type: text/plain";
  20.  
  21. $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  22. $mensaje .= "Su e-mail es: " . $correo . " \r\n";
  23. $mensaje .="estas son las observaciones".$_POST['observaciones'] . " \r\n";
  24. $mensaje .= "Enviado el " . date('d/m/Y', time());
  25.  
  26. $para = '[email protected]';
  27. $asunto = '-';
  28.  
  29. mail($para, $asunto, utf8_decode($mensaje), $header);
  30.  
  31.  
  32.  
  33. header("Location: reporte_fallos.php");
  34.  
  35. ?>

entonces... ya no se como enviar a la base el codigo que me pasaste

Código PHP:
Ver original
  1. $NombreCampo = (isset($_POST['combo1']) &&($_POST['combo1'] != ''))?$_POST['combo1']:NULL;
  2. $NombreCampo = ($NombreCampo!= NULL)?$_POST['combo2']:NULL;
  3.  
  4. $Consulta = 'INSERT INTO NombreTabla (Nombrecampo1) VALUES ('$NombreCampo')':

por que ya no se si funciona con mi archivo de la base anterior donde ("tipo_fallo") era un entero, adjunto las fotos de como estaba estructurado antes



con esta nueva implementacion del select condicional, modifique la tabla de "tipo_fallo" donde antes estaban los campos de "id" y "nombre" donde recibia la "id" que se habia mandado en el formulario segun el "nombre" de fallo.

Ahora no se si este bien lo que hice de mi tabla tener los campos de "id", "select1", "select2", y "select3", espero y puedan ayudarme
creo que el compañero ya te resolvio el problema, solo decir que aun que tus images a modo de ilustracion estan muy bien, seria recomendable que evites mostrar datos sensibles o de terceros, como nombre, apellidos, email etc...
esto es un lugar publico, tenlo encuenta.
  #7 (permalink)  
Antiguo 21/07/2014, 12:30
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario Condicional (como lo guardo)?

Exactamente lo que hiciste en tu prueba, es lo que necesito, como logro guardar los campos en la base de datos?

asi como tu los muestras es la opcion perfecta para desplegarla al usuario, pero el problema en si, es los datos que el usuario selecciono en un principio, como los puedo mandar a la base de datos, que tablas tengo que tener y que campos deben de llevar?
  #8 (permalink)  
Antiguo 21/07/2014, 12:32
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario Condicional (como lo guardo)?

no te preocupes, los datos que use, fueron nombres y apellidos aleatorios, esas personas no existen o al menos no se si en verdad asi se llamen, solo imagine un nombre, por asi decirlo... ammm, david... imagine un apellido... ruiz y otro... ammm... salas.. entonces ya los junte, david ruiz salas... y el correo es totalmente inventado.

todo esto solo fue para hacer pruebas y llenar los campos

y aun no es solucionado el tema :(
  #9 (permalink)  
Antiguo 21/07/2014, 13:04
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: Formulario Condicional (como lo guardo)?

Bueno como no me as dicho cual de las 2 soluciones es la que quieres te comento las 2.

Lo primero de todo en la base de datos en vez de usar el tipo INT para los campos donde quieras almacenar el select lo tendrías que poner con varchar.

Y ahora las opciones:
Para la primera, simplemente e hecho, como si de cualquier formulario se tratase.
Código PHP:
$Combo1 $_POST['combo1'];
$Combo2 $_POST['combo2'];
$Combo3 $_POST['combo3']; 
Y para la segunda habría que añadir un par de cosas en la página del formulario.
Esto en la zona de JavaScript:
Código HTML:
	$('select').change(function () {
		var Campo1 = $("#combo1 option:selected").text();
		var Campo2 = $("#combo2 option:selected").text();
		var Campo3 = $("#combo3 option:selected").text();
		var Resultado = '{"Combo_1":"'+Campo1+'","Combo_2":"'+Campo2+'","Combo_3":"'+Campo3+'"}';
		$("input[name=Resumen]").val(Resultado);
	})   
Esto en el formulario:
Código HTML:
<input type="hidden" name="Resumen" value=""> 
Y esto en el archivo que recibe los datos del formulario:
Código PHP:
$Resumen json_decode($_POST['Resumen']); 
Y ahora para guardarlo en la base de datos para la solución 1 sería:
Código PHP:
$Consulta "INSERT INTO NombreTabla (Nombrecampo1, Nombrecampo2, Nombrecampo3) VALUES ('$Combo1','$Combo2','$Combo3' )"
Y para la solución 2:
Código PHP:
$Consulta "INSERT INTO NombreTabla (Nombrecampo1, Nombrecampo2, Nombrecampo3) VALUES ('$Resumen->Combo_1','$Resumen->Combo_2','$Resumen->Combo_3' )"
Acuérdate que tienes que cambiar NombreTabla y Nombrecampo, por los nombres que tengas en tu tabla de la base de datos, y adaptar el código a lo que necesitas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #10 (permalink)  
Antiguo 21/07/2014, 13:30
 
Fecha de Ingreso: julio-2014
Mensajes: 22
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario Condicional (como lo guardo)?

es que no vi cuales opciones dices, pero cale tu "prueba" y asi es como me gustaria, creo que en base a eso hiciste todo esto que mencionaste, tengo que implementarlos!, muchisimas gracias, ahora, con lo que respecta a las tablas... veo que manejas una tabla especial para guardar los registros del combobox, entonces mi tabla principal quedaria asi?

id || empresa || nombre || correo || ubicacion || tipo_fallo || observaciones || status


id int
empresa int
nombre varchar
correo varchar
ubicacion int
tipo_fallo int (esta es el campo que ira ligado a la tabla que sera para el combobox)
observaciones text
status int

asi seria?
  #11 (permalink)  
Antiguo 21/07/2014, 13:36
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: Formulario Condicional (como lo guardo)?

Yo te e puesto los valores en una tabla separada por si quieres meter varias incidencias.

Si lo quieres meter solo en tipo_fallo lo conviertes a varchar y le metes los datos obtenidos en $_POST['Resumen'] directamente sin tocarlos, y después en lo que vera el administrador meterías
$Resumen = json_decode($Registro['tipo_fallo']); y con echo $Resumen->Combo_1 se los muestras a tu antojo.

Por eso te comentaba que hay varias maneras de hacerlo.

PD: Era para que eligieras entre el resultado por el valor o el del texto, de ahí las 2 opciones.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Etiquetas: condicional, formulario, html, mysql, registro, select, sql
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 21:54.