PHP link wird dreifach ausgegeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ansehen
array
ausgabe
bild
code
datei
file
folgendes problem
funktioniert code
helfen
hinweis
links links zeilen
navigation
schleife
stehen
string
testbericht
text
url
zeile
-
Hallo ich habe folgendes Problem.
In meinen menü wird der link dreifach ausgegeben!
Was ist falsch?
Also kurze Erklärung:
Der Link ist in der Datei menue.txt gespeichert und der Text in text.txt!
<?php $abcde = ""; $ausgabe = ""; $link = file ('menue.txt'); foreach ($link as $l) { $abcde ='<a href="' .$l .'">'; } $zeilen = file ('text.txt'); for ($i = 0; $i <= 699; $i++) { foreach ($zeilen as $zeile) { echo $abcde .$zeilen[$i] .'</a><br>'; } } ?>
Beitrag zuletzt geändert: 12.8.2012 17:57:44 von hpage -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Die beiden Dateien
meneu.txt
index.php navi.php sprache.php
text.txt
Startseite Navigation Sprachassistent
Beitrag zuletzt geändert: 12.8.2012 19:29:18 von hpage -
Die Schleife von 0 bis 699, wofür soll die denn gut sein?
Hier der Code der (zumindest bei mir) funktioniert:
<?php $abcde = ""; $ausgabe = ""; $link = file ('menue.txt'); foreach ($link as $l) { $abcde ='<a href="' .$l .'">'; } $zeilen = file ('text.txt'); foreach ($zeilen as $zeile) { echo $abcde .$zeile .'</a><br>'; } ?>
-
syberpsace schrieb:
Die Schleife von 0 bis 699, wofür soll die denn gut sein?
Hier der Code der (zumindest bei mir) funktioniert:
<?php $abcde = ""; $ausgabe = ""; $link = file ('menue.txt'); foreach ($link as $l) { $abcde ='<a href="' .$l .'">'; } $zeilen = file ('text.txt'); foreach ($zeilen as $zeile) { echo $abcde .$zeile .'</a><br>'; } ?>
Den Code hatte ich schon vorher ausprobiert jetzt steht der richtige text aber der Link ist dreimal gleich und nicht unterschiedlich
Die Ausgabe der Webseite
<div id="menu">
<a href="sprache.php">Startseite
</a><br><a href="sprache.php">Navigation
</a><br><a href="sprache.php">Sprachassistent</a><br></div>
Beitrag zuletzt geändert: 12.8.2012 20:52:00 von hpage -
Logisch dass der Link immer der gleiche ist.
In der ersten Schleife gehst du zwar alle vorhandenen Links durch, speicherst aber nur den Letzten.
Du musst also zu jedem Text den entsprechenden Link verwenden.
Wie genau das geht, darfst du allerdings selbst herausfinden
mfg -
Versuch es mal mit dem Codeschnipsel, so sollte es funktionieren.
<?php $abcde[] = array(); $link = file ('menue.txt'); $zeilen = file ('text.txt'); $counter = count($link) - 1; for($n = 0; $n <= $counter ; $n++) { $links ='<a href="' .$link[$n] .'">'; $links .= $zeilen[$n] . '</a><br>'; echo $links; } ?>
Mit 2 foreach-Schleifen kannst du die Links nicht benutzen. Die foreach-Schleife läuft immer komplett durch bevor er zur nächsten Schleife weiter springt, dadurch überschreibt die Schleife $abcde immer mit dem Neu erzeugten $abcde.
Beitrag zuletzt geändert: 13.8.2012 20:05:10 von vctb -
Hast du mal ein Bild wie es aussieht? Weil ich denke da können wir dir alle vielleicht besser helfen.
-
php-test1 schrieb:
Hast du mal ein Bild wie es aussieht? Weil ich denke da können wir dir alle vielleicht besser helfen.
Ein Link ist besser
So sieht es aus wenn es Dreifache ausgegeben wird
http://hpage.lima-city.de/testberichte/eee.lo
-
Ich werd jetzt nur mal schnell auf den Fehler hinweisen:
hpage schrieb:
<?php foreach ($link as $l) { $abcde ='<a href="' .$l .'">'; }
Hier überschreibst du die Variable immer und immer und immer wieder. Bis der letzte Link kommt, und der bleibt dann stehen. Wenn du dann also deinen String von wegen <a href="test.php"> dadrinnen stehen hast, dann wird das für alle links gleich sein. Du müsstest das ganze am besten in ein Array schreiben und dann die Arrays richtig zusammen bringen.
Liebe Grüße
Edit: Verständlicher gemacht
Beitrag zuletzt geändert: 13.8.2012 20:58:21 von ggamee -
Ab dem Post von php-test1 wird nur mehr schon genanntes wiedergekäut.
Und wie naturfit richtig erkannt hat wurde die richtige Lösung schon von vctb gepostet.
Damit *closed*
Bei Rückfragen einfach eine PN an mich.
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage