Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/09/2012, 18:24
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: como meter resultados de consulta en array de esta forma?

hola ocp001a

gracias por contestar tan rapido :o ... :D

Cita:
por lo que necesitas explicar de dónde podrías obtener cada par de valores (lo que sería "Great Bittern"=>"Botaurus stellaris", )
mira esos valores vienen predeterminados en el ejemplo de autocompletar, lo que yo necesito es adaptarlo a mi los tome del resultado de la consulta a la bd, algo como:

Código PHP:
Ver original
  1. $sql="SELECT * FROM organigrama WHERE nombre LIKE '%$term%'";
  2. $resultado = mysql_query($sql) or die('Error en la consulta'.mysql_error());
  3. while ($fila=mysql_fetch_array($resultado, MYSQL_ASSOC)) {  
  4.     $items = array( "$fila['nombre']"=>"$fila['RPE']", );
  5. }

pero obviamente me pone un error de sintaxis y yo se que esta mal, aunque es algo si lo que necesitaría :S

por que despues de establecer el array, el ejemplo trae una funcion donde envia de vuelta esos valores, entonces si no lo adapto a como el ejemplo no lo tomaria bien la funcion esa.

esta es la otra funcion, que la verdad para mis conocimientos en php no dan para meterle mano :S

Código PHP:
Ver original
  1. function array_to_json( $array ){
  2.  
  3.     if( !is_array( $array ) ){
  4.         return false;
  5.     }
  6.  
  7.     $associative = count( array_diff( array_keys($array), array_keys( array_keys( $array )) ));
  8.     if( $associative ){
  9.  
  10.         $construct = array();
  11.         foreach( $array as $key => $value ){
  12.  
  13.             // We first copy each key/value pair into a staging array,
  14.             // formatting each key and value properly as we go.
  15.  
  16.             // Format the key:
  17.             if( is_numeric($key) ){
  18.                 $key = "key_$key";
  19.             }
  20.             $key = "\"".addslashes($key)."\"";
  21.  
  22.             // Format the value:
  23.             if( is_array( $value )){
  24.                 $value = array_to_json( $value );
  25.             } else if( !is_numeric( $value ) || is_string( $value ) ){
  26.                 $value = "\"".addslashes($value)."\"";
  27.             }
  28.  
  29.             // Add to staging array:
  30.             $construct[] = "$key: $value";
  31.         }
  32.  
  33.         // Then we collapse the staging array into the JSON form:
  34.         $result = "{ " . implode( ", ", $construct ) . " }";
  35.  
  36.     } else { // If the array is a vector (not associative):
  37.  
  38.         $construct = array();
  39.         foreach( $array as $value ){
  40.  
  41.             // Format the value:
  42.             if( is_array( $value )){
  43.                 $value = array_to_json( $value );
  44.             } else if( !is_numeric( $value ) || is_string( $value ) ){
  45.                 $value = "'".addslashes($value)."'";
  46.             }
  47.  
  48.             // Add to staging array:
  49.             $construct[] = $value;
  50.         }
  51.  
  52.         // Then we collapse the staging array into the JSON form:
  53.         $result = "[ " . implode( ", ", $construct ) . " ]";
  54.     }
  55.  
  56.     return $result;
  57. }
  58.  
  59. $result = array();
  60. foreach ($items as $key=>$value) {
  61.     if (strpos(strtolower($key), $q) !== false) {
  62.         array_push($result, array("id"=>$value, "label"=>$key, "value" => strip_tags($key)));
  63.     }
  64.     if (count($result) > 11)
  65.         break;
  66. }
  67. echo array_to_json($result);