php-Variable in JS einbinden?

rednug

Grünschnabel
Kann ich (man) eine php-Variable $bild, welche aus einer Datenbank heraus mittels php "ermittelt wurde", in ein JS "onKlick" als URL einbinden?
Dabei wird von mir die URL als Pfadangabe in die MySQL-Datenbank eingetragen.
Verzichte ich auf die JS Funktion, so klappt das in der ausgegebenen Tabelle wunderbar. In meinem Fall wird die Grafik problemlos auf einer neuen Seite im gleichen Fenster dargestellt.
Ich möchte aber, dass der Besucher dieses Bild in einem neuen größenbeschränktem Bild sieht.
Und hier komme ich nicht weiter. Nachfolgend der Quellcode ohne die Tabellenausleserei ( ja)


<html>
<head>
<title>tabellenpruefung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->


</script>
</head>
<body>
<p align="center"><strong>Jetzt m&uuml;&szlig;ten wir die Tabelle mit den Angaben
sehen. </strong></p>
<table width="700" border="3" align="center" cellpadding="0" cellspacing="0" bordercolor="#FF9933">
<tr>
<td width="17%"><div align="center"><a href="#" onClick="MM_openBrWindow('hotel_3.gif','bla','width=300,height=300')">Ort</a></div></td>
<td width="17%"><div align="center">Unterkunft</div></td>
<td width="14%"><div align="center">Bild</div></td>
</tr>


<?php do { ?>
<tr>
<td><div align="center"><?php echo $row_ds_test1['Ort']; ?></div></td>
<td><div align="center"><?php echo $row_ds_test1['Unkun']; ?></div></td> <?php $bild = $row_ds_test1['Bild']; ?>
<?php global $bild; ?>
<td><div align="center"><a href="#" onClick="MM_openBrWindow(\''.$bild.'\' , 'Hotelbild', 'width=400,height=400')"><?php echo $bild?></a></div></td>
</tr>
<?php } while ($row_ds_test1 = mysql_fetch_assoc($ds_test1)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($ds_test1);
?>

Der "Text" des Tabellenfeldes <?php echo $bild?> als Link.

Danke für jede Hilfe

Gunder
 
Ich versteh grad dein Problem nicht, wieso machst du's nicht einfach mit
HTML:
onClick="MM_openBrWindow('<?php echo $bild ?>', 'Hotelbild', 'width=400,height=400')"
 
So habe ich es schon mehrfach versucht. Es klappt jedoch nicht.

Ich erhalte dann diese Fehlermeldung:

Parse error: syntax error, unexpected '?' in D:\xampp\htdocs\bildertest\tabelle2_2.php on line 57

Und hier nochmals der Quelltext:

<td><div align="center"><?php
print '<a href="javascript:;" onClick="MM_openBrWindow('<?php echo $bild ?>', 'Hotelbild', 'width=400,height=400')">'.$bild.'</a>';
?></div></td>

In einem anderen Forum waren wir schon mal soweit:

<?php
print '<a href="javascript:;" onClick="MM_openBrWindow(\' '.$bild.'\', \'Hotelbild\', \'width=400,height=400\')">'.$bild.'</a>';
?>

So geschrieben erhalte ich in der Browseransicht über localhost diese Tabelle:



Ort​
Unterkunft​
Bild​
fritzendorf​
Hotel​
<DIV align=center>
 
Jetzt habe ich was falsch gemacht.


Hier der Quelltext, der in einem anderen Forum angeboten wurde;

HTML:
<?php 
print '<a href="javascript:;" onClick="MM_openBrWindow(\' '.$bild.'\', \'Hotelbild\', \'width=400,height=400\')">'.$bild.'</a>'; 
?>

Das klappt jedoch auch nicht.

Gunder
 

Anhänge

Dann muss was mit deinem php-code oder deiner php-installation nicht in Ordnung sei, denn bei mir es einwandfrei.
Kannst es ja nochmal mit
HTML:
  <script language="JavaScript" type="text/JavaScript">
   <!--
 var bild = <?php echo '\"'.$bild.'\"'; ?>
   function MM_openBrWindow(theURL,winName,features) { //v2.0
     window.open(theURL,winName,features);
   }
   //-->
 </script>
 
 
 <a href="#" onClick="MM_openBrWindow(bild,'bla','width=300,height=300')">Ort</a>
versuchen, aber ich glaub es liegt echt entweder an deinem php-Code oder deiner php-installation. Der Phraser scheit irgentwie das "<?php ?>" in Anführungszeichen nicht so recht zu erkennen oder so. Schau dir einfach mal an, was er an HTML-Code dem Browser übergibt.
 
Nochmal danke!

Habe den Fehler gefunden. Ich hatte direkt in die Datenbank einen Linkbefehl mit eingegeben, und dies war falsch. Bin durch den Quelltext des Browsers darauf gestoßen.

Bis zur nächsten Frage

Gunder
 

Neue Beiträge

Zurück