hi

im not sure what im doing wrong with this:

have a look at the above url:

each product name is suppose to open a small window which will go on to display a description of the product: however when you click on title there is an error and nothing loads

can anybody suggest what im doing wrong

thanks

simon

this is the code for media.php:

<?php include "vsadmin/db_conn_open.php"; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>bestblanks.co.uk</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="bluetipdvd/bluetipdvd.css" rel="stylesheet" type="text/css">
<script language="javascript">
function longdescription(ID) {
  url = 'proddetail.php?ID='+ID;
  window.open(url,'welcome','width=400,height=200');
}
</script>
<SCRIPT SRC="bluetipdvd/language-en.js"></SCRIPT>
<SCRIPT SRC="bluetipdvd/nopcart.js"></SCRIPT>
</script>
</head>
<body background="bluetipdvd/images/background.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="509" height="100%" border="0" align="center" cellpadding="1" cellspacing="1">
  <tr class="rightborder"> 
    <td width="505" valign="top"> <table width="100%" height="100" border="0" align="center" bgcolor="#FFFFFF" valign="top">
        <?php   
$cat = $_GET['cat'];
if(empty($cat)) {
$query = "SELECT * FROM products ORDER BY 'price'";
} else {
$query = "SELECT * FROM products WHERE cat = '$cat' ORDER BY 'price' ";
}
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$num=mysql_num_rows($result);

mysql_close();


$i=0; 
while ($i < $num) { 

$ID=mysql_result($result,$i,"ID"); 
$name=mysql_result($result,$i,"name"); 
$price=mysql_result($result,$i,"price"); 
$photo=mysql_result($result,$i,"photo"); 
$longdescription=mysql_result($result,$i,"longdescription");
$qty=mysql_result($result,$i,"qty");
?>
        <tr> 
          <td width="31%" rowspan="2" valign="top" class="name"><div align="left"></div>
            [<? echo "$ID" ?>] <br> <img src="<? echo "$photo" ?>" alt="<? echo "$name" ?>"></td>
          <td width="69%" valign="top" class="name"><p><span class="name"><a href="javascript:longdescription(<?= $ID ?>)"> 
              <?=$name?>
              </a> </p>
            <p><span class="name"> Our price £<? echo "$price" ?></span></p>
            <p>&nbsp;</p></td>
        </tr>
        <tr> 
          <td valign="top"> <p> 
            <form name=order>
              <input type=hidden name="qty" onChange='this.value=CKquantity(this.value)' value="1">
              <input type=hidden name="PRICE" value="<?php echo "$price" ?>">
              <input type=hidden name="NAME" value="<?php echo "$name" ?>">
              <input type=hidden name="ID_NUM" value="<?php echo "$ID" ?>">
              <input type=hidden name="SHIPPING" value="0.00">
              <input type=image src="../images/addcart.gif" border="0" onClick='AddToCart(this.form)'>
            </FORM></form>
            </td>
        </tr>
        <? 
$i++; 
} 
?>
      </table></td>
</table>
</body>
</html>

[B]and this is the code for the window that opens:[/B]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php include "vsadmin/db_conn_open.php";
$ID = $_GET['ID'];

$query = "SELECT * FROM products";
}
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$num=mysql_num_rows($result);

mysql_close();


$name=mysql_result($result,$i,"name"); 
$price=mysql_result($result,$i,"price"); 
$longdescription=mysql_result($result,$i,"longdescription");
?>

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



<body>
<table width="100%" height="91" border="1" cellpadding="1" cellspacing="1">
  <tr>
    <td><strong><font color="#0000FF" size="2" face="Arial, Helvetica, sans-serif">[</font><font color="#0000FF" size="2" face="Arial, Helvetica, sans-serif"><? echo "$ID"?> 
      ] </font></strong></tr>
    <tr><td><? echo "$name"?></td></tr><tr><td><? echo "$longdescription"?></td></tr>
  <td height="18"></tr>
</table>

</body>
</html>

Dani AI

Generated

As moved the thread, that was the right call: the failure to load is almost certainly caused by server-side PHP output (broken HTML/JS produced by PHP), not a pure JavaScript bug. is correct that PHP is present here — the posted snippets show a mixture of PHP logic errors and a malformed script block that will break the client-side behavior.

Observed problems from the snippets

  • An extra/mismatched HTML/JS tag sequence (a stray closing </script>) will break the browser’s JavaScript parser.
  • The popup page’s PHP contains an unmatched brace and its SELECT does not filter by the incoming ID, so the page will raise parse/warning errors or return the wrong result.
  • ORDER BY 'price' (quotes around a column) treats it as a string constant instead of the column name — use the bare column name.
  • The popup code reads result rows using an index that is never set; that yields warnings and empty output.
  • Short echo tags may not be portable on all servers; mixed tag styles can hide output problems. Popup blockers are a secondary possibility but won’t produce the “error” text the OP mentions.

Quick debug checklist

  1. Open the popup URL directly (proddetail.php?ID=1) in a browser to see raw output and any PHP errors.
  2. Enable full error reporting in a dev environment (error_reporting(E_ALL); ini_set('display_errors',1);) or check the web server error log.
  3. View the page source for the product list page to verify the generated anchor and that the longdescription function is present and properly closed.
  4. Remove/comment external scripts temporarily to isolate the broken block.
  5. Fix the popup query to target the passed ID and fetch a single row. Sanitize the input (cast to int or use prepared statements).
  6. Correct the stray script/brace and the ORDER BY usage, then retest.

Safety/modernization notes
Replace deprecated mysql_* usage with parameterized queries (mysqli or PDO), escape HTML output, and avoid relying on javascript: links — use unobtrusive onclick handlers or event listeners. Fixing the stray closing tag and the broken popup query will usually eliminate the “nothing loads” error.

Recommended Answers

All 3 Replies

You seem to be asking someone to troubleshoot your PHP code. So, I've moved this thread to the PHP forum.

If you're asking a JavaScript question, post only the JavaScript code that appears to contain the problem.

Hello tgreer,
i am not agree with u
on his code there is also PHP.
so why move his post?

Because I saw no JavaScript in his code. I saw PHP code that produces JavaScript. So the first step in troubleshooting the problem is to make sure all of the PHP is valid. If it is, then we can move on to working through the JavaScript.

If a user truly wants help with JavaScript, they should post the relevant JavaScript. With server-side-generated code, the best way to see what is actually produced is to "view source" and copy the relevant code snippets to the forum. Which the original poster can still do! He hasn't been "banned" from the JavaScript forum by any means. I just made a judgment call that he would get better help here.

While we're talking about clarity, in a technical forum I would recommend proper spelling and punctuation. :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.