PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php



Maffy
01.12.2003, 10:00
:-\

Hallo ich habe ein riesiges Problem.

Ich muss eine Seite entwerfen in der ein Kunde zwei Suchfelder haben soll. Das zweite Feld ist weniger das Problem aber das erste.

Es soll eine Suche über alles sein, d.H. Der Kunde soll die Möglichkeit haben ein Wort oder nur ein Teilwort einzugeben und die Suche soll in der Datenbank das gesuchte Wort finden. Es muss aber möglich sein der Der Kunde, wenn er z.B das Wort Bay* eingibt die Ausgabe wie folgt aussieht:

Müller GmbH, Rolandstraße 23 56784 Hausbergen Anlieferung um 06:00 in Leverkusen im BAYERWERK bei der Laderampe 14.

Was muss ich machen damit der Kunde diese Ausgabe erhält obwohl er nur BAY* eingibt?????????????`????


Bitte helft mir.

DANKE

Mikes-PCHilfe
01.12.2003, 10:20
Hallo,

du baust deine SQL Query so;


mysql_query("SELECT * FROM $table where FELDNAME LIKE '%$suchbegriff%'",$connection)

Gruß Mike

Maffy
01.12.2003, 10:39
Hallo Mike,

Danke für die schnelle Antwort, aber ich komme nicht weiter. Hier der Quellcode. Was muss ich daran ändern damit es funktioniert?

$zeile=$db->data($db->query("Select `consignee` FROM `seg2` WHERE `laufnr` = $zaehler"));
$zeile=$db->data($db->query("SELECT * FROM $table where FELDNAME LIKE '%$suche%'",$connection));
echo("Bitte $zeile[0] Bitte");
$gib=strstr($zeile[0],$suche);
$trenn=explode(",",$gib);
$a=0;$b=0;
while($trenn[$a]== $suche)
{
$gib1=strrchr($zeile[0],$trenn[$a]);
$hu=implode("_",$gib1);
if($hu=$suche)
{
$zeile=$db->data($db->query("Select `stt_nr` FROM `seg2` WHERE `laufnr` = $zaehler"));
$ergebnis=$zeile[0];
echo("$hu geht doch");
breake;
}
$a++;
}

Mikes-PCHilfe
01.12.2003, 10:58
Hallo,

so:


$zeile=$db->data($db->query("SELECT`consignee` FROM `seg2` WHERE laufnr LIKE '%$zaehler%'"));

Gruß Mike

Maffy
01.12.2003, 11:26
Hallo Mike

ich verstehe es einfach nicht. den Befahl den du mir gerade genannt hast habe ich auch schon eingebaut, aber ohne erfolg.

Jetzt mal von anfang an.

Die Tabelle heißt seg2
eine Spalte in der Tabelle seg2 heißt consignee

in dieser Spalte steht:

DYSTAR TEXTILFARBEN GMBH & CO. KG, GEB.C 5 TOR 432 BAYERWERK, ANLIEFERZEIT: MO.-FR. 06:30-14:30, => VIA BAYER AG, AUTOHOF, TOR 6, 51368 LEVERKUSEN, DE

Der Kunde will diese Ausgabe sehen wenn er bei der Suche

Bay* oder Textil* oder was auch immer in dieser Spalte vorkommt eingibt.

Könntest du mir den Befehl mal komplet schreiben wie er lauten muss von
<?php
.....
bis
?>

Das wäre riesig.
die Felder in der Eingabeseite sind wie folgt genannt.

Das Suchfelt lautet: $suche

DANKE

Maffy
01.12.2003, 12:11
Bitte Bitte Mike, lass mich nicht hängen!!!!!!!!!
??? ??? ??? ??? ??? ??? ???

Mikes-PCHilfe
01.12.2003, 14:06
Generelle Frage, hast du jemals PHP programmiert ?


<?php
$zeile=$db->data($db->query("SELECT`consignee` FROM `seg2` WHERE consignee LIKE '%$suche%'"));

if (!$zeile) {
echo "Keine Treffer";
} else {
echo "$zeile";
}

?>

Der Quelltext den du da hast, der passt aber nicht zur Abfrage, hab ihn modifiziert.

Gruß Mike