Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Suchscript [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Suchscript


 
DaSquat
02-07-2002, 14:48 
 
Hi,
ich bin auf der Suche nach einem Suchscript, das meine vorhandene SQL Datenbank bzw. Tabelle durchsucht und das Ergebniss ausgibt. Die Adressdatenbank, die ich betreibe hat nur eine Suche für einzelne Felder und ich würde gerne alle gleichzeitig absuchen. Kennt jemand ein solches Script? Dürfte ja nicht sehr exotisch sein, habs aber trotzdem noch nicht gefunden :confused:
Über Tipps wäre ich sehr dankbar :-)
Gruss,
Jörg

 
MoRtAlAn
02-07-2002, 15:10 
 
Dürfte doch gar nicht so schwer sein...

Machst ne SELECT - Abfrage mit Like über die Tabelle und läßt die evtl. Treffer ausgeben.

gruss

 
Titus
02-07-2002, 16:18 
 
Schau mal da: http://www.php-resource.de/forum/showthread.php?threadid=1995

 
DaSquat
02-07-2002, 17:24 
 
Hi Titus,
das sieht gut aus! Aber nun habe ich das gleiche Problem wie der letzte Poster in dem Thread, ich bekommen keine Ausgabe. Sonst scheint alles zu stimmen, da ich keine Fehlermeldung bekomme!
wo baue ich da die Ausgabe ein?

function seek_table ($table, $find)
{
// alle Spaltennamen ermitteln
$q = mysql_query ('show fields from '.$table);
$fields = array();
while ($x = mysql_fetch_array($q))
$fields[] = $x['Field'];
mysql_free_result ($q);

// jede Spalte in einer eigenen Query abfragen wg. Perfomance
$result = array();
for ($i=0; $i<count($fields); $i++)
if ('ID'!=($col=$field[$i])) // Spalte 'ID' auslassen
{
$q = mysql_query ("select * from $table where $col like '%$find%'");
if ($q)
{
while ($x = mysql_fetch_array($q))
$result[$x['ID']] = $x;
mysql_free_result ($q);
}
}

ksort ($result);
return $result;
}


???
Gruss,
Jörg

 
DaSquat
02-07-2002, 17:36 
 
Hallo nochmal :-)
also den array hab ich ja nun, aber wenn ich den mit z.B.
echo $result['Name'] . "<br>";
ausgeben will kommt nix?!?
gruß,
jörg

 
Titus
03-07-2002, 06:06 
 
$result ist ein zweidimensionales Array mit allen passenden Zeilen:
$result = seek_table($suche);
foreach ($result as $id=>$x)
echo $x['Name'];

 
DaSquat
03-07-2002, 13:15 
 
Hallo Titus,
danke für die Antwort! Leider scheine ich zu doof zu sein, denn da kommt immer noch keine Ausgabe!?:confused:
Cheers,
DaSquat

 
Titus
03-07-2002, 14:50 
 
was wirft denn var_dump($result); aus?

 
DaSquat
04-07-2002, 19:17 
 
also wenn das in den code einfüge erhalte ich als ausgabe
NULL
!?!?
cheers,
dasquat

 
Titus
05-07-2002, 02:55 
 
nach
$ergebnis = seek_table($suche);
kann
var_dump($ergebnis);
nicht NULL ausgeben, denn in seek_table wird $result = array(); garantiert ausgeführt.

Der Fehler muss woanders liegen. :dontknow:

 
akuehnap
22-08-2002, 08:59 
 
Yo, bin schon eine ganze Weile durch das Forum gestreunt, habe gestern den ersten Thread zu dem Thema durchgeackert, nun den zweiten.
Mein Script findet zwar was, aber ziemlich genau ALLES was in der Tabelle ist.

Blöderweise enden alle Threads mit:
Geht nicht.

Habe mir zwischenzeitlich die halbe Nacht um die Ohren geschlagen (bin leider auch noch Newbie :-))

Gibt es eine Lösung??

Grüße AK

 
DaSquat
28-08-2002, 17:32 
 
hi akuehnap

ne hab auch noch nichts gefunden, damit das läuft. würde mich aber freuen, wenn hier postet, wenn du was findest, also nicht nur in dem skript, sondern auch eine andere lösung :-)
cheers
dasquat

 
Titus
29-08-2002, 12:53 
 
Code-Schnipsel -> alle Felder einer Tabelle durchsuchen (http://www.php-resource.de/forum/showthread.php?threadid=1995)

Mit der zusätzlichen Query "show tables" und einer dazugehörigen Schleife läßt sich das auf alle Tabellen einer DB anwenden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:03 Uhr.