• 27.04.2024, 11:39
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 18:55

Hi ich habe da ein kleines Script problem in Php und suche Jemanden der mir helfen kann:

Also ich lese aus eine DB einen string aus z.B. "aqua,wasser,kalt"

jetzt wil ich eine suchfunktion schreiben die in dem string nach einem bestimmten Wort (Eigabe durch formular) sucht und wenn es gefunden wird also antwort '1' liefert z.B '0' die ich weiter mit einer if abfrage bearbeiten kann.

ihrgend welche idenn ???

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 19:01

hmm... da gibts doch sicher ne möglichkeit sich die anzahl der treffer zurückliefern zu lassen statt den ergebnissen selbst oda? damit könntest wohl eher wat anfangen ;D
genaueres müsst ich allerdings auch ers nachschlagen, mit sql hab i noch so gut wie keine erfahrungen... ::)

edit:
mir war langweilig also HABE ich nachgeschlagen ;D
folgendes stand dazu in meinem lieblings php ebook:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<body>
<?php
   $db = mysql_connect();

   $res = mysql_db_query("firma",
          "select * from personen");
   $num = mysql_num_rows($res);
   echo "$num Datensätze gefunden<br>";

   for ($i=0; $i<$num; $i++)
   {
      $nn = mysql_result($res, $i, "name");
      $vn = mysql_result($res, $i, "vorname");
      $pn = mysql_result($res, $i, "personalnummer");
      $ge = mysql_result($res, $i, "gehalt");
      $gt = mysql_result($res, $i, "geburtstag");
      echo "$nn, $vn, $pn, $ge, $gt <br>";
   }

   mysql_close($db);
?>
</body>
</html>

$res wär da die anzahl der gefundenen datensätze, wenne nur bestimmte datensätze ham wills machst das dann selbstverständlich mit nem 'select * from <tabelle> where <feldname> like "%<suchbegriff>%" ' oda so...

hus

Senior Member

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 19:05

Warum nicht direkt in der Datenbank suchen - mit "rlike '.*<suchstring>.*'"?
Oder genauer: ...query("select ... rlike '^(.*,)?$suchstring(,.*)?$' ...");

Aber egal:
array_search(<suchstring>, explode(',', <dbstring>));
oder besser
preg_match("/\b$suchstring\b/", $dbstring);
Real stupidity beats artificial intelligence every time. T. Pratchett, "Hogfather"

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 19:13

siehste, des sacht mer jez scho ned mehr viel... ::)
hab ja jesacht dass i ned grad n profi auf dem gebiet bin...

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 19:21

::)

Also um das Ganze verständiger zu machen die ganze situation

ich habe eine DB mir Personen jede Datensatz verfügt über die Zelle Hobby. In der Zelle Hobby stehe die hobby´s durch komme getrennt max 3 Stück. Jetzt will ich nach Personen suchen die einbestimmes Hobby haben und mit diese anzeigen lassen.

Das mit dem Anzeigen klappt aber nur wenn ich mach dem ganze string suche lasse z.b.

DB_string = "Computer,Rad,Saufen"
such_string = "Computer,Rad,Saufen"

will aber z.b. mir dem suchstring = "Computer" die Persone anzeigen lassen.


Also ich hoffe das problem wir langsam klar..... ::)

hus

Senior Member

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 20:04

Somit erhalten wir so etwas wie:
mysql_query("select * from personen where hobby rlike '^(.*,)?$suchstring(,.*)?$' order by name");

"rlike" sucht mit einem regulären Ausdruck; der genannte sucht Text wo, wenn etwas vor oder nach dem Suchstring kommen sollte, dieses durch ein Komma abgetrennt ist.
Real stupidity beats artificial intelligence every time. T. Pratchett, "Hogfather"

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 20:24

Danke das bringt mich weiter ;D

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 21:30

du solltest aba auch ma drüba nachdenken dei datenbank etwas umzusortieren, normalerweise gibt man nur exakt EINE information in einer zelle an! Computer,Rad,Saufen sind aber schon 3... ::)
wenn ich mir sowat leisten würde würd mein db lehrer mich dafür umbringen ;D ;D

Re: Suche PHP-Profi

Donnerstag, 17. Oktober 2002, 22:17

Soll ich für die hobby´s eine eigne tabelle anlegen das währe aber verschwendung von ressorcen............ bei 1000 Personen a 3 Hobby währen das schon 3000 Einträge ........und wür das was ich vorhabe wäre es contra Produktive...........


Ich aber jetzt nicht eine grundsatz diskusion Anfangen... ;D
jedem wie er es am liebstem macht......solange es keine firmen DB ist mit 100.000-1******* eintägen ist es auch egal