Mehrere input felder

Entschuldigung.Natürlich habe ich mir deine Beiträge zu ende gelesen,ehrlich gesagt wusste ich nciht was du genau mit bla_tabelen meintest.
 
Ich hätte auch $CONF['sql_prefix']."_sites" schreiben können. Trotzdem darauf so herum zu reiten. Füge die VIER (4, also nicht nur url2) Spalten (die ich nun bereits zweimal erwähnt habe) an und es sollte klappen.
 
Halo
Ich brauche nochmal eure Hilfe.Und zwar geht es jetzt um die Suchfunktion.Wenn ich etwas suche muss ich immer genau alles eingeben.Z.B
Es ist eine Seite Kinder-Spiele da.Ich muss um die Seite zu finden genau Kinder-Spiele eingeben,d.h :) Spiele allein reicht nicht.Wie macht man es ich kann leider kein php.

hier ist die search.php.

<?php
class search extends base {
function search() {
global $CONF, $FORM, $LNG, $TMPL;

$TMPL['header'] = $LNG['search_header'];

if (!$CONF['search']) {
$this->error($LNG['search_off']);
}
elseif (!isset($FORM['q']) || !$FORM['q']) {
$this->form();
}
else {
$this->process();
}
}

function form() {
global $TMPL;

$TMPL['content'] = $this->do_skin('search_form');
}

function process() {
global $CONF, $DB, $FORM, $LNG, $TMPL;

$TMPL['query'] = strip_tags($FORM['q']);
$words = explode(' ', $DB->escape($FORM['q']));

// Filter out words that are only 1 or 2 characters
$filtered_words = array_filter($words, create_function('$word', 'return strlen($word) > 2;'));

if (count($filtered_words) > 0) {
$words = $filtered_words;
}

if (isset($FORM['start'])) {
$start = intval($FORM['start']);
if ($start > 0) {
$start--;
}
}
else {
$start = 0;
}

$query = "SELECT sites.username, url, url2, url3, title, title2, title3, description, banner_url FROM {$CONF['sql_prefix']}_sites sites, {$CONF['sql_prefix']}_stats stats WHERE active = 1 AND sites.username = stats.username AND (";
$i = 0;
foreach ($words as $word) {
if ($i > 0) {
$query .= " OR ";
}
$query .= "description LIKE '%{$word}%' OR title LIKE '%{$word}%'";

$i++;
}
$query .= ")";

$result = $DB->query($query, __FILE__, __LINE__);
$TMPL['num_results'] = $DB->num_rows($result);

$order_by = $this->rank_by()." DESC";
$query .= " ORDER BY {$order_by}";

$result = $DB->select_limit($query, 10, $start, __FILE__, __LINE__);

$TMPL['results'] = '';
$TMPL['rank'] = $start + 1;
while (list($TMPL['username'], $TMPL['url'], $TMPL['url2'], $TMPL['url3'], $TMPL['title'], $TMPL['title2'], $TMPL['title3'], $TMPL['description'], $TMPL['banner_url']) = $DB->fetch_array($result)) {
foreach ($words as $word) {
$word = preg_quote($word);
$TMPL['description'] = preg_replace_callback("/({$word})/i", create_function('$matches', 'return "<b>{$matches[1]}</b>";'), $TMPL['description']);
$TMPL['title'] = preg_replace_callback("/({$word})/i", create_function('$matches', 'return "<b>{$matches[1]}</b>";'), $TMPL['title']);
$TMPL['title2'] = preg_replace_callback("/({$word})/i", create_function('$matches', 'return "<b>{$matches[1]}</b>";'), $TMPL['title2']);
$TMPL['title3'] = preg_replace_callback("/({$word})/i", create_function('$matches', 'return "<b>{$matches[1]}</b>";'), $TMPL['title3']);
}

$TMPL['results'] .= $this->do_skin('search_ergebnisse');

$TMPL['rank']++;
}

if (!$TMPL['results']) {
$this->error($LNG['search_no_sites']);
}

$prev_num = $start - 9;
if ($prev_num < 1) {
$prev_num = 1;
}
$next_num = $start + 11;

if ($start >= 1) {
$TMPL['previous'] = "<a href=\"{$TMPL['list_url']}/index.php?a=search&amp;q={$TMPL['query']}&amp;start={$prev_num}\">{$LNG['search_prev']}</a>";
}
else {
$TMPL['previous'] = $LNG['search_prev'];
}

if ($next_num <= $TMPL['num_results']) {
$TMPL['next'] = "<a href=\"{$TMPL['list_url']}/index.php?a=search&amp;q={$TMPL['query']}&amp;start={$next_num}\">{$LNG['search_next']}</a>";
}
else {
$TMPL['next'] = $LNG['search_next'];
}

$TMPL['displaying_results'] = sprintf($LNG['search_displaying_results'], ++$start, --$TMPL['rank'], $TMPL['num_results'], $TMPL['query']);

$TMPL['content'] = $this->do_skin('search_ergebnisse');
}
}
?>

also ich denke mal,dass es an dieser Stelle liegt
foreach ($words as $word) {
st ja überseztzt
Ich will aber ---> wort ungefähr wort
 
....
also ich denke mal,dass es an dieser Stelle liegt

st ja überseztzt

Ich will aber ---> wort ungefähr wort

Mit dem foreach() Konstrukt durchläufst du nur ein Array, es hat rein gar nichts mit dem Inhalt des Arrays und was du damit machst zu tun. Vielleicht solltest du dir wenigstens einmal die Referenzen zu den Funktionen/Konstrukten durchlesen.
Ein guter Rat, wie ich finde, wäre das Skript komplett neu zu schreiben - zuvor allerdings ein paar Tutorials/Beispiele ansehen :rolleyes:
 
Mir ist das aber gerade zu kompliziert ich kann nur ein bisschen php.Ich werds mal probieren.

PS: Ist nicht mein Skript.
 
Zurück