Checkson Geschrieben 20. August 2003 Geschrieben 20. August 2003 Hallo! Ich soll ein Suchformular erstellen mit dem man nach Telefonnummern suchen kann. Es handelt sich um ein internes Telefonverzeichnis das ca. 50 User umfasst. Bei den Usern sollte Name Vorname Telefonnummer und Aufgabengebiet ausgegeben werden. Und es sollte auch nach allen Kriterien gesucht werden können. Wie setze ich das am besten um? ASP, PHP...??? Wäre es auch möglich ohne eine Datenbank zu arbeiten? D.h. eine PHP-Seite durchsucht eine HTML od. ebenfalls PHP Seite? Für Tipps und Scrpits wäre ich dankbar!! Zitieren
korea1 Geschrieben 20. August 2003 Geschrieben 20. August 2003 hi, sind das daten eurer mitarbeiter oder von kunden? ich würd jetzt mal annehmen, dass die schon irgendwo in einer db erfasst sind, oder? wenn ja in welcher? ich würd z.b. ein webinterface bauen, also ne html seite mit nem einfachen formular, das die felder name, vorname... usw eben alles nach dem suchen kann enthält. dann würd ich ein php script schreiben, das ein sql statement auf die db absetzt und dir dann den entsprechenden datensatz anzeigt. mfg korea1 ps natürlich geht es auch mit einer normalen html seite, aber ich glaube die lösung mit der db ist sauberer, aber man muss natürlich auch immer den aufwand in betracht ziehen. wie soll das system später mal erweiterbar sein usw. Zitieren
Rohde Geschrieben 20. August 2003 Geschrieben 20. August 2003 Mit 'ner Datenbank ist man eigentlich immer am besten bedient, da man diese deutlich flexibler einsetzen kann als beispielsweise eine auf Dateien basierte Lösung. Aber für eine solch einfach Anwendung mit der von Dir genannten Personenanzahl kann man es auch ohne Probleme auf Dateibasis lösen. Hier mal ein voll funktionsfähiges PHP-Beispiel: index.php: <form action="<?=$PHP_SELF?>" method="post"> <input type="text" name="name"> <input type="submit" value="Eintrag suchen"> </form> <? if(isset($name)) { $daten = file("tabelle.csv"); array_multisort($daten); echo "<table>"; echo "<tr><td>Name</td><td>Vorname</td><td>Telefon</td><td>Aufgabe</td></tr>"; for($i=0;$i<count($daten);$i++) { $datenfeld = explode(";",$daten[$i]); if(stristr($datenfeld[0],$name)) { echo "<tr><td>".$datenfeld[0]."</td><td>".$datenfeld[1]."</td><td>".$datenfeld[2]."</td><td>".$datenfeld[3]."</td></tr>"; } } echo "</table>"; } ?> tabelle.csv: Wurst;Hans;123;Nixtuer Muster;Manfred;456;Kaffeetrinker Schmidt;Karl;789;Schlipsträger Schmid;Olga;782;Assistentin Die Datei tabelle.csv könnte man beispielsweise direkt aus Excel exportieren. Als Trennzeichen verwende ich hier das Semikolon. Das darf dann natürlich nirgendwo anders (beispielsweise im Aufgabengebiet) verwendet werden. So wie das Skript jetzt ist, bekommst Du auch Ergebnisse geliefert, bei denen die Eingabe in der Mitte des Namens vorkommt, d.h. bei Eingabe von "mid" bekommst Du auch den Namen "Schmidt". Wenn Du das nicht möchtest, ersetz einfach die die Zeile if(stristr($datenfeld[0],$name)) { durch if (strtolower($name) == substr(strtolower($datenfeld[0]),0,strlen($name))) { Viel Spaß damit. Zitieren
Checkson Geschrieben 21. August 2003 Autor Geschrieben 21. August 2003 Muchas Gracias!:uli Genau sowas hab ich gesucht! Perfekt wäre es wenn die Ergebnisse, also die Treffer in einer extra Seite ausgegeben würden! Da ich nich der PHP Profi bin, bitte ich an dieser Stelle wieder um Hilfe!! Zitieren
kills Geschrieben 21. August 2003 Geschrieben 21. August 2003 Original geschrieben von Rohde <form action="<?=$PHP_SELF?>" method="post" target="new"> <input type="text" name="name"> <input type="submit" value="Eintrag suchen"> </form> <? if(isset($name)) { $daten = file("tabelle.csv"); array_multisort($daten); echo "<table>"; echo "<tr><td>Name</td><td>Vorname</td><td>Telefon</td><td>Aufgabe</td></tr>"; for($i=0;$i<count($daten);$i++) { $datenfeld = explode(";",$daten[$i]); if(stristr($datenfeld[0],$name)) { echo "<tr><td>".$datenfeld[0]."</td><td>".$datenfeld[1]."</td><td>".$datenfeld[2]."</td><td>".$datenfeld[3]."</td></tr>"; } } echo "</table>"; } ?> tabelle.csv: Wurst;Hans;123;Nixtuer Muster;Manfred;456;Kaffeetrinker Schmidt;Karl;789;Schlipsträger Schmid;Olga;782;Assistentin Die Datei tabelle.csv könnte man beispielsweise direkt aus Excel exportieren. Als Trennzeichen verwende ich hier das Semikolon. Das darf dann natürlich nirgendwo anders (beispielsweise im Aufgabengebiet) verwendet werden. So wie das Skript jetzt ist, bekommst Du auch Ergebnisse geliefert, bei denen die Eingabe in der Mitte des Namens vorkommt, d.h. bei Eingabe von "mid" bekommst Du auch den Namen "Schmidt". Wenn Du das nicht möchtest, ersetz einfach die die Zeile if(stristr($datenfeld[0],$name)) { durch if (strtolower($name) == substr(strtolower($datenfeld[0]),0,strlen($name))) { Viel Spaß damit. versuchs ma so Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.