Suchfunktion
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
code
darstellen
ergebnis
frage
funktionieren
gesagt code
gesuchte wort
grad
komma
langer text
schleife
spalten
suche
tabelle
test
tick
vereinfachung
verschwinden
zeile
-
Hi,
ich versuch grad eine kleine Suchfunktion für meine HP zu erstellen.
<? $suche = $_GET['suche']; echo $suche; $abfrage = "SELECT * FROM test WHERE test = '%$suche%'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "$row->test <br>"; } ?>
Es funktioniert nicht wegen diesen %% wenn ich sie wegnehme, dann geht es, aber dann muss man das gesuchte Wort/Thema genau angeben und das möchte ich nicht.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also was auf jeden Fall geht, ist sowas mir OR
WHERE test LIKE '%$suche%' OR tabelle LIKE '%$suche%' ....
Ich überleg grad selber, obs da noch eine Form zur Vereinfachung gibt, bin mir grade nicht sicher.
Falls mir noch was einfällt lass ichs dich wissen.
Edit: Falls du dein Namen fortlaufend nummeriert hättest, könntest dus schon als String Verknüpfungen per PHP Schleife machen. Aber das ist wohl nicht der Fall.
Beitrag geändert: 30.11.2008 11:57:57 von ultrah4x -
Wie den Namen nummerieren?
Ich hab noch ein Problem.
<? $suche = $_GET['suche']; $abfrage = "SELECT * FROM test WHERE titel OR test OR tags OR autor LIKE '%$suche%' "; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "$row->titel<br>$row->tutorial<br>$row->tags<br>$row->autor<br>"; } ?>
Es soll ja alles durchsucht werden, aber sobald in einer Zeile etwas aus der Suchanfrage steht, soll die komplette Zeile ausgegeben werden. -
Mit durchnummerieren meinte ich, wenn deine Spalten z.b. Spalte1, Spalte2, Spalte3 heißen sowas:
for($i=1; $i<$anz; $i++) $abfrage .= 'Spalte' . $i
Das du dir etwas Schreibarbeit sparst. Aber net so wichtig.
Bist du dir sicher, dass das
"SELECT * FROM test WHERE titel OR test OR tags OR autor LIKE '%$suche%' "
so richtig ist?
Hätte eher gesagt:
"SELECT * FROM test WHERE titel LIKE '%$suche%' OR tes LIKE '%$suche%'t OR tags LIKE '%$suche%' OR autor LIKE '%$suche%' "
Die Zeile sollte eigentlich schon komplett ausgegeben werden. -
So die Suche funktioniert jetzt fast so wie ich es wollte.
Wie kann ich die Suchergebnisse verkürtzt darstellen?
Wenn da ein langer Text ist, möchte ich dass nur ein paar Wörter dargestellt werden und dann ...
Dann noch eine Frage zu JavaScript:
Ich möchte dass in dem Suchfeld "Suche..." steht und wenn man raufklickt, soll das Suche verschwinden.
-
Javascript:
<input type="text" onblur="if (document.getElementById('suche').value=['']) {document.getElementById('suche').value=['Suchen...']};" onclick="document.getElementById('suche').value=[''];" value="Suchen..." id="suche" name="suche" />
Ungetestet. Sollte eigentlich funktionieren. -
Jup, funktioniert, danke.
1.Frage vom vorletzen Beitrag steht noch ^^
Wie kann ich ein Suchergebnis verkürtzt darstellen.
-
moritzpeuser schrieb:
Javascript:
<input type='text' onblur='if (document.getElementById('suche').value=['']) {document.getElementById('suche').value=['Suchen...']};' onclick='document.getElementById('suche').value=[''];' value='Suchen...' id='suche' name='suche' />
Ungetestet. Sollte eigentlich funktionieren.
>>>>>>>>>>>>>>>>>>>>>>>>>
Das geht noch einen Tick leichter, wenn ich den Code richtig verstanden hab:
<input type='text' onfocus='if (document.getElementById('suche').value=['']) {document.getElementById('suche').value=['Suchen...']};' />
Mit onfocus hat man beide Events drin.
Könnten immernoch Fehler drin sein!
MfG
s1m13
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage