JavaScript in einer Phpschleife

TimExtreme

Mitglied
Hi,

ih möchte, dass wenn man auf einen Link klickt ein JavaScript PopUp aufgeht in dem eine Beschreibung zur jeweiligen Id steht. Nur mir kommt es so vor als ob sich JavaScript nicht mit der Schleife veträgt, da immer nur die letzte ausgelesene Beschreibung aus der DB ausgegeben wird, egal welchen Link man anklickt.

Tabelle:
id | Name |Beschreibung
1 | Haus |bla bla
2 |Haus2 | bla bla 2

Nun soll das so sein, dass da ein Link ist der Auto heiß und beim anklicken die Beschreibung bla bla in einem Popup kommt. Der Fehler ist aber dass bei mir beispielsweise immer nur die Beschreibung für Haus2 ausgegeben wird egal ob man Haus oder Haus2 anklickt


Hier der Source(nur der betreffende Ausschnitt):
PHP:
<?php
	//Gebäude bauen
	if (isset($gebaudebauen)){
	
		$buybuilding = mysql_query ("SELECT * FROM gebaudearten");
	
		//Tabelle der gebauten Gebaude
		echo "<center>";
		echo "<table border=0  align=center>\n";
		echo "<tr>\n";

		echo "<th bgcolor=\"$tableheadbgcolor\">\n";
		echo "<font color=\"$tableheadfontcolor\" size=\"$tableheadtextsize\">Name</font>";
		echo "</th>\n";

		echo "<th bgcolor=\"$tableheadbgcolor\">\n";
		echo "<font color=\"$tableheadfontcolor\" size=\"$tableheadtextsize\">Beshreibung<a href=\"#\" onMousedown=\"discription()\"><img src=\"img/information.gif\"></a></font>";
		echo "</th>\n";

		echo "<th bgcolor=\"$tableheadbgcolor\">\n";
		echo "<font color=\"$tableheadfontcolor\" size=\"$tableheadtextsize\">Kosten</font>";
		echo "</th>\n";

		echo "</tr>\n";
		echo "<tr>\n";
		
		//Funktionsdeklarierung der JavaScriptalerts
		echo "
		<script language=\"JavaScript\">
		<!--
		function discription(){
		alert (\"Klicken sie auf Lesen, um eine Ausführliche Beschreibung zu bekommen.\")
		}
		// -->
		</script>
		";



		
		
		//Schleife
		while( $building = mysql_fetch_array($buybuilding) ){
			//Auslesen ob der User das jeweilige Gebäude schon besitzt
			$num_id = mysql_num_rows(mysql_query("SELECT * FROM gebaude WHERE besitzerid = '$_SESSION[user_id]' AND gebaudetyp = '$building[id]'"));
			
			//Auslesen der Gebäude kosten
			$preis = mysql_fetch_array(mysql_query("SELECT kosten FROM gebaudearten WHERE id = '$building[id]'"));
			
			echo "
			<script language=\"JavaScript\">
			<!--
			function beschreibung(){
			alert (\"$building[beschreibung]\")
			}
			// -->
			</script>
			";
			
			if ($num_id < 1){
			
				echo "\t<th bgcolor=\"$color\"><center><font color=\"$tabletextcolor\" size=\"$tabletextsize\"><b><a href=\"showstandort.php?sid=$_GET[sid]&ort=$_GET[ort]&gid=$gebaudeid\">$building[name]</a></b></font></center></th>\n";
				
				echo "\t<th bgcolor=\"$color\"><center><font color=\"$tabletextcolor\" size=\"$tabletextsize\"><b><a href=\"#\" onMousedown=\"beschreibung()\">Lesen</a></b></font></center></th>\n";

				echo "\t<th bgcolor=\"$color\"><center><font color=\"$tabletextcolor\" size=\"$tabletextsize\"><b><font>$preis[kosten] $währungszeichen</font></b></font></center></th>\n";

			    echo "</tr>\n";
			
			
			
			}

		
		
		}
?>

Kann mir jemand weiterhelfen?
 
Wenn du mehrere gleichnamige JS-Funktionen in einem Dokument hast, dann wird trotzdem nur eine davon genommen(idR die zuletzt im Dokument stehende).

Notiere die Funktion nur 1 mal, und rufe sie mit dem Beschreibungstext als Parameter auf(worauf du dann in der Funktion zugreifen kannst).... oder notiere gleich die gesamte Anweisung in den betreffenden Elementen.


Übrigens:dort, wo du die <script>'s hinschreibst, sind sie lt. HTML nicht gestattet.
 
Zurück