Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/05/2013, 01:36
Avatar de the_sheriff_pino
the_sheriff_pino
 
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: error If y else <fácil>

Cita:
Iniciado por pr0 Ver Mensaje
Es lo que te he dicho antes. Estás comprobando si $consulta está vacio y creo que te has liado.

$consulta = mysql_query($sql);

Estás utilizando la variable $consulta para meter el RESULTADO de la la consulta ($sql) por lo tanto me da que no estas utilizando la comprobación correcta.


Código PHP:
Ver original
  1. $sql = ' SELECT * FROM tabla WHERE campo1="'.$_GET['campo1'].' AND campo2="'.$_GET['campo2'].'" AND .... ';
  2.  
  3. if($resultado = mysql_query ($sql) === FALSE){
  4.  
  5.    //Mostramos el botón
  6.  
  7. }else{
  8.  
  9.    //Hacemos lo que queramos con el resultado
  10.  
  11. }
Saludos Pr0!

Hice lo que me pusiste pero tenemos un pequeño error.
El botón aparece, pero lo hace cuando no hay nada escrito en los campos. La idea es que aparezca cuando hay escrito en los campos pero la consulta no obtiene ningún resultado.
Por ejemplo: Si quiero filtrar de una lista a todos los Francisco, pero resulta que no hay ningún Francisco, que me aparezca el botón para crear uno(En crear este botón no hay problema).
La cuestión es el IF.

Tu If comprueba que la consulta tenga valores introducidos, no si devuelve algún resultado.

Te voy a pasar mi código para explicarme mejor.

BÚSQUEDA2.PHP
Código PHP:
<?php
$link 
mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
$bd=mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");
    
session_start();
    
$user        =    $_SESSION['nom_usuario'];
function 
generaClientes()
    {
    
$link         =    mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
    
$bd            =    mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");


    
$nombre        =    isset($_POST['nombre'])        ? $_POST['nombre']        : NULL;
    
$localidad    =    isset($_POST['localidad'])    ? $_POST['localidad']    : NULL;
    
$provincia    =    isset($_POST['provincia'])    ? $_POST['provincia']    : NULL;
    
$cif        =    isset($_POST['cif'])         ? $_POST['cif']         : NULL;
    
$user        =    $_SESSION['nom_usuario'];
    
$sql        =    isset($sql) ? $sql    :    NULL;


if ( !empty (
$nombre) || !empty ($localidad) || !empty ($provincia)|| !empty ($cif) ) {
    
    
$sql" SELECT * FROM lista_clientes as tb1 INNER JOIN usuario_zona as tb2 ON tb1.Zona = tb2.Zona WHERE";              //Empezar a crear la consulta:

    
if ( !empty($nombre) && !empty ($localidad) && !empty ($provincia) && !empty ($cif) ) {            
         
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%' AND tb1.CIF LIKE '%$cif%'" ;   
         }
    
    else if ( !empty(
$nombre) && !empty ($localidad) && !empty ($cif) ) {                   
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%' AND tb1.CIF LIKE '%$cif%'"
    }
    else if ( !empty(
$nombre) && !empty ($cif) && !empty ($provincia) ) {                       
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.CIF LIKE '%$cif%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$nombre) &&  !empty ($provincia) ) {  
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$nombre) &&  !empty ($cif) ) {  
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.CIF LIKE '%$cif%'"
    }
    else if ( !empty(
$nombre) &&  !empty ($localidad) ) {  
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%'"
    }
    else if ( !empty(
$nombre) ) {
     
$sql .= " tb1.Nombre LIKE '%$nombre%'"
    }
    else if ( !empty (
$localidad) && !empty ($provincia) && !empty ($cif) ) {            
     
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%' AND tb1.CIF LIKE '%$cif%'" ;
    }
    else if ( !empty(
$localidad) &&  !empty ($provincia) ) {  
     
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$localidad) &&  !empty ($cif) ) {  
     
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.CIF LIKE '%$cif%'";
    }
    else if ( !empty(
$localidad)) {  
     
$sql .= " tb1.Localidad LIKE '%$localidad%'"
    }
    else if ( !empty(
$cif) &&  !empty ($provincia) ) {  
     
$sql .= " tb1.CIF LIKE '%$cif%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty (
$provincia) ) {  
     
$sql .= " tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$cif) ) {  
     
$sql .= " tb1.CIF LIKE '%$cif%'"
    }
}

           
$sql .= " AND tb2.nom_usuario = '".$user."' ORDER BY Nombre ASC";
        
        if(
$resultado mysql_query($sql) === FALSE)
        {
?> <form action="index.php" name="form2" method="post">
            <input type="submit" name="nuevo" value="Crear Nuevo Cliente" style="border-radius:15px" class="button large orange" />
            </form>

            <?php
        
}
        
        
   
?>       
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<link href="css/form.css" rel="stylesheet">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
    <body> 
    <select name='clientes' size="5px" style="width:80%; font-size:22px;">

    <?php 
        
while($registro=mysql_fetch_assoc($consulta))
            {
?>
            <option value="<?php echo $registro['Nombre']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Localidad']," ",$registro['Provincia'];  ?></option>
    
        <?php 
            
}
        
?>
    
   </select>

    <?php 
        
}
    
?>    



    <br />
    <br />
        <?php generaClientes();
        exit();
        
?>
</body></html>
FILTROD.PHP
Código Javascript:
Ver original
  1. <?php
  2. $link = mysql_connect('localhost', 'root','') or die("Error, no se ha conectado B.D.");
  3. $bd=mysql_select_db('clientes', $link) or die("Error, no se ha seleccionado B.D.");
  4. session_start();
  5. ?>
  6.  
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml">
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  11.    
  12.         <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
  13.         <script type="text/javascript">
  14.             $(document).ready(function()
  15.                 {
  16.                     $("#nombre").keyup(
  17.                         function(event)
  18.                             {                      
  19.                             $("#resultado").load('busqueda2.php',{
  20.                                                                 'nombre'    : $("#nombre").val(),
  21.                                                                 'localidad' : $("#localidad").val(),
  22.                                                                 'provincia' : $("#provincia").val(),
  23.                                                                 'cif'       : $("#cif").val()
  24.                                                                 });
  25.                 }
  26.                             )});
  27.                            
  28.             $(document).ready(function()
  29.                 {
  30.                     $("#localidad").keyup(
  31.                         function(event)
  32.                             {                      
  33.                             $("#resultado").load('busqueda2.php',{
  34.                                                                 'nombre'    : $("#nombre").val(),
  35.                                                                 'localidad' : $("#localidad").val(),
  36.                                                                 'provincia' : $("#provincia").val(),
  37.                                                                 'cif'       : $("#cif").val()
  38.                                                                 });
  39.                 }
  40.                             )});
  41.                            
  42.             $(document).ready(function()
  43.                 {
  44.                     $("#provincia").keyup(
  45.                         function(event)
  46.                             {                      
  47.                             $("#resultado").load('busqueda2.php',{
  48.                                                                 'nombre'    : $("#nombre").val(),
  49.                                                                 'localidad' : $("#localidad").val(),
  50.                                                                 'provincia' : $("#provincia").val(),
  51.                                                                 'cif'       : $("#cif").val()
  52.                                                                 });
  53.                 }
  54.                             )});
  55.                            
  56.             $(document).ready(function()
  57.                 {
  58.                     $("#cif").keyup(
  59.                         function(event)
  60.                             {                      
  61.                             $("#resultado").load('busqueda2.php',{
  62.                                                                 'nombre'    : $("#nombre").val(),
  63.                                                                 'localidad' : $("#localidad").val(),
  64.                                                                 'provincia' : $("#provincia").val(),
  65.                                                                 'cif'       : $("#cif").val()
  66.                                                                 });
  67.                             }
  68.                                 )});               
  69.        
  70.         </script>
  71.         <link href="css/form.css" rel="stylesheet">
  72.     </head>
  73.     <body background="images/bg.png">
  74.     <form name="form" action="filtrod.php" method="post">
  75.     <table>
  76.   <tr>
  77.     <td width="17%"></td>
  78.     <td width="50%"><table cellspacing="20" height="280" width="500" align="left" border="0" style="border-radius:15px" bgcolor="orange" bordercolor="red">
  79.         <tr>
  80.             <td>
  81.     <input type="search" id="nombre" placeholder="Nombre"  style="width:500px; height:40px; text-transform:uppercase;"  class='field text medium'
  82.      autocomplete="off" />
  83.     <br /><br />
  84.     <input type="search" id="localidad" placeholder="Localidad" style="width:500px; height:40px; text-transform:uppercase;" class='field text medium'       autocomplete="off" />
  85.     <br /><br />
  86.     <input type="search" id="provincia" placeholder="Provincia" style="width:500px; height:40px; text-transform:uppercase;" class='field text medium' autocomplete="off" />
  87.     <br /><br />      
  88.      <input type="search" id="cif" placeholder="CIF" width="40" style="width:500px; height:40px; text-transform:uppercase;" class='field text medium' autocomplete="off" />
  89.         </td></tr></table></td>
  90.        
  91.         <td width="10%"></td>
  92.        
  93.        
  94.     <td>
  95.     <input type="reset" name="limpia" style="border-radius:15px" class="button large red" value="Limpiar Datos">
  96.     <br /><br />
  97.  
  98.  
  99.     <input type="submit" name="existe" value="Formulario de Cliente Existente" style="border-radius:15px" class="button large orange" />
  100.     <br /><br />
  101.  
  102.   </tr>
  103. </table>
  104.         <br />
  105. <div align="center"><font face="Calibri" color="#FFFFFF" size="+3">RESULTADOS:</font></div>
  106.         <div id="resultado" align="center" style="vertical-align:middle"></div>
  107.        
  108.        
  109.        
  110.        
  111.        
  112.        
  113.      </form>
  114.      <? exit;?>
  115.     </body>
  116. </html>