Such-Skript Problem

J1M1

Erfahrenes Mitglied
Ziel: Such-Skript für ein Sportverein
Funktion: Mitgliedsname wird in Suchfeld eingegeben -> Mitgliedsname wird mit Namen aus Textdateien mit Wettbewerbsdaten verglichen -> bei Übereinstimmung werden die Wettbewerbsdaten ausgegeben

Code:
PHP:
<?php
$forename = $_POST['forename'];
$surname = $_POST['surname'];

$name = $forename.' '.$surname; 

$filename1 = "dateinamen.txt";
$handle1 = fopen($filename1, "r");
$content1 = fread($handle1, filesize($filename1));
$handle1 = fclose($handle1);

$array1 = explode('.', $content1);

for($i=0;$i<sizeof($array1);$i++){
$filename2 = $array1[$i].'.txt'; 
$handle2 = fopen($filename2, "r");
$content2 = fread($handle2, filesize($filename2));
$handle2 = fclose($handle2);

$array2 = explode('|', $content2);

 for($x=0;$x<sizeof($array2);$x++){
 $array2_1 = explode(';', $array2[$x]);
  if($name == $array2_1[0]){ 
	 echo '<table>';
	 for($n=1;$n<sizeof($array2_1);$n++){
	 echo '<tr>'; 
	 $array2_1_1 = explode('.', $array2_1[$n]);
	  for($m=0;$m<sizeof($array2_1_1);$m++){ 
		echo '<td>'.$array2_1_1[$m].'</td>';
		}
	 echo '</tr>';	
	 }
	 echo '</table>';
	}
 }

} 
?>

Textdateien
dateinamen.txt:
Code:
Berliner Hallenmeisterschaften RHH.Norddeutsche Hallen-Meisterschaften.Berlin-Brandenburgische-Staffelmeisterschaften.Berlin-Brandenburgische Hallenmeisterschaften Potsdam

Berliner Hallenmeisterschaften RHH.txt
Code:
Marcel Schlott; Weitsprung. 6,63m. 1; Hochsprung. 1,88m. 2; 200m. 23,86. 9|
Markus Schr?er; Weitsprung. 5,98m. 4; 200m. 23,65. 7; 60m H?den. 9,31. 10; 60m. 7,58. 14|
Daniel R?ler;  800m. 2:03,99. 6; 1500m. 4:27,36. 7|   
Nikolas Zeigert; 1500m. 4:36,60. 10| 
Michael Steudte; 200m. 25,35. 15| 
Marten Bollfras; 200m. 25,87. 20|             
Luisa Stegemann; 1500m. 5:08,75. 4; 800m. 2:27,44. 5|   
Julia Bannick; Hochsprung. 1,48m. 6; Weitsprung. 4,66m. 20; 60m. 8,68. 31|
Katharina Minkow; 1500m. 5:10,11. 6; 800m. 2:29,96. 7|   
Naemi Smolka; 1500m. 5:28,73. 7; 800m. 2:30,14. 8| 
Mirelle Schaudig; Hochsprung. 1,43m. 9|   
Josephine B?tcher; 400m. 67,12. 10; 200m. 29,36. 39|
Sarah Robeck; 200m. 28,30. 20; 60m. 8,59. 25|        
Marcel Winter; 1500m. 4:03,17. 2|

Norddeutsche Hallen-Meisterschaften.txt
Code:
Marcel Winter ; 	1500m. 4:01,21.	2|
Marcel Schlott ;	Weitsprung. 	6,41m. 	7 ; Hochsprung. 	1,86m. 	9 |
Katharina Minkow; 	1500m. 	5:05,42. 	8 ; 800m. 	2:32,39. 	19 |
Daniel R?ler; 	1500m. 	4:87. 	16 |
Markus Schr?er; 	400m. 	52,52. 	16 ; 200m. 	23,90. 	29 |
Josephine B?tcher; 	400m. 	66,80. 	20 |	 
Sarah Robeck; 200m. 28,39. 29 ; 60m. 8,79.	39 |

Berlin-Brandenburgische-Staffelmeisterschaften.txt
Code:
Sascha Steudte;	1000m. 3:37,02. 9 |
Nikolas Zeigert; 1000m.	3:01,27. 6 | 	 
Luisa Stegemann; 800m. 2:27,29. 3 | 	 
Sherin Zaian; 60m. 8,45. VL; 60m. 8,80. 10 | 	 
Marcel Schlott; Hochsprung. 1,91m. 2 | 	
Nadim Zaian; 600m. 1:36,77. 20 | 	
Michael Steudte; 300m. 40,23. 23 |

Berlin-Brandenburgische Hallenmeisterschaften Potsdam.txt
Code:
Marcel Schlott; Weitsprung. 6,63m. 1; Hochsprung. 1,88m. 2; 200m. 23,86. 9|
Markus Schr?er; Weitsprung. 5,98m. 4; 200m. 23,65. 7; 60m H?den. 9,31. 10; 60m. 7,58. 14|
Daniel R?ler;  800m. 2:03,99. 6; 1500m. 4:27,36. 7|   
Nikolas Zeigert; 1500m. 4:36,60. 10| 
Michael Steudte; 200m. 25,35. 15| 
Marten Bollfras; 200m. 25,87. 20|             
Luisa Stegemann; 1500m. 5:08,75. 4; 800m. 2:27,44. 5|   
Julia Bannick; Hochsprung. 1,48m. 6; Weitsprung. 4,66m. 20; 60m. 8,68. 31|
Katharina Minkow; 1500m. 5:10,11. 6; 800m. 2:29,96. 7|   
Naemi Smolka; 1500m. 5:28,73. 7; 800m. 2:30,14. 8| 
Mirelle Schaudig; Hochsprung. 1,43m. 9|   
Josephine B?tcher; 400m. 67,12. 10; 200m. 29,36. 39|
Sarah Robeck; 200m. 28,30. 20; 60m. 8,59. 25|        
Marcel Winter; 1500m. 4:03,17. 2|

Problem: Obwohl die Namen hunderprozentig übereinstimmen, wird es nicht ausgegeben.

Wenn ich in Linie 24 folgendermaßen umändere:
PHP:
$array2_1 = explode(';', $array2[$x]); echo $array2_1[0]
.. werden komischerweise die Namen mit einem Leerzeichen vorherausgegeben. Also statt "Marcel Schlott" -> " Marcel Schlott".

Kann mir bitte jemand helfen? Kaue schon seit Tage an diesem Problem.

MfG J!M!
 
Hi
benutze doch die substr-Funktion um das Leerzeichen abzuschneiden..
Da du das Array am ";" teilst und nach dem ";" ein Leerzeichen kommt is es logisch das dieses Leerzeichen mit in den String übernommen wird.. ergo.. lass die Leerzeichen in deinen Textdateinen weg oder nutze die substr-Funktion um es abzuschneiden..

PHP:
<?php

echo substr('abcdef', 1);     
//Ausgabe: bcdef

php?>

mfg

5noOPY
 
Zuletzt bearbeitet:
Klappt leider auch nich. Bei manchen wird jetzt der erste Buchstabe mitabgeschnitten, bei manchen ist es richtig, bei manchen ist das Leerzeichen immer noch da... Zum verrückt werden...

Ihr könnt euch selbst ein Bild davon machen: http://halb6.ha.funpic.de/marcel/form.php
(Bereits mit "substr()")

J!M!
 
Nimm [phpf]trim[/phpf] anstelle von [phpf]substr[/phpf]. [phpf]trim[/phpf] schneidet Leerzeichen und andere Zeichen (siehe Manual) am Anfang und Ende des Strings ab.
 
Zurück