live search datenbank Wordpress

thehasso

Erfahrenes Mitglied
Hello,

ich möchte auf meiner Website eine Live suche einbinden. Und Zwar befindet sich in meiner Datenbank eine Tabelle namens ecu. Diese Tabelle beinhaltet 2 spalten. 1 Spalte namens Teilenummer und eine Spaltenname namens Bezeichnung.

Ich möchte, wenn ein User die ersten 3 Ziffern der Teilenummer eingibt, alle möglichen Ergebnisse live anzeigt bis schließlich das gewünschte Produkt gefunden wird.

Ich habe die Datenbank soweit fertig, und möchte es in Wordpress einbinden hat jemand eine Ahnung wie man maccht?
 
ja 2 plugins jedoch tuen die nicht das was ich will. Die Livesuche bei dem Plugins zeigen alle Links auf der Website an die mit dem Stichwort zusammenhängen.

Beispiel:
Seite 1: steht etwas über Geschichte
Seite 2: steht etwas über Sport

Gebe ich im suchfeld Geschichte ein, dann zeigt er mir den Link an, bei dem das Wort Geschichte vorkommt.

-> http://wordpress.org/plugins/daves-wordpress-live-search/


Mein anliegen habe ich jedoch oben schon beschrieben.
 
Hallo,

ich mich die letzten Stunden damit befasst, die Skripte zusammen zu puzzeln. Ich bin soweit gekommen, aber nicht fertig geschafft. Ich verstehe z.B: nicht diesen Abschnitt:

Code:
// Define Output HTML Formatting
$html = '';
$html .= '

    1
    2
    3
    4
    	
    <code lang="php">';
    $html .= '<a href="urlString" target="_blank">';
    $html .= '
    </a>

    nameString

    ';
    $html .= '
    functionString

    ';
    $html .= '

und das INSERT am ende verstehe ich auch nicht. Könntest du mir nun etwas behilflich sein, es zuende zu schreiben?




custom.js
Code:
// Icon Click Focus
$('div.icon').click(function(){
$('input#search').focus();
});


$("input#search").live("keyup", function(e) {
// Set Search String
var search_string = $(this).val();

// Do Search
if(search_string !== ”){
$.ajax({
type: “POST”,
url: “search.php”,
data: { query: search_string },
cache: false,
success: function(html){
$(“ul#results”).html(html);
}
});
}return false;
});

// On Search Submit and Get Results
function search() {
var query_value = $('input#search').val();
$('b#search-string').html(query_value);
if(query_value !== ''){
$.ajax({
type: "POST",
url: "search.php",
data: { query: query_value },
cache: false,
success: function(html){
$("ul#results").html(html);
}
});
}return false;
}


$("input#search").live("keyup", function(e) {
// Set Timeout
clearTimeout($.data(this, 'timer'));

// Set Search String
var search_string = $(this).val();

// Do Search
if (search_string == ”) {
// Do nothing
}else{
$(this).data(‘timer’, setTimeout(search, 100));
};
});

$("input#search").live("keyup", function(e) {
// Set Timeout
clearTimeout($.data(this, 'timer'));
// Set Search String
var search_string = $(this).val();

// Do Search
if (search_string == ”) {
$(“ul#results”).fadeOut();
$(‘h4#results-text’).fadeOut();
}else{
$(“ul#results”).fadeIn();
$(‘h4#results-text’).fadeIn();
$(this).data(‘timer’, setTimeout(search, 100));
};
});


// Format No Results Output
$output = str_replace('urlString', 'JavaScript:void(0);', $html);
$output = str_replace('nameString', 'No Results Found.', $output);
$output = str_replace('functionString', 'Sorry :(', $output);


// Format Output Strings
$display_function =$result['function'];
$display_name = $result['name'];
$display_url = 'http://php.net/manual-lookup.php?pattern='.urlencode($result['function']).'&amp;lang=en';

search.php

Code:
<?php 

$dbhost = "localhost";
$dbname = "d0197";
$dbuser = "d0197";
$dbpass = "X9t75UDM3";

// Connection
global $tutorial_db;

$tutorial_db = new mysqli();
$tutorial_db->connect($dbhost, $dbuser, $dbpass, $dbname);
$tutorial_db->set_charset("utf8");

// Check Connection
if ($tutorial_db->connect_errno) {
printf("Connect failed: %s\n", $tutorial_db->connect_error);
exit();
}



// Get Search
$search_string = preg_replace("/[^A-Za-z0-9]/", " ", $_POST['query']);
$search_string = $tutorial_db-&gt;real_escape_string($search_string);

// Check Length More Than One Character
if (strlen($search_string) &gt;= 1 &amp;&amp; $search_string !== ' ') {
}

// Build Query
$query = 'SELECT * FROM ecu_numbers WHERE Teilenummer LIKE "%'.$search_string.'%" OR Hersteller LIKE "%'.$search_string.'%"';

// Do Search
$result = $tutorial_db->query($query);
while($results = $result->fetch_array()) {
$result_array[] = $results;
}

// Check If We Have Results
if (isset($result_array)) {
foreach ($result_array as $result) {
// Output
print_r($result);
}
}else{
// Output
echo('Nothing to display.');
}


$display_name = preg_replace("/".$search_string."/i", "<strong class="highlight">".$search_string."</strong>", $result['name']);

// Compile Functions Array
$functions = get_defined_functions();
$functions = $functions['internal'];

// Loop, Format and Insert
foreach ($functions as $function) {
$function_name = str_replace("_", " ", $function);
$function_name = ucwords($function_name);

$query = '';
$query = 'INSERT INTO ecu_numbers SET id = "", function = "'.$function.'", name = "'.$function_name.'"';

$tutorial_db->query($query);
}


?>
 
Zuletzt bearbeitet:
Hi,
also ich glaube das da einfach was in der Anzeige des Tutorials falsch läuft.
Wenn du dir die Beispieldateien runterlädst siehst du in der search.php was mit $html gemacht wird.
Es wird ein HTML-Konstrukt zusammengeschraubt für die Ausgabe der Suchergebnisse.
Zufinden in der search.php ab Zeile 34.

Oder was verstehst du nicht?

Grüße
 

Neue Beiträge

Zurück