Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/09/2016, 08:03
miguelA4
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 1 mes
Puntos: 0
Extraer más datos de la consulta

Hola buenas tardes, estoy haciendo una web de analisis clinicos.

Resulta que he echo un aparatado donde apareceran todos los resultados clinicos. Dicho esto mi idea es que saque los analisis de una base de datos "ya creada" y tenga dos formas de filtrarlos, una por abecedario y la otra con un buscador.

La primera parte para buscar por abecedario ya esta echa, queda tal que así:

CONECTAMOS A LA BD:

Código PHP:
Ver original
  1. <?php
  2.  
  3. // Conectando, seleccionando la base de datos
  4. $link = mysql_connect('oculto', 'oculto', 'oculto')
  5.     or die('No se pudo conectar: ' . mysql_error());
  6.  
  7. mysql_select_db('artde2') or die('No se pudo seleccionar la base de datos');
  8.  
  9.  
  10. ?>

ESTO ESTA EN UN <DIV>

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $letras = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; #Puedes poner las letras que quieras
  5. $parte = str_split($letras);
  6.  
  7. $enlace = preg_replace("#(.*)#", "<a href=\"{$_SERVER['PHP_SELF']}?letra=\\1\">\\1</a>", $parte, 1);
  8. echo $enlaces = implode(" - ", $enlace)."</br>";
  9.  
  10. $tabla = "contenido"; #Nombre de la tabla en tu DB
  11. $campo = "strtitulo"; #Nombre del campo a buscar
  12. $pag = "perfil.php?usuario="; #Pagina a la que redigira con los resultados
  13.  
  14. ?>


ESTO EN OTRO <DIV>

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if(in_array($_GET['letra'], $parte)) {
  5.  if(($dato = buscar_letra($_GET['letra'], $tabla, $campo, $msgerror))==0) echo $msgerror;
  6.  else {
  7.   $resultado = preg_replace("#(.*)#",  "<a href=\"{$pag}\\1\">\\1</a>", $dato, 1);
  8.  
  9.   echo $resultados = implode("</br>\n", $resultado);
  10.  }
  11. } else echo "Selecciona una letra para buscar usuarios que empiecen por esta";
  12.  
  13. function buscar_letra($_letra, $_tabla, $_campo, &$_error) {
  14.  $consulta = mysql_query("select * from contenido where strtitulo regexp '^(".strtoupper($_letra)."|".strtolower($_letra).")(.*)$'");
  15.  if(!mysql_num_rows($consulta)) {
  16.   $_error = "No hay registros que empiecen por {$_letra} en {$_tabla}.{$_campo}";
  17.   return false;
  18.  } else {
  19.   while($leer = mysql_fetch_array($consulta)) $ret[] = $leer[$_campo];
  20.   return $ret;
  21.  }
  22. }
  23.  
  24. ?>


El tema esta en que si me saca los resultados que empiecen por la "letra" "X" que selecciones y lo saca de "strtitulo".

Vale el problema es que necesito que si busque por abecedario en ese campo de la tabla, pero necesito que me saque dos campos más de esa misma tabla, por ejemplo (strcliente y strfecha) pero que la busqueda la haga solo del campo "