Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2010, 12:46
AitorLopez
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
crear y llamar procedimiento almacenado

Hola amigos. Estaba haciendo una consulta para rellenar un select de localidades, con lo que este select debe quedar con 23000 registros aproximadamente, me he dado cuenta de que tardaba mucho en ejecutarse.

Lo he comentado con un amigo, y me ha hablado de procedimientos almacenados, algo que desconocía.

He estado investigando, y, aunque sigo en ello, voy a recurrir a vosotros para ver si puedo resolverlo.

El procedimiento almacenado en mysql lo creo así.

CREATE PROCEDURE `c_localidades`()
BEGIN
SELECT localidad FROM t_localidades;
END;

Esto, de entrada, no se si esta bien.

Y para llamarlo, lo hago así

Código PHP:
Ver original
  1. <select name="localidad" class="formulario2" id="localidad">
  2.                                         <option value="<?php echo primera_mayuscula($rs1['localidad']);?>"><?php echo primera_mayuscula($rs1['localidad']);?></option>
  3.                     <?php
  4.                                             $sql = "CALL c_localidades();";
  5.                                             $loc1 = mysql_query($sql);
  6.                                             while ($loc2 = mysql_fetch_assoc($loc1))
  7.                                             {
  8.                                                 echo '<option>'.$loc2['localidad'].'</option>';
  9.                                             }
  10.                                         ?>
  11.                                     </select>

El caso es que de esta forma no funciona, a ver que me podeis decir al respecto.

Gracias. SAludos.