PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ausgeben



maik15
01-06-2005, 15:47
Hi,

2 ständig größer werdende txt datei soll anhand eines trennungszeichens (#*#) ausgelesen werden (alle einträge/array-teile).
eine mit einem title (abc#*#def#*#ghi...) und die andere mit einer zahl (1#*#2#*#3...).
jetzt soll das so ausgegeben werden:
abc (1)
def (2)
ghi (3)
und das soweiter bis zum ende
Die anzahl der array-teile ist in beiden datein gleich!
Es müssen 2 datein sein!

ich dachte erst so aber das geht nich:


<?php
$dat="title-liste.txt";
$zei=fopen($dat,"r");
$in=fread($zei,filesize($dat));
$in=explode("#*#",$in);
foreach ($in as $value_title)
{
$datei="zahl-liste.txt";
$zeiger=fopen($datei,"r");
$inhalt=fread($zeiger,filesize($datei));
$inhalt=explode("#*#",$inhalt);
foreach ($inhalt as $value_zahl)
{
?>
<li>
<a href="auslesen.php?nr=<?php echo "$value_zahl"; ?>"><?php echo $value_title; ?> (<?php echo $value_zahl; ?>)</a><br><br>
</li>
<?php
}}
?>

michael.sprick
01-06-2005, 15:52
Schau Dir Dein foreach-konstrukt nochmal genau an...
Du öffnest ja für jedes Element in $in die Zahlendatei und gibst dann pro $value_title alle Zahlen aus...

maik15
01-06-2005, 16:26
wie könnte ich das ändern?
ich habe schon ne weile versucht aber nichts hat funktioniert.

Maik

Joghurt
01-06-2005, 16:45
Ersetze das ganze forall-Konstrukt doch einfach durch

echo "<a href='ausgabe.php?nr=".$inhalt[0]."'>".$inhalt[1]." (".$inhalt[0].")</a>";
(Also die foreach-Anweisung auch weglassen)

maik15
01-06-2005, 17:19
forall-Konstrukt???
was ist das? :eek:
könntest du es bitte etwas genauer schildern?

Maik

Joghurt
01-06-2005, 17:58
meinte foreach...

foreach(...) { .... } komplett durch meinen Code ersetzen.

maik15
01-06-2005, 18:59
nee, geht nicht!
da kommt irgendwas mit 1(2) raus...
also nochmal, wenn ich mich oben etwas falsch ausgedrückt habe:
1. txt Datei:
abc#*#def#*#ghi...
2. txt Datei:
1#*#2#*#3...
Das soll so ausgegeben werden:
abc (1) -> "abc (1)" verlinkt auf ausgabe.php?nr=1
def (2) -> "def (2)" verlinkt auf ausgabe.php?nr=2
ghi (3) -> "ghi (3)" verlinkt auf ausgabe.php?nr=3
...
die zwei datein werden ständig größer, wenn jetzt z.B. in der 1. jkl dazu kommen würde würde in der 2. eine 4 dazu kommen.
Es soll soviel ausgegeben werden, wie einträge in den Datein sind.

michael.sprick
01-06-2005, 19:20
1. Datei 1 öffnen und mit explode in das Array $a1 einlesen
2. Datei 2 öffnen und mit explode in das Array $a2 einlesen

dann


for($i=0;$i<sizeof($a1);$i++)
{
echo "$a1[$i] -> $a2[$i]\n";
}


das geht natürlich nur, wenn Du sicher sein kannst, dass in beiden Dateien gleichviele Datensätze drin sind...

maik15
02-06-2005, 11:32
Hi,

Volltreffer!
Genau so meinte ich es, Danke!

Gruß
Maik