[GastForen Programmierung/Entwicklung PHP und MySQL Volltextsuche - wie geht die Ausgabe der Abfrage?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Volltextsuche - wie geht die Ausgabe der Abfrage?

Käferli
Beiträge gesamt: 67

14. Jul 2005, 23:46
Beitrag # 1 von 6
Bewertung:
(1656 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
habe mit ALTER TABLE tabellenname ADD FULLTEXT alles gemacht,
und auch mit select die Auswahl getroffen, aber über welche Variable
muss ich das Ausgabe-Ergebnis definieren - also was kommt nach 'echo'?

DANKE
Käferli
X

Volltextsuche - wie geht die Ausgabe der Abfrage?

ganesh
Beiträge gesamt: 1981

15. Jul 2005, 12:48
Beitrag # 2 von 6
Beitrag ID: #177945
Bewertung:
(1637 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wonach suchst Du denn?

Angenommen Du suchst eine id (z.B. einen Katalog):

Code
$dbQuery = " SELECT id FROM catalogue WHERE MATCH (`author_firstname`, `author_lastname`, `title`, `editor`, `isbn`, `keywords`, `remarks`) AGAINST('$keyword' IN BOOLEAN MODE) AND status=1 "; 



Nachprüfen ob wir überhaupt Treffer erhalten haben:

Code
if($num_rows < 1) { 
echo '<p>Suchbegriff nicht gefunden.</p>';
exit(); // bzw. Suchformular erneut anzeigen...
}



falls wir Treffer haben:
Code
 
while ($row = mysql_fetch_object($result)) {
echo $row->id . "<br>";
}



Das ist nur das "Skelett"... die genaue Umsetzung hängt von Deinen Daten ab und von den Suchoptionen, die Du dem User gibst.


als Antwort auf: [#177881]

Volltextsuche - wie geht die Ausgabe der Abfrage?

Käferli
Beiträge gesamt: 67

16. Jul 2005, 20:03
Beitrag # 3 von 6
Beitrag ID: #178118
Bewertung:
(1611 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
erstmal danke für deine Hilfe, aber irgendwie
stell ich mich blöd an ?(
also ich will ein Suchfeld (formular) bereitstellen, wo man sein Suchwort eingibt,
und dann die Treffer angezeigt bekommt...

irgendwie krieg ich es nicht hin... :(

Da ich mit dieser "FULLTEXT-Variante"
nicht klar kam, hab ich mich für folgende Variante entschieden:

Zitat <?
require("zugriff.php");
$sql = "SELECT * FROM tabelle
WHERE spalte1 LIKE '$_POST[keyword]'
OR spalte2 LIKE '$_POST[keyword]'
$query = mysql_query($sql);
while($row = mysql_fetch_object($query)) {
echo "$row->id<br>";
}
?>


aber irgendwie klappts nicht...

Danke für deine/eure Hilfe!
Käferli :(


als Antwort auf: [#177881]

Volltextsuche - wie geht die Ausgabe der Abfrage?

oesi50
  
Beiträge gesamt: 2315

16. Jul 2005, 20:54
Beitrag # 4 von 6
Beitrag ID: #178123
Bewertung:
(1605 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
du musst

SELECT ... FROM tabelle WHERE Spalte LIKE '%suchausdruck%'

verwenden.


Außerdem ist mir aufgefallen, daß dein Code für SQL-Injektion anfällig ist.


als Antwort auf: [#178118]

Volltextsuche - wie geht die Ausgabe der Abfrage?

Käferli
Beiträge gesamt: 67

16. Jul 2005, 20:58
Beitrag # 5 von 6
Beitrag ID: #178124
Bewertung:
(1600 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
Außerdem ist mir aufgefallen, daß dein Code für SQL-Injektion anfällig ist. 


was bedeutet das?

gruss Käferli


als Antwort auf: [#178123]

Volltextsuche - wie geht die Ausgabe der Abfrage?

oesi50
  
Beiträge gesamt: 2315

16. Jul 2005, 21:18
Beitrag # 6 von 6
Beitrag ID: #178125
Bewertung:
(1598 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das bedeutet, daß dein Code für SQL-Injections anfällig ist, weil die Benutzereingaben direkt und ungeprüft übernommen werden.


http://www.google.de/...btnG=Suche&meta=


als Antwort auf: [#178124]
(Dieser Beitrag wurde von oesi50 am 16. Jul 2005, 21:18 geändert)
X