Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2008, 02:03
Avatar de scout_vlc
scout_vlc
 
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 10 meses
Puntos: 0
Consulta De Varias Tablas Con Php

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