Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/10/2013, 02:34
bustamanter
 
Fecha de Ingreso: octubre-2013
Mensajes: 62
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Consulta sql segun criterios

Así queda el archivo después de haberlo modificado:

<?php

mysql_connect("localhost","root","")or die("conexion fallida");
mysql_select_db("curriculums")or die("bd fallida");

$provincia=$_POST['provincia'];
$localidad=$_POST['localidad'];
$nacimiento=$_POST['nacimiento'];
$sexo=$_POST['sexo'];
$estudios=$_POST['estudios'];
$yearlastjob=$_POST['yearlastjob'];

$Sql="SELECT nombre,
apellidos,
provincia,
localidad,
direccion,
email,
telefono,
nacimiento,
sexo,
estudios,
monthlastjob,
yearlastjob,
favorito
FROM curriculums WHERE provincia='$provincia' ";

if(!empty($localidad))
{
$Sql.="AND localidad='$localidad '";
}
if(!empty($nacimiento))
{
$Sql.="AND nacimiento>='$nacimiento '";
}
if($sexo=='Indiferente')
{
$Sql.="AND sexo='$sexo '";
}
$Sql.="AND estudios='$estudios'";
if(!empty($yearlastjob))
{
$Sql.="AND yearlastjob>='$yearlastjob '";
}


echo $Sql."<br />";//Solo sirve de control para ver que se ha construido.

//EXTRAER LOS RESULTADOS DATOS
$consulta=mysql_query($Sql)OR DIE("No se pudo realizar la consulta");
while($dato=mysql_fetch_array($consulta))
{
echo '<td>'.$dato['nombre'].'</td>';
echo '<td>'.$dato['apellidos'].'</td>';
echo '<td>'.$dato['provincia'].'</td>';
echo '<td>'.$dato['localidad'].'</td>';
echo '<td>'.$dato['direccion'].'</td>';
echo '<td>'.$dato['email'].'</td>';
echo '<td>'.$dato['telefono'].'</td>';
echo '<td>'.$dato['nacimiento'].'</td>';
echo '<td>'.$dato['sexo'].'</td>';
echo '<td>'.$dato['estudios'].'</td>';
echo '<td>'.$dato['monthlastjob'].'</td>';
echo '<td>'.$dato['yearlastjob'].'</td>';
echo '<td>'.$dato['favorito'].'</td>';
}

echo '</tr></table>';
?>
que es a lo que me refería en la respuesta anterior, el problema es que no me da ningún resultado, solo se me imprime la variable sql, que es lo que puedo estar haciendo mal?Te mando una copia de todo lo que aparece en la pantalla:
SELECT nombre, apellidos, provincia, localidad, direccion, email, telefono, nacimiento, sexo, estudios, monthlastjob, yearlastjob, favorito FROM curriculums WHERE provincia='La Rioja' AND estudios='Nada'
A mi juzgar está todo bien ya que la consulta sql solo busca los criterios que yo he rellenado, pero a pesar de haber un usuario/fila, que cumple todos los requisitos, no me aparece, que puede estar pasando?Puede haber algún tipo de problema de tipo type input="text"/"number" o si en la tabla es varchar o int?
Por si a caso te mando el archivo sql de la tabla:
-- phpMyAdmin SQL Dump
-- version 4.0.4.1
-- http://www.phpmyadmin.net
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 24-10-2013 a las 10:33:08
-- Versión del servidor: 5.5.32
-- Versión de PHP: 5.4.19

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `curriculums`
--

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

--
-- Estructura de tabla para la tabla `curriculums`
--

CREATE TABLE IF NOT EXISTS `curriculums` (
`iduser` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(20) DEFAULT NULL,
`apellidos` varchar(40) DEFAULT NULL,
`provincia` varchar(20) NOT NULL,
`localidad` varchar(20) NOT NULL,
`direccion` varchar(60) DEFAULT NULL,
`email` varchar(40) DEFAULT NULL,
`telefono` varchar(9) DEFAULT NULL,
`nacimiento` varchar(20) DEFAULT NULL,
`sexo` varchar(6) DEFAULT NULL,
`estudios` varchar(15) NOT NULL,
`monthlastjob` varchar(20) NOT NULL,
`yearlastjob` varchar(2) NOT NULL,
`favorito` varchar(60) DEFAULT NULL,
PRIMARY KEY (`iduser`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Volcado de datos para la tabla `curriculums`
--

INSERT INTO `curriculums` (`iduser`, `nombre`, `apellidos`, `provincia`, `localidad`, `direccion`, `email`, `telefono`, `nacimiento`, `sexo`, `estudios`, `monthlastjob`, `yearlastjob`, `favorito`) VALUES
(2, 'Gonzalo', 'Bustamante Herce', 'La Rioja', 'Logroño', 'Emilia Pardo Bazán,14,1ºA', '[email protected]', '647240546', '18/04/1989', 'hombre', '', 'octubre', '20', 'Programador web');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Y aqui el fichero admin.php tal como está ahora:
<?php
session_start();
if(isset($_SESSION['nombre']))
{
?>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<h2>Inserte sus criterios de búsqueda</h2>
<!--INTRODUCIR CIRTERIOS DE BUSQUEDA-->
<table>
<form action="procesarcriterios.php" method="post">
<tr>
<td><label for="provincia">Provincia:<!--<input type="text" name="provincia" id="provincia">-->
<select name="provincia" id="provincia">
<option value="Albacete">Albacete</option>
<option value="Alicante">Alicante</option>
<option value="Almeria">Almería</option>
<option value="Alava">ÁlaVa</option>
<option value="Asturias">Asturias</option>
<option value="Avila">Ávila</option>
<option value="Badajoz">Badajoz</option>
<option value="Baleares">Baleares</option>
<option value="Barcelona">Barcelona</option>
<option value="Bizkaia">Bizkaia</option>
<option value="Burgos">Burgos</option>
<option value="Caceres">Cáceres</option>
<option value="Cadiz">Cádiz</option>
<option value="Cantabria">Cantabria</option>
<option value="Castellon">Castellón/Castelló</option>
<option value="Ciudadreal">Ciudad Real</option>
<option value="Cordoba">Córdoba</option>
<option value="A Coruña">A Coruña</option>
<option value="Cuenca">Cuenca</option>
<option value="Gipuzcua">Guipuzcua</option>
<option value="Girona">Girona</option>
<option value="Granada">Granada</option>
<option value="Guadalajara">Guadalajara</option>
<option value="Huelva">Huelva</option>
<option value="Huesca">Huesca</option>
<option value="Jaen">Jaén</option>
<option value="Leon">León</option>
<option value="Lleida">Lleida</option>
<option value="Lugo">Lugo</option>
<option value="Madrid">Madrid</option>
<option value="Malaga">Málaga</option>
<option value="Murcia">Murcia</option>
<option value="Navarra">Navarra</option>
<option value="Ourense">Ourense</option>
<option value="Palencia">Palencia</option>
<option value="Palmas">Palmas</option>
<option value="Pontevedra">Pontevedra</option>
<option value="La Rioja">La Rioja</option>
<option value="Salamanca">Salamanca</option>
<option value="Santacruz">Santa cruz de Tenerife</option>
<option value="Segovia">Segovia</option>
<option value="Sevilla">Sevilla</option>
<option value="Soria">Soria</option>
<option value="Tarragona">Tarragona</option>
<option value="Teruel">Teruel</option>
<option value="Toledo">Toledo</option>
<option value="Valencia">Valencia/Válencia</option>
<option value="Valladolid">Valladolid</option>
<option value="Zamora">Zamora</option>
<option value="Zaragoza">Zaragoza</option>
<option value="Ceuta">Ceuta</option>
<option value="Melilla">Melilla</option>
</select></td>
<td><label for="localidad">Localidad:<input type="text" name="localidad" id="localidad"></td></tr><br>
<tr><td><label for="nacimiento">Nacido a partir del año:<input type="varchar" name="nacimiento" id="nacimiento"><br><td></tr>
<tr><td><label for="sexo">Sexo
<select name="sexo" id="sexo">
<option value="indiferente">Indiferente</option>
<option value="hombre">Hombre</option>
<option value="mujer">Mujer</option>
</select></td></tr></br>
<tr><td><label for="estudios">Estudios<select name="estudios" id="estudios">
<option value="Nada">Nada</option>
<option value="ESO">ESO</option>
<option value="FP1">FPI</option>
<option value="FPII">FPII</option>
<option value="Superiores">Superiores</option>
</select></td><tr></br>
<tr><!--<td>Fecha del ultimo trabajo:
<select name="monthlastjob" id="monthlastjob">
<option value="enero">Enero</option>
<option value="febrero">Febrero</option>
<option value="marzo">Marzo</option>
<option value="abril">Abril</option>
<option value="mayo">Mayo</option>
<option value="junio">Junio</option>
<option value="julio">Julio</option>
<option value="agosto">Agosto</option>
<option value="septiembre">Septiembre</option>
<option value="octubre">Octubre</option>
<option value="noviembre">Noviembre</option>
<option value="diciembre">Diciembre</option>
</select></td>-->
<td><label for="yearlastjob">Año del último trabajo:<input type="text" name="yearlastjob" id="yearlastjob"><td></tr><br>
<tr><td><label for="enviar"><input type="submit" value="enviar" id="enviar"></td></tr>
</tr>
</table>
</body>
</html>
<?php
}
else
{
header("Refresh: 5; URL=crearcurriculum.php");
}

?>

Espero no ser muy canso, pero es que esto me corre prisa, es que estoy de practicas de empresa y me gustaría poder dar la talla para que me contraten, muchas gracias por todo, espero tu respuesta lo antes posible, un saludo.