Hola,
estoy programando una consulta, en una página web, donde hay un formulario y el usuario escoge las tablas en las que desea buscar, y las restricciones (escoge un campo de cada tabla que cumpla alguna restricción : >, >=, <, >= , que empiece por...que contenga...etc)
Cuando sólo escoge una tabla funciona correctamente, pero al escoger dos tablas, ya me salen errores (si hago la consulta directamente escribiendo yo al sentencia a manom, no hay problema, cunado la hago ya con PHP usando variabes, si...
este es el código:
if ($index2 == "0") { // solo he escogido 1 tabla
if (($ope == 0) || ($ope==1)) {
if ($ope==0) { // empieza por
$result= mysql_query("SELECT * FROM $tabla where $campo LIKE '$valor%'", $link);
}
else { //contiene
$result= mysql_query("SELECT * FROM $tabla where $campo LIKE '%$valor%'", $link);
}
}
else
{
//$result = mysql_query("SELECT * FROM $tabla", $link);
$result= mysql_query("SELECT * FROM $tabla where $campo $operador $valor", $link);
}
}
else { // tengo dos tablas
echo "ESTOY DENTRO<BR>";
if (($ope2 == 0) || ($ope2==1)) {
if ($ope2==0) { // empieza por
$result= mysql_query("SELECT * FROM $tabla2 where $campo2 LIKE '$valor2%' INTERSECT SELECT * FROM $tabla where $campo $operador $valor", $link);
}
else { //contiene
$result= mysql_query("SELECT * FROM $tabla2 where $campo2 LIKE '%$valor2%' INTERSECT SELECT * FROM $tabla where $campo $operador $valor", $link);
}
}
else
$result= mysql_query("SELECT * FROM $tabla INTERSECT $tabla2 WHERE $campo $operador $valor AND $campo2 $operador2 $valor2", $link);
}
// construyo la tabla con los resultados
//$result= mysql_query("SELECT * FROM reparaciones JOIN tecnicos WHERE codproduct = '1' AND grupo = 'M'",$link);
$columnas = mysql_num_fields ($result); //aquíme sale un warning
$nombres = array();
if ($row = mysql_fetch_array($result)){ //si la consulta ha devuelto datos, aquí me da otro WARNING
....
....
mysql_free_result($result); // y otro WARNING
// aquí ya es crear una tabla con los resultados