Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2011, 06:51
dcm1987
 
Fecha de Ingreso: julio-2011
Mensajes: 12
Antigüedad: 12 años, 9 meses
Puntos: 0
autocomplete <select>

Lo primero de todo, muy buenas tardes a todos.

Soy bastante novato en el diseño de paginas web y quisiera que me intentaran ayudar un poco si no es molestia.

Tengo una tabla en una base de datos rellena con diferentes tipos de proyecto. Cada fila esta compuesta por un id, un numero y un titulo del proyecto.

En el index, tengo un formulario en el que quiero poner un campo <select> para que en la parte de las option value.. se vayan rellenando con los diferentes proyectos de la base de datos.

Yo he hecho esto, pero creo que esta mal...si quieren corregirme por favor, se agradecería.

utilizo para ello el plugin de jquery autocomplete ui.

en el lado del usuario:
<td><select id="buscarproyecto" name="buscarproyecto">
<option value="">seleccione un proyecto</option>
//lo que quiero es que cuando al campo le pongas "a", en el select salga tantos options como proyectos con "a" hayan en la base de datos.
</select>

mi script de autocomplete es asi:
$(function(){
function log( message ) {
$( "<div/>" ).text( message ).prependTo( "#log" );
$( "#log" ).attr( "scrollTop", 0 );
}
$("#buscarproyecto").autocomplete({
source: "buscarproyecto.php",
minLength: 1,
select: function(event, ui){
return ui.item.value+"-"+ui.item.id;
log(ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
});

y finalmente tengo para realizar la busqueda sobre la base de datos esto:
function proyectos_bd($q){
$link=mysql_connect(...);
mysql_select_db(...);
$sql="SELECT pm_id, pm_title, pm_number FROM egw_pm_projects";
echo "<select name='$q'>";
$result=mysql_query($sql,$link);
while($row=mysql_fetch_assoc($result)){
$value = $row["pm_number"].", ".$row["pm_title"];
if (strpos(strtolower($value), $q) !== false) {
$id=$row["pm_id"];
//echo $id."##".$value."\n";
echo "<option select value='$value'>$value";
}
else{
echo "<option value='$value'>$value";
}
}
mysql_close($link);
}


bueno a ver si sacamos algo.
Muchas gracias