Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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!!

Geschrieben

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.

Geschrieben

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.

Geschrieben

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!!

Geschrieben
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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...