Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2006, 02:12
Avatar de kennyhp
kennyhp
 
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 10 meses
Puntos: 5
Dudas en una consulta

Hola,
tengo una consulta de SQL que no termina de darme los resultados deseados, a ver si me podeís hechar una mano para que esto funcione

Imaginad que tengo en la base de datos en la tabla articulos dos registros:

Dani
Dani Cordoba

Lo tengo montado para que si la busqueda solo da un resultado lo muestra directo, si da mas de un resultado muestra el listado de resultados y si no da resultado da la posibilidad de insertar el termino.
En el ejemplo de ahora si pongo dani, me aparecen los dos terminos y si pongo dani cordoba me aparece directo la descripcion para dani cordoba, hasta aquí todo perfecto es justo lo que quiero.
El problema que tengo es que ahora si pongo como parametro de busqueda cordoba me muestra el resultado de Dani Cordoba directo. Me gustaria que diese la opción de añadir cordoba a la base de datos y que ademas me dijese algo asi como resultados relacionados: Dani cordoba
... no se si me he explicado del todo bien, podeis ver funcionando el ejemplo de lo que quiero en www.edificacionesglobal.com/dani/anait/wiki
Si en la busqueda no poneis nada salen todos los articulos insertados y podeis ver el funcionamiento que os explico. (para poder insertar y editar, por si quereis probarlo para verlo teneis que ir a www.edificacionesglobal.com/dani/anait/foro y loguearos con user: prueba pass: prueba )

El código que tengo para las busquedas es:

Código PHP:
$palabra=isset($_POST['palabra'])? trim ($_POST['palabra']): $_GET['palabra'];

    if (
$HTTP_SERVER_VARS[REQUEST_METHOD] == "POST"//compruebo de dd llega la variable

    
$res=mysql_query("SELECT * FROM wiki WHERE titulo LIKE '%".$palabra."%'"); 

    else
    {
    
$res=mysql_query("SELECT * FROM wiki WHERE titulo='$palabra'");
    }
    
//esto muestra los resultados

    
if (mysql_num_rows($res)>0)
    {
       
$num_res=mysql_num_rows($res);
       if (
$num_res==1)
       {
             while (
$row mysql_fetch_array($res))
          {
          if(!
$pun_user['is_guest'])
          {
          
$titulo=$row['titulo'];
          echo 
"<a href=\"portada.php?accion=editar&termino=$titulo\">Editar</a><br>";
          }
          else
          echo 
'Para poder editar has de ser un usuario registrado<br><br>';
            
          echo 
$row['titulo'];
          echo 
"<br>";
          echo 
$row['articulo'];
          }
       }
                  else
        {
           echo 
'Se han encontrado los siguientes resultados:';
           echo 
"<br>";
           while (
$row mysql_fetch_array($res))
           {
                                 
$titulo$row[titulo];

               echo 
"<a href=\"portada.php?accion=ver&palabra=$titulo\">$titulo</a>";

               echo 
"<br>"

           }

         }
    } 

    else 
    {

      echo 
"No hay resultados para $palabra, comprueba que este bien escrito.<br>";

      if(
$pun_user['is_guest'])

      echo 
"Puedes colaborar e insertar el termino, pero para ello tienes que estar registrado y logueado";

      else

      echo 
"Si lo deseas puedes colaborar <a href=\"portada.php?accion=anadir&termino=$palabra\">insertando</a> el termino";



    } 

    } 
Un saludo,