Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

duda acerca de varchar y busqueda en tablas

Estas en el tema de duda acerca de varchar y busqueda en tablas en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 05/07/2011, 17:52
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 5 meses
Puntos: 181
Pregunta duda acerca de varchar y busqueda en tablas

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 (
$paismysql_fetch_array($hacerConsultaPaises,MYSQL_ASSOC)){
echo(
"<option value=".$pais["pais"].">".$pais["pais"]."</option>");
}
echo (
"</select>");

  #2 (permalink)  
Antiguo 05/07/2011, 20:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: duda acerca de varchar y busqueda en tablas

El problema de almacenar un texto compuesto de varias palabras no tiene relación con el tipo de columna. Tiene relación con la aplicación que usas y el lenguaje con el que programas.
Pero el problema de programación no se trata en este foro, porque acá el tema es MySQL, no PHP o cualquier otra cosa.
Pregunta por ese problema en el foro de PHP. Allí están los expertos en el problema.

Por lo demás, los nombres de los países se almacenan en columnas VARCHAR, los ID en INT UNSIGNED, y las consultas cruzadas se hacen con INNER JOIN/LEFT JOIN/RIGHT JOIN, dependiendo de lo que se necesite, y la descripción de cómo se hace puede llevarnos varios posts muy largos. Te conviene tomar un manual y empezar por lo básico.
Entendiendo los Mysql JOIN
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 05/07/2011, 22:03
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 5 meses
Puntos: 181
Respuesta: duda acerca de varchar y busqueda en tablas

Gracias por esa primera aproximación. Lo de inner join lo tengo un poco olvidado porque hace mucho no lo utilizo pero creo que al leerlo podre recordarlo facilmente. Lo del pais que me sale incompleto aun me queda la duda así que mandare la duda al foro de php, pero si alguien que lee este foro tiene una luz de lo que podria estar pasando se agradece mucho la colaboración. Cualquier avance que tenga en el tema ya lo estare comentando aquí mismo.

Etiquetas: países, tablascruzadas, varchar
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 06:21.