• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 445
  • Last Modified:

PHP MYSQL CONNECTION AND SENDING VARIABLES TO CREATE A DETAIL PAGE

my problem is that i need to create a master detail page using a tool that i picked up from www.dengjie.com that makes it possible to create a master detail page set in PHP.
my database schema is
ID: autonum
description: string
location: string
size: string
price: integer
code :string
comments string
thumbnail:string
alterpic :string

Masterpage = results cuprite
detailpage = infopage

the masterpage calls for all entries with the same name and when i click on a thumbnail of the product it must take me to the detail page.

code-results cuprite
-------------------------
<?php require_once('Connections/mysql.php'); ?> <?php

$colname_Recordset1 = "1";
$HTTP_Recordset1 = "cuprite";
if (isset($HTTP_SESSION_VARS['cuprite'])) {
  $HTTP_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_SESSION_VARS['cuprite'] : addslashes($HTTP_SESSION_VARS['cuprite']);
}
mysql_select_db($database_mysql, $mysql);
$query_Recordset1 = sprintf("SELECT * FROM cuprite WHERE Name = '%s' ORDER BY ID ASC", $HTTP_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $mysql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

?>
<title>results for cuprite</title>
<body bgcolor="#f3eeab"><div align="center">
  <table width="75%" border="1">
   
    <tr>
      <td><div align="center"><font color="#990000" face="Arial, Helvetica, sans-serif"><strong><?php echo $row_Recordset1['Name']; ?></strong></font></div></td>
    </tr>
  </table>
  <table border="1" align="center" cellpadding="5" cellspacing="5">
    <tr>
      <td><div align="center">
          <?php
  do { // horizontal looper
?>

          <a href="infopage.php?id=<?php echo $row_Recordset1['CODE']; ?>"><img src="<?php echo $row_Recordset1['thumbnail']; ?>" width="100" border="0"></a>
          <?php
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    if (!isset($nested_Recordset1)) {
      $nested_Recordset1= 1;
    }
    if (isset($row_Recordset1) && is_array($row_Recordset1) && $nested_Recordset1++%4==0) {
      echo "<br>";
    }
  } while ($row_Recordset1); //end horizontal looper
?>
        </div></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</div>
<?php
mysql_free_result($Recordset1);
?>


code- Infopage
----------------------
<?php require_once('Connections/mysql.php'); ?>
<?php

$colname_Recordset1 = "1";
if (isset($HTTP_SESSION_VARS['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_SESSION_VARS['ID'] : addslashes($HTTP_SESSION_VARS['ID']);
}
mysql_select_db($database_mysql, $mysql);
$query_Recordset1 = sprintf("SELECT * FROM cuprite WHERE ID = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $mysql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);


?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onLoad="MM_preloadImages('Buttons/Buy%20me_ON.png','Buttons/buy%20me_on.gif')">
<table width="75%" height="567" border="1">
  <tr>
    <td height="39" colspan="3"><div align="center"><?php echo $row_Recordset1['Name']; ?></div></td>
  </tr>
  <tr>
    <td width="51%" rowspan="6"><div align="center"><img src="<?php echo $row_Recordset1['alterpic1']; ?>"></div></td>
    <td width="15%" height="33">
<div align="center">Description</div></td>
    <td width="34%"><?php echo $row_Recordset1['DESCRIPTION']; ?></td>
  </tr>
  <tr>
    <td height="32">
<div align="center">Location</div></td>
    <td height="32"><?php echo $row_Recordset1['LOCALITY']; ?></td>
  </tr>
  <tr>
    <td height="31">
<div align="center">Size</div></td>
    <td height="31"><?php echo $row_Recordset1['SIZE']; ?></td>
  </tr>
  <tr>
    <td height="30">
<div align="center">Price</div></td>
    <td height="30"><?php echo $row_Recordset1['PRICE']; ?></td>
  </tr>
  <tr>
    <td height="37">
<div align="center">Code</div></td>
    <td height="37"><?php echo $row_Recordset1['CODE']; ?></td>
  </tr>
  <tr>
    <td height="87" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td height="122">
<div align="center"><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','Buttons/buy%20me_on.gif',1)"><img name="Image1" border="0" src="Buttons/buy%20me.gif"></a></div></td>
    <td rowspan="2">
<div align="right">Comments:</div></td>
    <td rowspan="2"><?php echo $row_Recordset1['Comments']; ?></td>
  </tr>
  <tr>
    <td height="134">&nbsp;</td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

========================================
any assistance would be great
midian
0
MIDIAN6665
Asked:
MIDIAN6665
  • 13
  • 8
1 Solution
 
rockmansatticCommented:
So what is not working ? do you get errors? What is your question?

at first glance , it looks fine.

Rockman
0
 
MIDIAN6665Author Commented:
When i click on the thumbnail image that is drawn from the database it takes me to the detail page, But the master page is also supposed to send a variable (ID) to the detail page, but the detail page does not seem to pick it up, this variable is used in a recordset query to pick up all the data on the specific item that has the (ID) variable, I dont know what type of variable it is sending or how to pick it up, I thought it was a session variable but when i told the detail page to pick up a session variable called ID it does'nt and it displays the first record in the database, instead of the one with the matching ID, I need help to fix this up so that it displays the right record
midian
0
 
rockmansatticCommented:
What is in your url when you click the image.?

I think it (your master page) may need to be changed from

       <a href="infopage.php?id=<?php echo $row_Recordset1['CODE']; ?>">
to
       <a href="infopage.php?id=<?php echo $row_Recordset1['ID']; ?>">

this is becasue your detail page is asking for the id and looking for it in the url, but the master page is sending the "CODE" whatever that is.

Rockman
0
New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

 
rockmansatticCommented:
No, I am wrong about the last sentence, it is not looking for it there, (although that is the most used method)
Ill get back to you.
Rockman
0
 
rockmansatticCommented:
OK , Ithink two different things are being mixed up here.  the first page is passing "code" in the url and the detail page is asking for a session['id'] which may not be set.

Try this to bypass this problem and let me know.

change
       <a href="infopage.php?id=<?php echo $row_Recordset1['CODE']; ?>">
to
       <a href="infopage.php?id=<?php echo $row_Recordset1['ID']; ?>">

And

change
$colname_Recordset1 = "1";
if (isset($HTTP_SESSION_VARS['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_SESSION_VARS['ID'] : addslashes($HTTP_SESSION_VARS['ID']);
}
to
$colname_Recordset1 = "1";
if (isset($_GET['id'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $$_GET['id'] : addslashes($_GET['id']);
}

Now when you click the image ont he master page, it should take you to the detail page and pass the id of the image in the url and should look like this

infopage.php?id=45

Rockman
0
 
MIDIAN6665Author Commented:
OKAY CHANGED EVERYTHING
WHEN I CLICK ON AN IMAGE THE URL IS http://mineral_matrix.com/HOG/infopage.php?ID=493

and now i get this error:
You have an error in your SQL syntax near '' at line 1

not very clear on where so im goin to have to look.
0
 
MIDIAN6665Author Commented:
"mineral-matix" not "mineral matrix"
0
 
MIDIAN6665Author Commented:
0
 
rockmansatticCommented:
odd..

change this and see what happens

$query_Recordset1 = sprintf("SELECT * FROM cuprite WHERE ID = %s", $colname_Recordset1);
to
$query_Recordset1 = ("SELECT * FROM cuprite WHERE ID = $colname_Recordset1");

rockman
0
 
rockmansatticCommented:
also, while using APACHE, it is case sensitive, so make sure all id and ID are not the same thing

0
 
rockmansatticCommented:
This will look just like a previous post, but the IDs should be similar

change
       <a href="infopage.php?ID=<?php echo $row_Recordset1['CODE']; ?>">
to
       <a href="infopage.php?ID=<?php echo $row_Recordset1['ID']; ?>">

And

change
$colname_Recordset1 = "1";
if (isset($HTTP_SESSION_VARS['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_SESSION_VARS['ID'] : addslashes($HTTP_SESSION_VARS['ID']);
}
to
$colname_Recordset1 = "1";
if (isset($_GET['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $$_GET['ID'] : addslashes($_GET['ID']);
}


Sorry just bad habit of typing in lowercase.

Rockman
0
 
rockmansatticCommented:
I see my error

$colname_Recordset1 = "1";
if (isset($_GET['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);
}


also change BACK this

$query_Recordset1 = ("SELECT * FROM cuprite WHERE ID = $colname_Recordset1");
to
$query_Recordset1 = sprintf("SELECT * FROM cuprite WHERE ID = %s", $colname_Recordset1);

Have I thoughouly confused you?



Also looks like you are changing from asp to php.
I had to do a couple of sites that way myself.  took awhile.


rockman

0
 
MIDIAN6665Author Commented:
in dreamweaver when i look at what the if (isset($_GET['id'])) {
is it shows that it is an entered value, if the master page is sending an ID in the URL should the detail page be looking for a url parameter?
I.E.
$colname_Recordset1 = "1";
if (isset($HTTP_GET_VARS['$_GET['id']'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['$_GET['id']'] : addslashes($HTTP_GET_VARS['$_GET['id']']);
}
0
 
rockmansatticCommented:
yes, but make sure that you are useing ID and not id, which will keep it the same. sorry for that.
Also, I think you can often exchange $_GET.. and $HTTP_GET_VARS.. depending on your settings.
my last post, along with your last one, should fix it.

Rockman
0
 
rockmansatticCommented:
<?php require_once('Connections/mysql.php'); ?>
<?php

$colname_Recordset1 = "1";
if (isset($HTTP_GET_VARS['$_GET['ID']'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['$_GET['ID']'] : addslashes($HTTP_GET_VARS['$_GET['ID']']);
}
mysql_select_db($database_mysql, $mysql);
$query_Recordset1 = sprintf("SELECT * FROM cuprite WHERE ID = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $mysql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);


?>

should work
0
 
MIDIAN6665Author Commented:
and this will be the masterpage code?

<a href="infopage.php?ID=<?php echo $row_Recordset1['ID']; ?>">
0
 
rockmansatticCommented:
yep.
should do it
0
 
MIDIAN6665Author Commented:
Ok now when i click on the thumbnail i get this error for the detail page
Parse error: parse error, unexpected T_STRING, expecting ']' in /usr/www/users/mineral/HOG/infopage.php on line 5

if (isset($HTTP_GET_VARS['$_GET['ID']'])) {    <--line5
0
 
rockmansatticCommented:
This may becasue you may be using PHP4.2*+

change once again

colname_Recordset1 = "1";
if (isset($_GET['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? '$_GET['ID'] : addslashes($_GET['ID']);
}

Settings in your php.ini would tell you if you can use HTTP_GET VARS
that is mainly use for previous version of php, but some still work depending on your server and such. TMK

Rockman(fingers crossed)
0
 
MIDIAN6665Author Commented:
crossing them fingers worked a dream dude!!!!!!!!!
im going to add 50 points!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!
midian
0
 
rockmansatticCommented:
Thanks
Just glad you (we) finally got it.
sorry if i confused you along the way.

This is a rather easy thing to accomplish, but starting with someone elses code makes it a little more difficult more me to 'see' what is going on sometimes.

Rockman
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 13
  • 8
Tackle projects and never again get stuck behind a technical roadblock.
Join Now