Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/02/2010, 19:27
jchar7879
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Validar seleccion de combo llenado mysql

Hola infosol te doy una manito con el script y de paso te doy unas recomendaciones.

Código PHP:

<?php

//Declarar parametros 
$dbhost='localhost'
$dbusername='root'
$dbuserpass='angel82'
$dbname='desarrollourbano'

//Es mejor usar la función isset(), para comprobar si la variable existe. 
//En cambio si usamos empty(), lo único que hace PHP es verificar si la variable está vacía; pero puede NO puede existir. 
//NOTA: No es lo mismo vacío a que no exista.
if (isset($_POST['validar'])){    

//Esta función lo que hace es tomar los datos pasados por $_POST o por $_GET, en este caso los datos son pasados por $_POST
//Los vuelve a tomar con el mismo nombre y las llama sin tener que poner $_POST['valor']; entonces las llamamos así $valor
foreach($_POST as $clave => $valor){ $$clave trim($valor); }

//Validamos los datos de los combos

//Creamos una variable para el mensaje de error y la iniciamos vacía, para luego concatenar los errores que se nos presente.
$mensaje_error "";

//Calculamos la cantidad de errores que puede tener el formulario. En este caso son los combos que NO ESTEN VACÍOS
//Los combos son tres, por lo tanto los errores probables son tres y les asignamos el valor false.
$error1 $error2 $error3 false;

//Comprobamos que el combo "giros" no esté vacío, si lo está le asignamos a la variable $error1 el valor true.
//Agregamos en la variable $mensaje_error que error se nos presentó.
if(empty($giros)){ $error1 true$mensaje_error .= "Debe seleccionar una opción del combo \"Giros.\" "; }

//Comprobamos que el combo "vialidades" no esté vacío, si lo está le asignamos a la variable $error2 el valor true.
//Agregamos en la variable $mensaje_error que error se nos presentó.
if(empty($vialidades)){ $error2 true$mensaje_error .= "Debe seleccionar una opción del combo \"Vialidades.\" "; }

//Comprobamos que el combo "suelo" no esté vacío, si lo está le asignamos a la variable $error3 el valor true.
//Agregamos en la variable $mensaje_error que error se nos presentó.
if(empty($suelo)){ $error3 true$mensaje_error .= "Debe seleccionar una opción del combo \"Suelo.\" "; }

//Comprobamos si hay errores, sí los hay vamos a mostrar la variable $mensaje_error con los errores que se nos presentó
if(!($error1 || $error2 || $error3)){ $mensaje_error .= "Por favor compruebe los siguientes ERRORES:<br>"; }

//De los contrario la variable $mensaje_error le cargamos que no hay errores.
else{ $mensaje_error .= "En este formulario NO hay Errores."; }

//Por último mostramos la variable $mensaje_error

echo $mensaje_error;
             
}


   echo 
"<form action=".$_SERVER['PHP_SELF']." method='POST'>"
   
// Conectar a la base de datos 
   
mysql_connect($dbhost,$dbusername,$dbuserpass) or die(mysql_error()); 
   
mysql_select_db($dbname) or die('Error no se puede conectar con la base de datos'); 

   
//Crear tabla 
   
echo "<table >"
     
//crear renglon para giros 
     
echo "<tr>"
        echo 
"<td>"
           echo 
"<label style='width: 80px;'> Giros </label>"
        echo 
"</td>"
        echo 
"<td>"
           echo 
"<select name='giros' style= 'width: 270px' >"
              echo 
"<option value=\"\"></option>"


                 
$result mysql_query("SELECT * FROM Giros order by IdGiro"); 
                 while (
$row mysql_fetch_array($resultMYSQL_ASSOC)) 
                 { 
                    echo 
'<option value="'.$row["IdGiro"].'">'.$row["NombreGiro"].'</option>'
                   } 
                   
mysql_free_result($result); 
               

           echo 
"</select>"
        echo 
"</td>"
     echo 
"</tr>"
     
//Crear renglon para vialidades 
     
echo "<tr>"
        echo 
"<td>"
           echo 
"<label style='width: 80px;'> Vialidades </label>"
        echo 
"</td>"
        echo 
"<td>"
           echo 
"<select name='vialidades' style= 'width: 270px' >"
              echo 
"<option value=\"\"></option>"


                 
$result mysql_query("SELECT * FROM Vialidades order by IdVialidad"); 
                 while (
$row mysql_fetch_array($resultMYSQL_ASSOC)) 
                 { 
                    echo 
'<option value="'.$row["IdVialidad"].'">'.$row["NombreVialidad"].'</option>'
                   } 
                   
mysql_free_result($result); 
               

           echo 
"</select>"
        echo 
"</td>"
     echo 
"</tr>"

     
//Crear renglon para uso de suelo 
     
echo "<tr>"
        echo 
"<td>"
           echo 
"<label style='width: 80px;'> Uso de suelo</label>"
        echo 
"</td>"
        echo 
"<td>"
           echo 
"<select name='suelo' style= 'width: 270px' >"
              echo 
"<option value=\"\"></option>"


                 
$result mysql_query("SELECT * FROM UsoSuelo order by IdUsoSuelo"); 
                 while (
$row mysql_fetch_array($resultMYSQL_ASSOC)) 
                 { 
                    echo 
'<option value="'.$row["IdUsoSuelo"].'">'.$row["NombreUsoSuelo"].'</option>'
                   } 
                   
mysql_free_result($result); 
               

           echo 
"</select>"
        echo 
"</td>"
     echo 
"</tr>"


//Crear renglon para boton validar 
     
echo "<tr>"
        echo 
"<td>"
           echo 
"<label style='width: 80px;'> clic en el boton para validar</label>\n\n\n\n"
        echo 
"</td>"
        echo 
"<td align='right'>"
           echo 
"<input type='submit' name='validar' value='Validar'>"
        echo 
"</td>"
     echo 
"</tr>"
   echo 
"</table>"
   echo 
"</form>\n"

?>
Espero que te sirva.

Saludos.- Charly