Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/01/2007, 10:37
sergi_climent
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 20 años, 1 mes
Puntos: 10
Re: Código que no funciona

Hola,
podrias poner un codigo un poko mas claro y no tener q meter tantos IF

no lo he probado pero mas o menos...

Código PHP:
<? 

    $link
=mysql_connect("localhost""usuario""contraseña") or die ("no m'he pogut conectar"); // me     conecto a la base de dades 
    
$llistat_titols=$_POST['text_titol'];  // recullo la variable del titol 
    
$llistat_tipo=$_POST['var_tipologia']; 
    
$llistat_pob=$_POST['var_poblacio']; // recullo la variable del poblacio 
    
$bd=mysql_select_db("molinar",$link) or die ("no puc conectar a la BBDD"); 
    
//Wherehan es la varibale donde montaremos nuesta clausula Where
      
$WHEREHAN='';
    
//Funcion q mirara si se pone un WHERE o se pone un AND
    
function FWhere($w) {
        return (
$w == '') ? ' WHERE ' "$w AND ";
    }
    
//Miramos la variables
     
if ($llistat_titol != ''){
        
$WHEREHAN Fwhere($WHEREHAN) . " general.titol_general LIKE '%$llistat_titols%'"
     }
     if (
$llistat_tipo != ''){
        
$WHEREHAN Fwhere($WHEREHAN) . " general.tipologia_id = '$llistat_tipo'";
     }
     if (
$llistat_tipo != ''){
        
$WHEREHAN =F where($WHEREHAN) . " general_poblacio_link.poblacio_id = '$llistat_pob'";
     }
     
//puedes imprimir la variable a ver si se te ha montado bien o no
     
echo $WHEREHAN;
    
    
$query2 "SELECT DISTINCT general.id_general, general.titol_general, general.URL, general.pes, 
    general.tipologia_id, general_poblacio_link.poblacio_id, general_poblacio_link.general_id 
    FROM general 
    INNER JOIN 
    general_poblacio_link ON general.id_general=general_poblacio_link.general_id 
    $WHEREHAN"

    
//aqui ponemos la varible q quedara montada cuando te pasen los campos
    //hacemos la consulta
     
$result1 mysql_query($query2$link) or die ("Error en: $query2. " mysql_error());
    
//miramos la cantidad de registros
    
$nreg_result1mysql_num_rows($$result1);
            
//si el numero es difernete de 0 entonces mostraremos los resultados
    
if($nreg_result1 != 0){

?> 
      <TABLE border="1" align="center" CELLPADDING=1 CELLSPACING=1 bordercolor="#660000" class="text"> 
        <TR> 
            <TD width="20" class="text">Id</TD> 
          <TD width="200" class="text">Título</TD> 
          <TD width="200" class="text">Bajar archivo</TD> 
          <TD width="20" class="text">Tamaño</TD> 
          
<? 
        
while($row1 mysql_fetch_array($result1)) { 
        
?>
            <tr>
            <td>&nbsp;<?=$row1["id_general"];?></td>
            <td>&nbsp;<?=$row1["titol_general"];?>&nbsp;</td>
            <td>&nbsp;<?=$row1["URL"];?>&nbsp;</td>
            <td>&nbsp;<?=$row1["pes"];?>&nbsp;</td>
            </tr>
        <? 
        
}  //fin While
                   
?></table><?
    
}else{
             
//si el numero es igual a 0 entonces mostraremos el mensaje de q no hay resultados
    
echo "No hi ha resultats";
    }  
    
mysql_free_result($result1); 
    
mysql_close($link); 
    
    
?>
faltarian algunas comprobaciones...

espero q te sirva y si tienes alguna duda aqui estamos

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 11/01/2007 a las 10:48