php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 27-10-2012, 11:16
cypersand
 Registrierter Benutzer
Links : Onlinestatus : cypersand ist offline
Registriert seit: Oct 2012
Beiträge: 3
cypersand befindet sich auf einem aufstrebenden Ast
Arrow auslesen in php seite mit Suchfunktion

Habs mir so vorgestellt: 2 Dateien befinden sich auf dem Server (test.htm / auslesen.php) wobei *.htm meine Daten beinhaltet. Jetzt möchte ich auf der php. Seite die Daten auslesen mittels eines Suchfeldes.

*.htm (beinhaltet Tabelle)


Die test.htm beinhaltet Daten (ID | Name | Vorname | Telefonnummer | E-Mail) welche auf der Seite "auslesen.php" anhand eines Suchfeldes ausgelesen werden soll. Die php-Seite hab ich mal nachfolgend probiert.
Die 2 Dateien befinden sich im gleichen Verzeichnis. Wenn ich jetzt im Suchfeld "He" eingebe soll er alles was er bei der Auswahl "Name" findet auf der PHP-Seite ausgeben einschließlich der anderen Daten (Vorname | Telefon ...)

PHP-Seite-(siehe Dateianhang - das kommt vom Code heraus)


Kann man den Code so machen? Was fehlt da noch? Bin für jede Hilfe dankbar!
--------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<form action="test.htm" method="post" >
<table width="100%" border="0" bgcolor="#E5E5E5">
<tbody>
<tr>
<td width="170">
<font face="Arial">
<span style="font-size:10pt;">Suchtext:</span>
</font>
</td>
<td width="165">
<font face="Arial">
<span style="font-size:10pt;">Suche in:</span>
</font>
</td>
<td width="619">
<font face="Arial">
<span style="font-size:10pt;">Suchtyp:</span>
</font>
</td>
</tr>
<tr>
<td>
<input size="25" name="suchtext">
</td>
<td>
<select name="suchfeld">
<option value="ID">ID</option>
<option value="Name">Name</option>
<option value="Vorname">Vorname</option>
<option value="Telefon">Telefon</option>
<option value="E-Mail">E-Mail</option>
<option selected="" value="Name">Name</option>
</select>
</td>
<td width="619">
<select name="suchtyp">
<option value="0">exakte Schreibweise</option>
<option selected="" value="1">Teil eines Wortes/einer Zahl</option>
</select>
</td>
</tr>
<tr>
<td width="1079" colspan="3">
<input type="submit" style="font-family:Arial,sans-serif; font-style:normal; font-weight:normal; font-size:10pt;" value="Anfrage senden">
<input type="reset" value="Zurücksetzen" name="Reset">
</td>
</tr>
</tbody>
</table>
Miniaturansicht angehängter Grafiken
auslesen in php seite mit Suchfunktion-suchfeld.jpg  

Geändert von cypersand (27-10-2012 um 11:32 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 27-10-2012, 16:53
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

HTML-Code:
<form action="auslesen.php" method="post" >
PHP-Code:
print_r($_POST); 
Ansonsten erst mal ein paar Grundlagen-Tutorials lesen.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 27-10-2012, 20:30
cypersand
 Registrierter Benutzer
Links : Onlinestatus : cypersand ist offline
Registriert seit: Oct 2012
Beiträge: 3
cypersand befindet sich auf einem aufstrebenden Ast
Standard

Meinst du so:
Form Action wäre "test.htm" oder?? weil da ja die Daten drin wären.

In der php Seite "auslesen.php" soll dann benutzt werden um die Daten zu suchen und da auszugeben. Mein Ansatz war ja der nachfolgende ...

---------------------"auslesen.php"------------------
PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
 <
html xmlns="http://www.w3.org/1999/xhtml"
 <
head
 <
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
 <
title>auslesen.php</title
 </
head

 <
body
 <
form action="test.db" method="post" 
 <
table width="100%" border="0" bgcolor="#E5E5E5"
 <
tbody
 <
tr
 <
td width="170"
 <
font face="Arial"
 <
span style="font-size:10pt;">Suchtext:</span
 </
font
 </
td
 <
td width="165"
 <
font face="Arial"
 <
span style="font-size:10pt;">Suche in:</span
 </
font
 </
td
 <
td width="619"
 <
font face="Arial"
 <
span style="font-size:10pt;">Suchtyp:</span
 </
font
 </
td
 </
tr
 <
tr
 <
td
 <
input size="25" name="suchtext"
 </
td
 <
td
 <
select name="suchfeld"
 <
option value="ID">ID</option
 <
option value="Name">Name</option
 <
option value="Vorname">Vorname</option
 <
option value="Telefon">Telefon</option
 <
option value="E-Mail">E-Mail</option
 <
option selected="" value="Name">Name</option
 </
select
 </
td
 <
td width="619"
 <
select name="suchtyp"
 <
option value="0">exakte Schreibweise</option
 <
option selected="" value="1">Teil eines Wortes/einer Zahl</option
 </
select
 </
td
 </
tr
 <
tr
 <
td width="1079" colspan="3"
 <
input type="submit" style="font-family:Arial,sans-serif; font-style:normal; font-weight:normal; font-size:10pt;" value="Anfrage senden"
 <
input type="reset" value="Zurücksetzen" name="Reset"
 </
td
 </
tr
 </
tbody
 </
table
Es soll dann so als Suche benutzt werden.
Wenn ich z.B. Suchtext:"Mül" eingebe soll in Verbindung mit dem selektierten Auswahl-Feld "Namen" nach den Buchstaben "And" suchen und jede Person auf der PHP-Seite Auflisten die er in der Spalte Namen findet. Einschließlich einer Auflistung der anderen Felder.

Das Ergebnis soll dann so ungefähr aussehen:


ID | Name | Vorname | Telefon | E-Mail
1 Müller Bernd 0161/666665 Bernd@t-online.de
2 Müller Miriam 0152/4632525 Miriam@web.de
Mit Zitat antworten
  #4 (permalink)  
Alt 28-10-2012, 15:43
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Sorry, aber das ist elementares(!) Grundlagenwissen. So lange du das nicht beherrschst, müssten wir dir deinen Code komplett selber programmieren. Und das wird keiner hier tun.

Darum noch mal ein wenig Lesestoff:
PHP - Einleitung
Tutorials - PHP/MySQL - Übersicht

Und das solltest du dir zu Gemüte führen. Denn wenn du nicht die Basics begreifst, ist alles andere sinnlos.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 31-10-2012, 04:20
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Hi cypersand,
Zitat:
Zitat von cypersand Beitrag anzeigen
Kann man den Code so machen? Was fehlt da noch?
Ich würde sagen: Wenn deine Daten tatsächlich in einer Datei stehen, fehlt da ein bißchen PHP-Code.
Nur weil du in der Datei auslesen.php im Formular bei action= die Seite test.htm angibst, heißt das nicht, dass das von alleine geht.

Zum zweiten: Wenn man Daten aus einer Datei ausgibt/einliest, nimmt man üblicherweise eine so genannte CSV-Datei.
Jeder Datensatz steht in einer Zeile, die Felder werden durch ein Zeichen getrennt, Beispiel . . .
CSV-Datei daten.csv:
ID,Name,Vorname,Telefon,Mail
1,Müller,Bernd,0161/666665,Bernd@t-online.de
2,Müller,Miriam,0152/4632525,Miriam@web.de
3,Schmitz,Heiner,0172/4632525,heiner.schmitz@hschmitz.net

Da Peter dich schon zweimal auf Grundlagen hingewiesen hat, sende ich dir zum Lernen ein "kleines" Script, das Datensätze in einer CSV-Datei
sucht und bei Fund in einer Tabelle ausgibt. "Klein", weil das Script nur das Nötigste enthält.
Erläuterungen zu den verwendeten Funktionen findest du hier:
PHP: Arrays - Manual
PHP: String-Funktionen - Manual
PHP: Dateisystem - Manual
PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Suchen in einer CSV-Datei</title>
</head>
<body>
<?php
if(isset($_POST['cmd'])){
 
$file='daten.csv';
 
$f=fopen($file,'r');
 
//Die erste Zeile (Tabellenköpfe, siehe oben) einlesen
 //Die Funktion fgetcsv generiert anhand des Trennzeichens ein Array
 
$head_line=fgetcsv($f);
 
//In der while-Schleife werden die Datensätze gelesen
 //Die Funktion array_combine($array, $array) verwendet die Werte des ersten Arrays ($head_line) als Schlüssel,
 //die Werte des zweiten Arrays werden "als Werte" übernommen. Die Rückgabe der Funktion ist dann ein assoziatives
 //Array (Schlüsselname => Wert), dessen Elemente sich durch Namen => Value des gesendeten select-Tags
 //ansprechen lassen. Vorausgesetzt, die Namen der Tabellenköpfe stimmen mit den Value-Werten des select-Tags überein
 //siehe CSV-Datei Formular
 
while($line=fgetcsv($f)){
  
$data_arr[]=array_combine($head_line,$line);
 }
 
fclose($f);
  echo 
'<h4>Ihre Suche nach "'.$_POST['suchtext'].'" in "'.$_POST['suchfeld'].'" brachte folgende Ergebnisse: </h4>';
  echo 
'<table border="1">';
  echo 
'<tr><th>';
  echo 
implode('<th>'$head_line);
  echo 
'</tr>';
 
// Suchen
 
foreach($data_arr as $data){
  
// Suchtyp Wortteil
  
if($_POST['suchtyp'] == 2){
   if(
stripos($data[$_POST['suchfeld']], $_POST['suchtext']) !== false){
    echo 
'<tr><td>';
     echo 
implode('<td>'$data);
    echo 
'</tr>';
   }
  }
  
// Suchtyp Wortteil Ende
  // Suchtyp exakt
  
if($_POST['suchtyp'] == 1){
   if(
strcmp(strtolower($data[$_POST['suchfeld']]),strtolower($_POST['suchtext']))==0){
    echo 
'<tr><td>';
     echo 
implode('<td>'$data);
    echo 
'</tr>';
   }
  }
  
// Suchtyp exakt Emde
 // Suchen Ende
 
}
 echo 
'</table>';
}
?>
<form action="" method="post">
<table border="1">
<tr>
<td>Suchbegriff</td>
<td>Suchen in</td>
<td>Suchtyp</td>
</tr>
<tr>
<td>
<input type="text" size="25" name="suchtext">
</td>
<td>
<select name="suchfeld">
<option value="ID">ID</option>
<option value="Name" selected>Name</option>
<option value="Vorname">Vorname</option>
<option value="Telefon">Telefon</option>
<option value="Mail">Mail</option>
</select>
</td>
<td>
<select name="suchtyp">
<option value="1">Exakte Schreibweise</option>
<option selected="" value="2">Teil eines Wortes/einer Zahl</option>
</select>
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" name="cmd" value="Anfrage senden"/>
<input type="reset" name="cmd_reset" value="Zurücksetzen">
</td>
</tr>
</table>
</form>
</body>
</html>
Gruß
Günni
Mit Zitat antworten
  #6 (permalink)  
Alt 05-11-2012, 17:29
cypersand
 Registrierter Benutzer
Links : Onlinestatus : cypersand ist offline
Registriert seit: Oct 2012
Beiträge: 3
cypersand befindet sich auf einem aufstrebenden Ast
Standard

Günni du bist super!!! CSV ist genau das richtige!

Sowas in der Richtung mein ich. Habs probiert, es zeigt aber nur die 1. Zeile der *.CSV-Datei an. Muss ich irgendwie eine Wiederholung (Schleife?) reinmachen???

Geändert von cypersand (05-11-2012 um 17:32 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 07-11-2012, 11:16
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Hi cypersand,
Zitat:
Zitat von cypersand Beitrag anzeigen
Günni du bist super!!! CSV ist genau das richtige!
Sowas in der Richtung mein ich. Habs probiert, es zeigt aber nur die 1. Zeile der *.CSV-Datei an.
Muss ich irgendwie eine Wiederholung (Schleife?) reinmachen???
Nee, die Datei wird komplett gelesen, und die Zeilen werden als Arrays in einem Array abgelegt.
Gib' mal nach der Zeile fclose($f); das Array $data_arr aus:
PHP-Code:
echo '<pre>';
  
print_r($data_arr);
echo 
'</pre>'
Ausgabe sollte dann etwa so sein:
Array
(
[0] => Array
(
[ID] => 1
[Name] => Müller
[Vorname] => Bernd
[Telefon] => 0161/666665
[Mail] => Bernd@t-online.de
)
[1] => Array
(
[ID] => 2
[Name] => Müller
[Vorname] => Miriam
[Telefon] => 0152/4632525
[Mail] => Miriam@web.de
)
. . . usw..
)
Damit du die Elemente mit der select-Box ansprechen kannst . . .
PHP-Code:
foreach($data_arr as $data){ //$data ist ein Array
  // Suchtyp Wortteil
  
if($_POST['suchtyp'] == 2){
   if(
stripos($data[$_POST['suchfeld']], $_POST['suchtext']) !== false){ // <-- siehe hier: $data[$_POST['suchfeld']]
     
echo '<tr><td>';
      echo 
implode('<td>'$data);
     echo 
'</tr>';
   }

. . . müssen die value-Werte in der select-Box natürlich mit den Schlüsselfeldern der Arrays übereinstimmen:
HTML-Code:
<select name="suchfeld">
<option value="ID">ID</option>
<option value="Name" selected>Name</option>
<option value="Vorname">Vorname</option>
<option value="Telefon">Telefon</option>
<option value="Mail">Mail</option>
</select>
Wenn du als Suchbegriff z.B. nur einen Buchstaben eingibst, erscheint dann folg. Zeile:
Ihre Suche nach "m" in "Name" brachte folgende Ergebnisse:

Erklär' doch erst mal bitte, was du probiert hast.
Gruß
Günni
Mit Zitat antworten
  #8 (permalink)  
Alt 07-11-2012, 18:36
Wasser_Wanderer
 Registrierter Benutzer
Links : Onlinestatus : Wasser_Wanderer ist offline
Registriert seit: Aug 2011
Beiträge: 225
Wasser_Wanderer befindet sich auf einem aufstrebenden Ast
Standard

Ich habe Günni,s Vorschlag 1zu1 probiert, und es klappt zu 100 %

Man könnte die SELECT-Felder auch via FOREACH aus dem ARRAY $head_line nehmen,
um auf der sicheren Seite zu sein

Geändert von Wasser_Wanderer (07-11-2012 um 19:06 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 08-11-2012, 17:52
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Hi Wasser_Wanderer,
Zitat:
Zitat von Wasser_Wanderer Beitrag anzeigen
Ich habe Günni,s Vorschlag 1zu1 probiert, und es klappt zu 100 %
Man könnte die SELECT-Felder auch via FOREACH aus dem ARRAY $head_line nehmen,
um auf der sicheren Seite zu sein
Hier nicht . . . . Die Variable $head_line wird ja erst nach Absenden des Formulars initialisiert :-)

Aber trotzdem, guter Vorschlag:
Vor der Ausgabe des Formulars liest man die erste Zeile einer CSV-Datei (sofern die erste Zeile die Spaltennamen enthält,
bzw. welche man auch nachträglich ergänzen könnte), und könnte so ein Formular entwerfen, das universell auf jede CSV-Datei passt,
unabhängig von der Spaltenzahl der Datei.

Gruß
Günni
Mit Zitat antworten
  #10 (permalink)  
Alt 09-11-2012, 00:21
Wasser_Wanderer
 Registrierter Benutzer
Links : Onlinestatus : Wasser_Wanderer ist offline
Registriert seit: Aug 2011
Beiträge: 225
Wasser_Wanderer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Guenni61 Beitrag anzeigen
Hier nicht . . . . Die Variable $head_line wird ja erst nach Absenden des Formulars initialisiert :-)
Richtig :-)

Aber dein Ansatz war schon suppi Günnie
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suchfunktion mit PHP und SQL erniedd PHP Developer Forum 28 30-07-2009 15:07
Mit PHP eine HTML-Seite auslesen Besth PHP Developer Forum 1 13-06-2006 19:39
Suchfunktion in HTML-Seite fertigstellen! Aphex PHP Developer Forum 3 15-10-2004 16:47
PHP Suchfunktion für eigene Seite -=[TLK*Shadow]= BRAINSTORMING PHP/SQL/HTML/JS/CSS 4 23-09-2004 16:32
PHP Handbuch Offline mit Suchfunktion Churchill27 Off-Topic Diskussionen 3 14-08-2004 14:31

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:17 Uhr.