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

Consulta en base a formulario HTML

Estas en el tema de Consulta en base a formulario HTML en el foro de Mysql en Foros del Web. Hola estoy comenzando con MySQL y tenia que entregar ayer un trabajo que no pude ser. Debo mostrar los resultados en pantalla haciendo la consulta ...
  #1 (permalink)  
Antiguo 13/01/2010, 06:45
 
Fecha de Ingreso: julio-2009
Mensajes: 163
Antigüedad: 14 años, 9 meses
Puntos: 2
Consulta en base a formulario HTML

Hola estoy comenzando con MySQL y tenia que entregar ayer un trabajo que no pude ser.
Debo mostrar los resultados en pantalla haciendo la consulta sql de este formulario :

<form id="busqueda" name="busqueda" method="post" action="formIndex.php">


<label>
<input type="radio" name="tipodealojamiento" value="Casa Rurales" />
</label>
<span class="Textobusqueda">
<label> Casa completa</label>
<br />
<label>
<input type="radio" name="tipodealojamiento" value="Habitaciones" />
Casa/hab/noche</label>
<br />
<label>
<input type="radio" name="tipodealojamiento" value="Hoteles Rurales" />
Hotes rurales</label>
</span>

<label></label>
</p>
<p>
<label><span class="Textobusqueda">Paises
<select name="pais">
<option value="1">Espa&ntilde;a</option>
<option value="2">Francia</option>
<option value="3">Portugal</option>

</select>
</span></label>
</p>
<p>
<span class="Textobusqueda">
<label>
<input type="radio" name="Precio" value="25" />
Menos de 30€</label>
<br />
<label>
<input type="radio" name="Precio" value=" 60" />
De 30€ y 60€</label>
<br />
<label>
<input type="radio" name="Precio" value="40 />
De 60€ a 100€</label>
<br />
<label>
<input type="radio" name="Precio" value="25" />

Tengo un fichero que recibe y muestra los resultados asi

echo $_POST['tipodealojamiento'];
echo $_POST['Precio'];
echo $_POST['pais'];


Tabla alojamiento tiene estos campos : IdAlojamiento Nombre Precio IdProvincia IdTipo

De esta necesito mostrar Precio y IdTipo que serian radio buton "tipodealojamiento" "precio"

Luego mostrar de la tabla pais , pais que se relaciona con la tabla provincia pero no con alojamiento


El problema es que no veo como asociar la consulta sql, si se anima alguien y me pasa como hacerlo desde ya gracias.
  #2 (permalink)  
Antiguo 13/01/2010, 07:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta en base a formulario HTML

Tu problema no es de Bases de datos. Entonces, el problema de qué hagas con el conjunto de registros obtenidos no tiene nada que ver con la base de datos, sino con la programación de PHP/HTML, por lo que nada tiene que ver con este foro.
Postea tu duda en el Foro de PHP o el de HTML, que es donde te lo podrán resolver. En este, por reglas del foro no se debe poner código de programación (ver: Función de la sección de Base de Datos, segundo párrafo final).

En cualquier caso, si no pones en el Foro de PHP o el de HTML estás perdiendo la oportunidad de que te ayuden los expertos en el tema...

El problema principal de poner código de programación (para que se entienda que no es un capricho), es porque para quienes trabajamos con bases de datos es igual a ver un texto "sucio". Los códigos no SQL esconden los problemas. En medio de tanto HTML no se ven las sentencias y valores que tienen que ver con la base de datos.
Además, para eso hay foros específicos...
__________________
¿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 13/01/2010, 07:57
 
Fecha de Ingreso: julio-2009
Mensajes: 163
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Consulta en base a formulario HTML

Vale , pero es que necesito implementar "creo" unos LEFT JOIN para sacar los textos de la BD pero al no tener vinculada la tabla alojamiento con pais , no se como hacerlo , si que luego debo consultar como mostrar en pantalla los resultado del formulario con los datos de la BD . hasta el profe que tengo se lio con esto y me escribio unas lineas de LEFT JOIN pero no se entiende nada en el papel y luego como mostrarlo , en fin ya buscare la forma , gracias por la aclaración.
  #4 (permalink)  
Antiguo 13/01/2010, 08:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta en base a formulario HTML

Todo lo relacionado a la base se contesta aquí, pero en tu post no pones nada que tenga SQL o la descripción completa de las tablas.
Postea la estructura de las tablas (los CREATE TABLE) y la/s consultas que hayas hecho para tratar de resolverlo. Entonces veremos.
No pongas HTML ni PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/01/2010, 08:23
 
Fecha de Ingreso: julio-2009
Mensajes: 163
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Consulta en base a formulario HTML

OK la estructura de las tablas son estas:

Base de datos: `proyecto`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `alojaniento`
--

CREATE TABLE IF NOT EXISTS `alojaniento` (
`IdAlojamiento` int(11) NOT NULL AUTO_INCREMENT,
`Nombre` varchar(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
`Precio` int(11) NOT NULL,
`IdProvincia` int(20) NOT NULL,
`IdTipo` int(11) NOT NULL,
PRIMARY KEY (`IdAlojamiento`),
KEY `IdTipo` (`IdTipo`),
KEY `IdProvincia` (`IdProvincia`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Volcar la base de datos para la tabla `alojaniento`
--

INSERT INTO `alojaniento` (`IdAlojamiento`, `Nombre`, `Precio`, `IdProvincia`, `IdTipo`) VALUES
(2, 'Benearum', 60, 2, 2),
(3, 'Sierra Huma', 25, 1, 1),
(4, 'HACIENDA SIERRA DEL POZO ', 40, 1, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `pais`
--

CREATE TABLE IF NOT EXISTS `pais` (
`IdPais` int(11) NOT NULL AUTO_INCREMENT,
`Nombre` varchar(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`IdPais`),
KEY `Nombre` (`Nombre`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Volcar la base de datos para la tabla `pais`
--

INSERT INTO `pais` (`IdPais`, `Nombre`) VALUES
(5, 'Argentina'),
(1, 'Espa'),
(2, 'Francia'),
(3, 'Portugal'),
(4, 'Uruguay');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `provincia`
--

CREATE TABLE IF NOT EXISTS `provincia` (
`IdProvincia` int(11) NOT NULL,
`Nombre` varchar(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
`IdPais` int(11) NOT NULL,
PRIMARY KEY (`IdProvincia`),
KEY `IdPais` (`IdPais`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `provincia`
--

INSERT INTO `provincia` (`IdProvincia`, `Nombre`, `IdPais`) VALUES
(1, 'Andaluc', 1),
(2, 'Canarias', 1),
(3, 'Madrid', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tipodealojamiento`
--

CREATE TABLE IF NOT EXISTS `tipodealojamiento` (
`IdTipodeAlojamiento` int(11) NOT NULL,
`Nombre` varchar(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`IdTipodeAlojamiento`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `tipodealojamiento`
--

INSERT INTO `tipodealojamiento` (`IdTipodeAlojamiento`, `Nombre`) VALUES
(1, 'Casas Rurales'),
(2, 'Hoteles Rurales'),
(3, 'Habitaciones');

--
-- Filtros para las tablas descargadas (dump)
--

--
-- Filtros para la tabla `alojaniento`
--
ALTER TABLE `alojaniento`
ADD CONSTRAINT `alojaniento_ibfk_3` FOREIGN KEY (`IdProvincia`) REFERENCES `provincia` (`IdProvincia`),
ADD CONSTRAINT `alojaniento_ibfk_4` FOREIGN KEY (`IdTipo`) REFERENCES `tipodealojamiento` (`IdTipodeAlojamiento`);

--
-- Filtros para la tabla `provincia`
--
ALTER TABLE `provincia`
ADD CONSTRAINT `provincia_ibfk_1` FOREIGN KEY (`IdPais`) REFERENCES `pais` (`IdPais`);


Y lo que quiero es generar una consulta sql para tomar texto de TABLE alojaniento "Campo Precio . De la tabla `pais` Campo "Nombre" y de la tabla `tipodealojamiento`Campo "Nombre" .
El tema es que esta relacionada la tabla principal "alojaniento " con tipodealojamiento , pero no con país ya que esta ultima esta relacionada con Provincia. Espero este bien planteado lo que quiero gracias por tu ayuda
  #6 (permalink)  
Antiguo 13/01/2010, 13:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta en base a formulario HTML

Bueno, En tu ejemplo, esto:
Código MySQL:
Ver original
  1.   IdAlojamiento,
  2.   A.Nombre NombreAlojamiento,
  3.   P.Nombre Provincia,
  4.   PA.NOMBRE Pais,
  5.   Precio
  6. FROM alojaniento A
  7.   INNER JOIN PROVINCIA p USING (IDPROVINCIA)
  8.   INNER JOIN PAIS PA USING(IDPAIS)
  9. ORDER BY NombreAlojamiento;
Te daría:
Código MySQL:
Ver original
  1. +---------------+---------------------------+-----------+------+--------+
  2. | IdAlojamiento | NombreAlojamiento         | Provincia | Pais | Precio |
  3. +---------------+---------------------------+-----------+------+--------+
  4. |             2 | Benearum                  | Canarias  | Espa |     60 |
  5. |             4 | HACIENDA SIERRA DEL POZO  | Andaluc   | Espa |     40 |
  6. |             3 | Sierra Huma               | Andaluc   | Espa |     25 |
  7. +---------------+---------------------------+-----------+------+--------+
  8. 3 rows in set (0.03 sec)
¿Sirve?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 13/01/2010, 13:36
 
Fecha de Ingreso: julio-2009
Mensajes: 163
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Consulta en base a formulario HTML

Bueno antes que nada muchas gracias por tu tiempo .
Modifique algunas letras para que esten tal cual ya que es alojaniento ,pero igual me sale error
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alojaniento, P.Nombre provincia, PA.Nombre pais, Precio FROM alojaniento A I' at line 1.

De todas formas debo aprender mucho y no me complico más con este caso , ya llegara el momento y sabre solucionarlo , fijate que no dimos esa clausula (creo asi se llama) INNER JOIN, muchas gracias gnzsoloyo

Etiquetas: html, formulario
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:09.