Foros del Web » Programando para Internet » PHP »

buscador php

Estas en el tema de buscador php en el foro de PHP en Foros del Web. Hola a todos. Soy un estudiante de biología al que le surgió la idea de hacer un herbario virtual libre y gratuito para todo el ...
  #1 (permalink)  
Antiguo 14/01/2016, 10:39
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
buscador php

Hola a todos. Soy un estudiante de biología al que le surgió la idea de hacer un herbario virtual libre y gratuito para todo el mundo. Sé poco y nada de programación, y a la hora de hacer un buscador, evidentemente tuve problemas, pero al final, he dado con un buscador ya diseñado que funciona, solo que hay un problema que me gustaría solucionar:

Las especies vegetales tienen nombres compuestos de dos palabras, por ejemplo

Asplenium trichomanes

Asplenium adiantum-nigrum

¿Cuál es el problema? que al tipear "asplenium trichomanes" solo me salga el resultado "Asplenium trichomanes", pero el buscador me tira todos los resultados que contengan "Asplenium".

No sé exactamente qué parte del código tengo que modificar para solucionar esto, así que si alguien es tan amable de explicármelo, se lo agradecería. ¡un saludo!
  #2 (permalink)  
Antiguo 14/01/2016, 10:45
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: buscador php

Pues nos vendría bien que pegaras el código que realiza la función de buscar, para que te podamos ayudar.
Por cierto, por qué no usas un cms ya establecido? WordPress por ejemplo?
  #3 (permalink)  
Antiguo 14/01/2016, 11:24
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: buscador php

ok, creo que es este:

(function() {
window.onload = function() {
var self = null;
var Jsearch = function() {
self = this;
this.version = 5;
this.automatically = true;
this.items = [];
this.itemsFound = [];
this.see = 10;
this.getParameters = function() {
var str = document.URL.split("?").pop();
var obj = {};
str.replace(/([^=&]+)=([^&]*)/g, function(m, key, value) {
obj[decodeURIComponent(key)] = decodeURIComponent(value);
});
return obj;
};
this.parameters = this.getParameters();
this.init = function() {
$('#loading').show();
$('#js-search').submit(function(event) {
var validate = $('#js-input').val();
if (validate === "" || self.parameters.js === validate) {
event.preventDefault();
}
});

$(".pull-right").click(function() {
$('body').animate({scrollTop: 0}, 'slow');
});

$('#js-input').val(this.parameters.js.replace("+", " "));
function getHTTPObject() {
if (typeof XMLHttpRequest !== 'undefined') {
return new XMLHttpRequest();
}
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
return false;
}
var url = null;
if (this.automatically) {
url = "js/databasefolder.js?v=" + (new Date()).getTime();
} else {
url = "js/database.js?v=" + (new Date()).getTime();
}

var http = getHTTPObject();
http.open("GET", url, true);
http.onreadystatechange = function() {
if (http.readyState === 4) {
self.items = JSON.parse(http.responseText);
self.search();
}
};
http.send(null);
};
this.search = function() {
if (self.items.length > 0) {
var string = this.parameters;
var matchString = string.js;
var words = matchString.split("+");
for (var i in words) {
for (var k in self.items) {
if (self.items[k].title !== null && self.items[k].description !== null && self.items[k].description !== null && self.items[k].claves !== null)
if (self.items[k].title.toLowerCase().match(words[i].toLowerCase()) ||
self.items[k].description.toLowerCase().match(words[i].toLowerCase()) ||
self.items[k].claves.toLowerCase().match(words[i].toLowerCase())) {
self.itemsFound.push(self.items[k]);
}
}

if (i == (words.length - 1)) {
if (self.itemsFound.length > 0) {
self.appendElements();
} else {
$('#js-alert-info .alert-info').html('No se ha encontrado coincidencias');
$('#js-alert-info').removeClass('js-display-none');
$('#loading').hide();
}
}
}
} else {
console.log('No existen registros en la base de datos');
}
};
this.appendElements = function() {
var page = this.parameters.page;
var from = this.see * (page - 1);
var to = (this.see * (page) - 1);
var elements = this.pagination(from, to);
for (var i in elements) {
if (elements[i]) {
$.item = ('\
<div class="js-item">\
<div><a href="' + elements[i].link + '">' + elements[i].title + '</a></div>\
<div class="linkGreen">' + elements[i].link + '</div>\
<div>' + elements[i].description + '</div>\
</div>\
');

$('#js-items-found').append($.item);
}
}

var prev = (parseInt(page) - 1);
var next = (parseInt(page) + 1);
var total = Math.ceil(this.itemsFound.length / this.see);
$.pagination = '';
if (page <= total && page > 0) {
if (next <= total) {
if (page == 1) {
$.pagination = ('\
<li class="disabled"><a>&laquo;</a></li>\
<li><a href="search.html?js=' + self.parameters.js + '&page=' + next + '">&raquo;</a></li>\
');
} else {
$.pagination = ('\
<li><a href="search.html?js=' + self.parameters.js + '&page=' + prev + '">&laquo;</a></li>\
<li><a href="search.html?js=' + self.parameters.js + '&page=' + next + '">&raquo;</a></li>\
');
}
} else {
if (page == 1) {
$.pagination = ('\
<li class="disabled"><a>&laquo;</a></li>\
<li class="disabled"><a>&raquo;</a></li>\
');
} else {
$.pagination = ('\
<li><a href="search.html?js=' + self.parameters.js + '&page=' + prev + '">&laquo;</a></li>\
<li class="disabled"><a>&raquo;</a></li>\
');
}
}

$('#js-current-page').html('P&aacute;gina ' + page + ' de ' + total);
$('.pagination').append($.pagination);
$('#loading').hide();
} else {
$('#js-alert-info .alert-info').html('Esta p&aacute;gina no existe');
$('#js-alert-info').removeClass('js-display-none');
$('#loading').hide();
}
};
this.pagination = function(from, to) {
var obj = [];
for (var i = from; i <= to; i++) {
obj.push(self.itemsFound[i]);
}
return obj;
};
};

var search = new Jsearch();
search.init();
};
})();
  #4 (permalink)  
Antiguo 15/01/2016, 03:23
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: buscador php

¿es ese el archivo entonces? ¡Un saludo!
  #5 (permalink)  
Antiguo 17/01/2016, 12:45
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: buscador php

Cita:
Iniciado por rodocoyote15 Ver Mensaje
Pues nos vendría bien que pegaras el código que realiza la función de buscar, para que te podamos ayudar.
Por cierto, por qué no usas un cms ya establecido? WordPress por ejemplo?
¿es ese el archivo, verdad?
  #6 (permalink)  
Antiguo 02/02/2016, 08:46
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: buscador php

si es muy difícil modificar el archivo, alguien POR FAVOR, ¿sabría decirme donde puedo descargarme un buscador con las funcionalidades que quiero? No pido mucho, algo sencillo, que escribas dos palabras y que te de un resultado con esas dos palabras exactas que pusiste y nada más. ¡Un saludo! De verdad que lo necesito! T_T
  #7 (permalink)  
Antiguo 02/02/2016, 08:52
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: buscador php

Creo que tienes mas codigo por ahi porque no veo ningun tipo de lenguaje sql que es el lenguaje que se conecta con la base de datos

Etiquetas: buscador
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 06:50.