Foros del Web » Programando para Internet » PHP »

autocompletado

Estas en el tema de autocompletado en el foro de PHP en Foros del Web. Hola, estaba comenzando a implementar el autocompletado con jquery... y he tenido problemas al hacer el script de busqueda con el php. En los ejemplos ...
  #1 (permalink)  
Antiguo 07/07/2009, 11:42
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
autocompletado

Hola, estaba comenzando a implementar el autocompletado con jquery... y he tenido problemas al hacer el script de busqueda con el php.

En los ejemplos de las busquedas, los datos estan estaticos y en arrays de esta manera:

Código PHP:
$q strtolower($_GET["q"]);
if (!
$q) return;

$items = array(
"item1"=>"valor1",
"item2"=>"valor2",
"item3"=>"valor3",
"item4"=>"valor4",
"item5"=>"valor5");

foreach (
$items as $key=>$value) {
    if (
strpos(strtolower($key), $q) !== false) {
        echo 
"$key|$value\n";
    }

Y con esto el autocompletado busca el item e imprime el valor. Pero ahora lo quiero hacer con una BD para buscar los nombres del paciente e imprimir el id pero nose como interpretar ese array con el mysql_fetch_array (o con otro comando apropiado). Lo quise hacer asi:

Código PHP:
$sql "select paciente_id, concat(paciente_nombre,' ',paciente_apellidos) as nom_paciente from paciente";
$rs mysql_query($sql,$c) or die( mysql_error()); 

$q strtolower($_GET["q"]);
if (!
$q) return;

while(
$items mysql_fetch_array($rs)){
    
$name $items['nom_paciente'];
    
$id $items['paciente_id'];

    foreach (
$items as $name=>$id) {
        if (
strpos(strtolower($name), $q) !== false) {
            echo 
"$name|$id\n";
        }
    }

Pero el resultado es que el autocompletado me sale 'nom_paciente' y 'paciente_id' repetidas veces ... como podria hacerlo para obtener esa estructura del array de ejemplo?
__________________
Quitenme la vida pero no la bebida.

Última edición por cesarpunk; 07/07/2009 a las 11:47
  #2 (permalink)  
Antiguo 07/07/2009, 11:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: autocompletado


Código php:
Ver original
  1. while($items = mysql_fetch_array($rs)){
  2.     $name = $items['nom_paciente'];
  3.     $id = $items['paciente_id'];
  4.  
  5.     echo "$name|$id\n";
  6. }
  #3 (permalink)  
Antiguo 07/07/2009, 12:01
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: autocompletado

jaja gracias xD
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 07/07/2009, 12:53
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: autocompletado

mmm una ultima pregunta, no entiendo mucho esto del jquery (y no se si preguntarlo en este post) pero en esta accion:

Código PHP:
foreach ($items as $key=>$value) { 
    if (
strpos(strtolower($key), $q) !== false) { 
        echo 
"$key|$value\n"
    } 

creo que el el $value retorna a la pagina principal y se imprime en otro textbox, pero en mi caso:

Código PHP:
$q strtolower($_GET["q"]);
if (!
$q) return;

while(
$items mysql_fetch_array($rs)){
    
$name $items['nom_paciente'];
    
$id $items['paciente_id'];
    if (
strpos(strtolower($name), $q) !== false) {
        echo 
"$name|$id\n";
    }

la variable $id no se imprime o retorna al textbox... tiene que ver algo este script? mi query? o algo de js?
__________________
Quitenme la vida pero no la bebida.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:18.