Buenas a todos. Tengo una duda con respecto a la opción de varchar para guardar datos. En estos momentos estoy creando un listado donde el usuario debe escoger su pais y la respectiva provincia por medio de menus desplegables. En el codigo que coloco abajo muestro como lo implemente. En la tabla paises estan el listado completo de paises y un id que permite relacionarlo con una tabla llamada estados. Por ejemplo si afganistan al ser el primer pais tiene un id de 1 este id se puede relacionar con la columna relacion de la tabla estados cuyo id sea igual a 1 para que solo me muestre los estados correspondientes a afganistan y no despegar los demas.
La primera duda que tengo es cuando guardo paises que tienen mas de una palabra (ejemplo american samoa). Cada vez que elijo un pais que tiene un espacio de por medio solo me guarda la palabra american para este ejemplo en concreto. Trate de cambiar la variable varchar por text pensando que eso podia generar el problema pero me dio igual.
La segunda duda que tengo es para realizar la consulta del segundo listado (Es decir la de estados o provincias). Como hago para que al seleccionar un pais cualquiera el valor de id lo guarde una variable? Despues de esto: como se hace la consulta usando tablas cruzadas? Hace rato no hago este tipo de consultas y la verdad lo he olvidado un poco.
De antemano doy gracias por la colaboración prestada.
Código PHP:
include ("inc/usarBD.php");
$consultaPaises="SELECT * FROM paises;";
$hacerConsultaPaises=mysql_query($consultaPaises,$conexion);
$nPaises=mysql_num_rows($hacerConsultaPaises);
if (nPaises>0){
echo("<select name='pais' id='pais'>");
while ($pais= mysql_fetch_array($hacerConsultaPaises,MYSQL_ASSOC)){
echo("<option value=".$pais["pais"].">".$pais["pais"]."</option>");
}
echo ("</select>");
}