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!!
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.
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.
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!!
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden