Jump to content

Archived

This topic is now archived and is closed to further replies.

Jonas_R

Problem with javascript in PHP Photoalbum

Recommended Posts

Hi,

Iam a bit unsure where to put this topic, if it wrong i hope the admin's will move it.

My problem is that i want to use a javascript inside a php code, and i cant seem to get it to work. Well it looks like this:

Iam pretty sure my problem is, that i cant seem to make the correct use of " " and ' ' .

[code]<script language="JavaScript" src="mitjs.js"></script>  //here is a function called "na_open_window"

</head>
<body>

<?php
include('test3.php');
$query = mysql_query("SELECT id,path,parent_album FROM plogger_pictures
WHERE parent_album = 3 ORDER BY id") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
echo 'No pictures!<br>';
} else {
echo '<table width="800" border="0"><tr>';
echo'<td width="800">';
while($row = mysql_fetch_assoc($query)) {
  $file =$row[id]."-".basename($row[path]);
  $name = "Anne".$row[id];
    //echo "<p>$file<p>";
  echo "<a href='javascript:na_open_window('$name',
'ploggerb2.1/images/$row[path]', 0, 0, 0, 0, 0, 0, 0, 0, 0)'
target='_self'><img src='ploggerb2.1/thumbs/$file' border='0'></a>";
  echo "&nbsp";


}
  echo'</td>';
  echo'</tr>';
  echo'</table>';
}
?>[/code]

Best Regards

Jonas Rohde

Share this post


Link to post
Share on other sites
It would help if you tell what it does output as it stands. But here are some suggestions.

Normaly when getting values from a mysql query i do this

$file =$row['id']."-".basename($row['path']); - notice the '' around column names. i'm not sure if they are mandatory but that's the commom way.

Then here i would o this:

echo '<a href="javascript:na_open_window(\''.$name.'\',
"ploggerb2.1/images/'.$row['path'].'", 0, 0, 0, 0, 0, 0, 0, 0, 0)"
target="_self"><img src="ploggerb2.1/thumbs/'.$file.'" border="0"></a>';

Using ' instead of " is quicker because php doesn't execute strings inside single quotes - this also means that when you want to print a variable you have to break the string and use the concatenation operator (.). Also when you want to escape quotes (be it single or double) use the backslash \ (notice the \ before the single quotes in $name variable).

See more at [url=http://www.php.net/manual/en/language.types.string.php]http://www.php.net/manual/en/language.types.string.php[/url] on handling strings.

Hope this helps  :)

Share this post


Link to post
Share on other sites
Hi,

Thanks for the help :)
It was, what i was looking for.
Now everything works as it is supposed to.

Thx very much.

/Jonas R.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.