phpbar.de logo

Mailinglisten-Archive

[php] dynamsiche links

[php] dynamsiche links

Kohler, Benjamin php_(at)_phpcenter.de
Tue, 6 Aug 2002 10:24:42 +0200


> leider verstehe ich das Problem wirklich nicht ganz...

> Ich weis nicht, ob das jetzt die Lösung Deines Problems ist, aber wenn
> Du ein 2-dimensionales Array machst, in dem Du link und text über einen
> Index ansprechen kannst. Dann kannst Du den ganzen Kram in einer
> Schleife generieren.

> Vielleicht präzisierst Du Deine Problemstellung noch mal ein wenig...

> Gruß,

> Björn


Hallo Björn,

es geht um ein Newslettersystem.
Auf der Startseite kann man eingeben, wie viele Links benötigt werden.
Darunter befindet sich ein Eingabefeld, wie viele Artikel bzw. Textboxen
benötigt werden.

Das ganze wird dann folgendermaßen generiert:

[...]
while ($i < $links)


	{
print ("<table width=\"800\" height=\"25%\" border=\"0\"
cellspacing=\"0\">");
print ("<tr bgcolor=\"#FFFFFF\">");
print ("<td height=\"42\" valign=\"top\" class=\"newsletterfontblack\">");
print ("Linkbezeichnung $i<br>");
print ("<input name=\"link[]\" type=\"text\" class=\"newsletterbox\"
id=\"link[]\" size=\"30\">");

$i++;
}
[...]

while ($a < $textbox)
{

print ("</p></td>");
print ("<tr>");
print ("<tr bgcolor=\"#FFFFFF\">");
print ("<td width=\"360\" height=\"20\" valign=\"top\" bgcolor=\"#FFFFFF\"
class=\"newsletterfont\"><p class=\"newsletterfontblack\">");
print ("Text $a<br>");
print ("<textarea name=\"text[]\" type=\"text\" cols=\"50\" rows=\"10\"
class=\"newsletterbox\" id=\"text[]\"></textarea>");
print ("<br>");

$a++;
}

[...]

Das ganze wird jetzt in der news.php folgendermaßen aufbereitet:

foreach ($HTTP_POST_VARS["link"] as $wert)

	{


       print ("<tr>");
       print ("<br>");
	   print ("<br>");
	   print ("<td height=\"65\"><font color=\"#000000\" size=\"2\"
face=\"Verdana, Arial, Helvetica, sans-serif\">
                      <a href=\"#text1\">$wert</a></font></td>");
       print ("</tr>");
	   print ("<br>");
	   }

       print ("<table width=\"800\" border=\"0\" cellpadding=\"0\"
cellspacing=\"0\">");
	   print ("<br>");
	   print ("<tr>");
       print ("<td bgcolor=\"#999999\">");
       print ("</td>");
       print ("</tr>");
	   print ("</table>");

foreach ($HTTP_POST_VARS["text"] as $test)

       {
	 [...]

	   print ("<table width=\"800\" border=\"0\" cellpadding=\"0\"
cellspacing=\"0\">");
	   print ("<br>");
	   print ("<tr>");
       print ("<font color=\"#000000\" size=\"2\" face=\"Verdana, Arial,
Helvetica, sans-serif\">$test</font></td>");
       print ("</td>");
       print ("</tr>");
	   print ("<tr>");
	   print ("<br>");
       print ("<td height=\"10\" bgcolor=\"#999999\"></td>");
       print ("</tr>");
	   print ("</table>");
	   }


dargestellt wird das ganze dann wir folgt:

link 1
link 2
link 3


text 1
text 2
text 3

Jetzt soll auf Link 1 ein Anker zu Text 1, auf Link 2 einer auf Text 2 und
so weiter gesetzt werden.
Das Problem ist nur, das die Links den gleichen Namen und die Texte den
gleichen Namen haben.
Wie kann ich da jetzt Anker setzten, bzw. wie kann ich den Links und den
Texten eindeutige Namen geben?
Versteht ihr das Problem jetzt?
Sorry wegen dem vielen Code, aber sonst dauerts ewig das zu erklären... *g*

VLG
Benny


php::bar PHP Wiki   -   Listenarchive