You are not logged in.

  • Login

1

Wednesday, February 15th 2006, 4:42pm

Wörter alphabetisch einordnen..

Ich versuche eingelesene Wörter in die entsprechenden Seiten einzutragen, also "Auto zu a.html", "Bratwurst zu b.html", u.s.w

Die Unterseiten werden erstellt, jedoch werden die Wörter(Auto,Bratwurst,Einkauf) folgend eingeordnet:

a.html = Auto, Aratwurst, Ainkauf
b.html = Bauto, Bratuwrst, Binkau
... u.s.w



PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$alphabet  = array('a', 'b', 'c', 'd', 'e');
$alphabet_summe= count($alphabet);
 
for ($k=0; $k<$alphabet_summe; $k++)
{
$filename = $alphabet[$k].'.html';
 
		  for($i=0; $i<$keyword_summe; $i++)
                   {
                          if ($keyword[$i]{0}= $alphabet[$k])
                          	{
                                 $kategorie .= $keyword[$i].'<br />';
                                 }
                    }
         $handle = fopen($filename, "a");
         fwrite($handle, $kategorie)or die("Fehler_Kategorie");
         unset($kategorie);
}

2

Wednesday, February 15th 2006, 4:49pm

du verwendest ein =
so ist es keine bedingung sondern eine zuweisung
du weist also dem ersten buchstaben des alphabets den aktuellen buchstaben des äußeren arrays zu

das gibts nicht
== muss es sein

warum es keinen syntax fehler gibt
weil so in der if schleife geprüft wird
Kann ich $keyword[$i]{0} das $alphabet[$k] zuweisen
JA = fortfahren
NEIN = ignore


hier was funktionierendes

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
$keyword = array('ichbintoll','dubisttoll','wirsindtoll','allesindtoll');
$keyword_summe = count($keyword);
 
 
$alphabet = array('a', 'b', 'c', 'd', 'e');
$alphabet_summe= count($alphabet);
 
for ($k=0; $k<$alphabet_summe; $k++)
{
	$filename = $alphabet[$k].'.html';
	for($i=0; $i<$keyword_summe; $i++) {
		if ($keyword[$i]{0} == $alphabet[$k]) {
			$kategorie .= $keyword[$i].'<br />';
		}
	}
	//$handle = fopen($filename, "a");
	//fwrite($handle, $kategorie)or die("Fehler_Kategorie");
	echo '<p />Schreibe: '.$kategorie;
	unset($kategorie);
} 
?>

3

Wednesday, February 15th 2006, 4:59pm

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Ich nehme an, die Keywords sind in einem Array
$keywords = array("Auto", "Baum", "Coke");
 
foreach($keywords as $keyword)
{
	$filename = strtolower($keyword{0}).".html";
	$handle = fopen($filename, "a+");
	fwrite($handle, $keyword."<br />") OR die("Fehler beim Schreiben der Datei (".$filename.")");
	fclose($handle);
}
?>


<edit>
Am besten ist, du benutzt das Attribut a+ beim Öffnen der Datei, damit die Datei automatisch angelegt wird, falls sie nicht existiert.
Man sollte allerdings generell selbst produzierte Fehlermeldungen so einrichten, dass sie für die Besucher der Seite nicht offensichtlich sind, genauso wie die Fehlermeldungen von PHP.
</edit>

Similar threads

Social bookmarks