Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2011, 03:58
charlyta
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
optimizar código

Hola. Actualmente útilizo este script para realizar búsquedas, pero desearía optimizarlo, ya que para implementarlo correctamente debo repetirlo 30 veces!! titulo, autor, editorial, etcc..

os lo pongo y os cuento mejor:

Código PHP:
Ver original
  1. if (!isset($_GET['buscar'])){
  2. $_pagi_sql = "";
  3.  
  4. if (isset ($autor) && !($autor == "")) {
  5. $_pagi_sql .= " autor LIKE '%$autor%'";
  6. }
  7. if (isset ($titulo) && !($titulo == "")) {
  8.   $palabras=explode(" ",$titulo);
  9.   foreach ($palabras as $palabra){
  10.     if (! ($_pagi_sql == "")) {$_pagi_sql .= " AND "; } //tendras que poner esto aquí
  11.     $_pagi_sql .= " titulo LIKE '%$palabra%'";
  12.   }
  13. }


Debería modificar todas las líneas como:

Código PHP:
Ver original
  1. if (isset ($autor) && !($autor == "")) {
  2. $_pagi_sql .= " autor LIKE '%$autor%'";
  3. }

por:

Código PHP:
Ver original
  1. if (isset ($titulo) && !($titulo == "")) {
  2.   $palabras=explode(" ",$titulo);
  3.   foreach ($palabras as $palabra){
  4.     if (! ($_pagi_sql == "")) {$_pagi_sql .= " AND "; } //tendras que poner esto aquí
  5.     $_pagi_sql .= " titulo LIKE '%$palabra%'";
  6.   }
  7. }

con el consiguiente lío para asignar a todas las variables lo mismo una y otra vez y repetirla instrucción constantemente tantísimas veces. Por otro lado desconozco si aplicar en todas las intrucciones esto me daría problemas ya que asignaría siempre:

Código PHP:
Ver original
  1. LIKE '%$palabra%'";