Linking from summary results page to detail page

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
isak
Forum Newbie
Posts: 3
Joined: Wed Aug 19, 2009 11:55 am

Linking from summary results page to detail page

Post by isak »

I am a newbie to php/sql. I have created a sql database to hold real estate listings. I have created a webpage that will display a summary of the listings. I have added a link to the street address that redirects to a detail page for that listing based on the record id. All seems to work well except the detail page will only display the first record in the database regardless of which record you select.

When you scroll over the link in the summary page, it shows the link correctly -- meaning it shows the correct id# -- but it's not correct when the linked page opens. It only opens the first record.

Help? I am clueless and frustrated.

I tried to attach my summary page (allListings.php) and my detail page (inventory.php), but it doesn't seem that works. So let me know what you need and I will send it. Here's the code for the detail page:

Code: Select all

 
<?php require_once('Connections/rsGunn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
    //  $id = $_REQUEST["id"];
  }
  return $theValue;
}
}
 
mysql_select_db($database_rsGunn, $rsGunn);
$query_rsInventory1 = "SELECT ap_form_1.element_1_1, ap_form_1.element_1_2, ap_form_1.element_1_3, ap_form_1.element_1_4, ap_form_1.element_1_5, ap_form_1.element_1_6, ap_form_1.element_2, ap_form_1.element_3, ap_form_1.element_16, ap_form_1.element_4, ap_form_1.element_5, ap_form_1.element_57, ap_form_1.element_6, ap_form_1.element_7, ap_form_1.element_8, ap_form_1.element_9, ap_form_1.id FROM ap_form_1 WHERE ap_form_1.id";
$rsInventory1 = mysql_query($query_rsInventory1, $rsGunn) or die(mysql_error());
$row_rsInventory1 = mysql_fetch_assoc($rsInventory1);
$totalRows_rsInventory1 = mysql_num_rows($rsInventory1);
 
mysql_select_db($database_rsGunn, $rsGunn);
$query_rsInventory2 = "SELECT ap_form_1.element_11, ap_form_1.element_40, ap_form_1.element_12, ap_form_1.element_32, ap_form_1.element_33, ap_form_1.element_34, ap_form_1.element_35, ap_form_1.element_8, ap_form_1.element_9, ap_form_1.element_62, ap_form_1.element_67, ap_form_1.element_66, ap_form_1.element_29, ap_form_1.element_30, ap_form_1.element_31, ap_form_1.id FROM ap_form_1 WHERE ap_form_1.id";
$rsInventory2 = mysql_query($query_rsInventory2, $rsGunn) or die(mysql_error());
$row_rsInventory2 = mysql_fetch_assoc($rsInventory2);
$totalRows_rsInventory2 = mysql_num_rows($rsInventory2);
 
mysql_select_db($database_rsGunn, $rsGunn);
$query_rsAllInventory = "SELECT A.*, B.option as element_67_value FROM ap_form_1 as A  left join ap_element_options as B on A.element_67=B.option_id and B.element_id=67 and B.form_id = 1";
$rsAllInventory = mysql_query($query_rsAllInventory, $rsGunn) or die(mysql_error());
$row_rsAllInventory = mysql_fetch_assoc($rsAllInventory);
$totalRows_rsAllInventory = mysql_num_rows($rsAllInventory);
 
mysql_select_db($database_rsGunn, $rsGunn);
$query_rsDetail = "SELECT * FROM ap_form_1, ap_element_options WHERE ap_form_1.id AND ap_element_options.aeo_id";
$rsDetail = mysql_query($query_rsDetail, $rsGunn) or die(mysql_error());
$row_rsDetail = mysql_fetch_assoc($rsDetail);
$totalRows_rsDetail = mysql_num_rows($rsDetail);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sandra Gunn Properties | Our Listings</title>
<link href="css/p7iqGlobal_basic.css" rel="stylesheet" type="text/css" />
<link href="p7iq/p7iq04.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]>
<style>
#masthead, #columnwrapper, #tnav, #columns-bottom {zoom:1;}
</style>
<![endif]-->
<link href="p7ap/p7ap_01.css" rel="stylesheet" type="text/css" media="all" />
<link href="p7tp/p7tp_10-a.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="p7ap/p7APscripts.js"></script>
<link href="css/tablestyle-list.css" rel="stylesheet" type="text/css" />
 
<link href="gallery/jd.gallery.css" rel="stylesheet" type="text/css">
<script src="gallery/mootools.js" type="text/javascript"></script>
<script src="gallery/jd.gallery.js" type="text/javascript"></script>
<script type="text/javascript">
            function startGallery() {
                var myGallery = new gallery($('featured'), {
                timed: true,
            <!--    delay: 7000, -->
                showArrows: false,
                showCarousel: false
                });
            }
            window.onDomReady(startGallery);
        </script>
 
<script type="text/javascript" src="p7tp/p7tpscripts.js"></script>
</head>
 
<body onload="P7_initTP(12,1)">
<div id="masthead">
  <div id="logo">   <!-- BEGINNING MASTHEAD LOOP -->
    <div id="featured">
      <div class="imageElement">
        <h1>Houston Homes For Sale</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide9.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 10</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide10.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 11</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide11.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 12</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide12.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 13</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide13.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 14</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide14.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 15</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide157.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 21</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide21.jpg" alt="" class="full" /></a></div>
    </div>
    <!-- END MASTHEAD LOOP --></div>
</div>
<?php require_once('inc/masthead.html'); ?>
<div id="columnwrapper">
<div id="columns-top">&nbsp;</div>
<div id="c1">
<div class="content">
  <?php require_once('inc/leftPanel.html'); ?>
</div>
</div>
<div id="listings"><table width="620" border="0" cellpadding="1">
<tr><td>
<div id="p7TP1" class="p7TPpanel">
 
  <div class="p7TPwrapper">
    <div class="p7TP_tabs">
      <div id="p7tpb1_3"><a href="javascript&#058;;">photos</a></div>
      <div id="p7tpb1_2"><a href="javascript&#058;;">details</a></div>
      <div id="p7tpb1_1" class="down"><a class="down" href="javascript&#058;;">overview</a></div>
      
      <br class="p7TPclear" />
    </div>
    <div class="p7TPcontent">
      <div id="p7tpc1_1"><table width="600" cellpadding="6">
          <tr>
            <td><h3><?php echo $row_rsInventory1['id']; ?> | <?php echo $row_rsInventory1['element_1_1']; ?> <?php echo $row_rsInventory1['element_2']; ?></h3></td>
            <td><h3>$<?php echo $row_rsInventory1['element_3']; ?></h3></td>
          </tr>
          <tr>
            <td colspan="2"><div align="center"><?php echo $row_rsInventory1['element_16']; ?></div></td>
          </tr>
          <tr>
            <td colspan="2"><?php echo $row_rsInventory1['element_4']; ?><br />
              <strong><?php echo $row_rsInventory1['element_5']; ?> / <?php echo $row_rsInventory1['element_6']; ?> - <?php echo $row_rsInventory1['element_7']; ?> / <?php echo $row_rsInventory1['element_8']; ?> per <?php echo $row_rsInventory1['element_9']; ?></strong><br /></td>
          </tr>
          <tr><td colspan="2">To schedule an appointment, contact Sandra by phone at 713.224.2777</td></tr>
        </table>
        <p>&nbsp;</p>
      </div>
      <div id="p7tpc1_2">
        <table width="600" cellpadding="6">
  <tr>
    <td>Living Room: <?php echo $row_rsInventory2['element_11']; ?></td>
    <td>Kitchen: <?php echo $row_rsInventory2['element_40']; ?></td>
  </tr>
  <tr>
    <td>Dining Room: <?php echo $row_rsInventory2['element_12']; ?></td>
    <td>Master Bedroom: <?php echo $row_rsInventory2['element_32']; ?></td>
  </tr>
  <tr>
    <td>2nd Bedroom: <?php echo $row_rsInventory2['element_33']; ?></td>
    <td>3rd Bedroom: <?php echo $row_rsInventory2['element_34']; ?></td>
  </tr>
  <tr>
    <td><?php echo $row_rsInventory2['element_8']; ?> sf/<?php echo $row_rsInventory2['element_9']; ?></td>
    <td>Lot: <?php echo $row_rsInventory2['element_62']; ?> /<?php echo $row_rsAllInventory['element_67_value']; ?></td>
  </tr>
  <tr>
    <td colspan="2"><p><?php echo $row_rsInventory2['element_66']; ?></p>
      <p><?php echo $row_rsInventory2['element_29']; ?></p>
      <p><?php echo $row_rsInventory2['element_30']; ?></p>
      <p><?php echo $row_rsInventory2['element_31']; ?></p></td>
  </tr>
  <tr>
    <td colspan="2">To schedule an appointment, contact Sandra by phone at 713.224.2777</td>
  </tr>
</table>
      </div>
      <div id="p7tpc1_3">
        <table width="600" cellpadding="6">
        <tr><td  colspan="2">Lorem ipsum dolor sit amed sed diam nonummy nibh euismod tincidunt ut. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, eu feugiat nulla at vero eros et accumsan et odio  qui blandit praesent luptatum augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, contuer adiping elit, sed diam nonummy nibh euismod.</td></tr></table>
      </div>
    </div>
  </div>
  <!--[if lte IE 6]>
<style type="text/css">.p7TPpanel div,.p7TPpanel a{height:1%;}.p7TP_tabs a{white-space:nowrap;}</style>
<![endif]-->
</div></td></tr></table>
</div>
<div id="columns-bottom">&nbsp;</div>
</div>
<div id="footer">
<div id="footercontent">&copy; Copyright 2001-2009. Sandra Gunn Properties. Licensed
  Real Estate Broker. All rights reserved. No Part of this website may be reproduced
  without the written consent of Sandra Gunn Properties. All information provided
  is deemed reliable but is not guaranteed and should be independently verified.</div>
</div>
</body>
</html>
<?php
mysql_free_result($rsInventory1);
 
mysql_free_result($rsInventory2);
 
mysql_free_result($rsAllInventory);
 
mysql_free_result($rsDetail);
?>
 


Thanks in advance for your guidance.
User avatar
McInfo
DevNet Resident
Posts: 1532
Joined: Wed Apr 01, 2009 1:31 pm

Re: Linking from summary results page to detail page

Post by McInfo »

Let's start with $query_rsInventory1.

Code: Select all

SELECT ap_form_1.element_1_1
     , ap_form_1.element_1_2
     , ap_form_1.element_1_3
     , ap_form_1.element_1_4
     , ap_form_1.element_1_5
     , ap_form_1.element_1_6
     , ap_form_1.element_2
     , ap_form_1.element_3
     , ap_form_1.element_16
     , ap_form_1.element_4
     , ap_form_1.element_5
     , ap_form_1.element_57
     , ap_form_1.element_6
     , ap_form_1.element_7
     , ap_form_1.element_8
     , ap_form_1.element_9
     , ap_form_1.id
FROM ap_form_1
WHERE ap_form_1.id
The first problem is that the WHERE clause is a fragment of what is supposed to be. The query is not tied to the requested id. The second problem is that the fields in this query indicate a poorly-designed database.

Other problems include:
  • mysql_select_db() needs to be called only once per database.
  • mysql_free_result() (if used) should be called immediately after the last time a result is used. It doesn't do any good to put it at the end of the script just before PHP's garbage collection takes care of cleaning up.
  • <!-- --> is an HTML comment, not a Javascript comment.
Edit: This post was recovered from search engine cache.
Last edited by McInfo on Wed Jun 16, 2010 6:55 pm, edited 1 time in total.
isak
Forum Newbie
Posts: 3
Joined: Wed Aug 19, 2009 11:55 am

Re: Linking from summary results page to detail page

Post by isak »

Thanks for the housecleaning tips. I have cleaned up the code for the inventory page... and it STILL works. A big improvement over the past couple days. I added more listings to the database and now the listings page does not show the id in the link when I scroll over it. Ugh.

The database fields are generated by Machform, therefore the column names are pretty horrible. Sorry.

Perhaps the error is in the summary (listings.php) page? Will you please look through it? I am beyond my knowledge but trying to learn. I am trying to create a link on element_1_1 (the street address) that will take you to a detail page. What I have works, but only returns the first record in the database no matter what property you select.

Code: Select all

 
<?php require_once('Connections/rsGunn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
mysql_select_db($database_rsGunn, $rsGunn);
$query_rsAllListings = "SELECT ap_form_1.element_1_1, ap_form_1.element_2, ap_form_1.element_77, ap_form_1.element_76, ap_form_1.element_4, ap_form_1.element_5, ap_form_1.element_6, ap_form_1.element_7, ap_form_1.element_8, ap_form_1.element_9, ap_form_1.element_16, ap_form_1.id FROM ap_form_1 WHERE id=ap_form_1.id";
$rsAllListings = mysql_query($query_rsAllListings, $rsGunn) or die(mysql_error());
$row_rsAllListings = mysql_fetch_assoc($rsAllListings);
$totalRows_rsAllListings = mysql_num_rows($rsAllListings);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sandra Gunn Properties | Our Listings</title>
<link href="css/p7iqGlobal_basic.css" rel="stylesheet" type="text/css" />
<link href="p7iq/p7iq04.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]>
<style>
#masthead, #columnwrapper, #tnav, #columns-bottom {zoom:1;}
</style>
<![endif]-->
<link href="p7ap/p7ap_01.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="p7ap/p7APscripts.js"></script>
<link href="css/tablestyle-list.css" rel="stylesheet" type="text/css" />
 
<link href="gallery/jd.gallery.css" rel="stylesheet" type="text/css">
<script src="gallery/mootools.js" type="text/javascript"></script>
<script src="gallery/jd.gallery.js" type="text/javascript"></script>
<script type="text/javascript">
            function startGallery() {
                var myGallery = new gallery($('featured'), {
                timed: true,
            <!--    delay: 7000, -->
                showArrows: false,
                showCarousel: false
                });
            }
            window.onDomReady(startGallery);
        </script>
<style type="text/css">
<!--
#striped tr {background-color: #EEE;}
#striped tr.hilite {background-color: #E8F2F8;}
-->
</style>
</head>
 
<body>
<div id="masthead">
  <div id="logo">   <!-- BEGINNING MASTHEAD LOOP -->
    <div id="featured">
      <div class="imageElement">
        <h1>Houston Homes For Sale</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide9.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 10</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide10.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 11</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide11.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 12</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide12.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 13</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide13.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 14</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide14.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 15</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide157.jpg" alt="" class="full" /></a></div>
      <div class="imageElement">
        <h1>Houston Homes For Sale 21</h1>
        <p>&nbsp;</p>
        <a href="#" title="Houston Homes For Sale" class="open"> <img src="images/slide21.jpg" alt="" class="full" /></a></div>
    </div>
    <!-- END MASTHEAD LOOP --></div>
</div>
<?php require_once('inc/masthead.html'); ?>
<div id="columnwrapper">
<div id="columns-top">&nbsp;</div>
<div id="c1">
<div class="content">
  <?php require_once('inc/leftPanel.html'); ?>
</div>
</div>
<div id="c2">
<div class="content">
<table width="600">
<?php $counter = 0; // initialize counter outside loop 
do { echo '<tr';
if ($counter++ % 2) {echo 'class="hilite"';} 
echo '><td width="162"><img src="'.$row_rsAllListings['element_16'].'"></td>';
echo '<td width="426"><h2><a href="\inventory.php?id="'.$id.'">'.$row_rsAllListings['element_1_1'];
echo '</a> |  '.$row_rsAllListings['element_2'].'<br />';
echo $row_rsAllListings['element_3'].'</h2><br />';
echo $row_rsAllListings['element_4'].'<br />';
echo 'Beds ' .$row_rsAllListings['element_5'].' / Baths '.$row_rsAllListings['element_6']; 
echo ' - ' .$row_rsAllListings['element_7'].' / '.$row_rsAllListings['element_8'].' sf per '.$row_rsAllListings['element_9'].'<br /></td></tr>'; } while ($row_rsAllListings = mysql_fetch_assoc($rsAllListings)); ?>
</table>
</div>
</div>
<div id="columns-bottom">&nbsp;</div>
</div>
<div id="footer">
<div id="footercontent">&copy; Copyright 2001-2009. Sandra Gunn Properties. Licensed
  Real Estate Broker. All rights reserved. No Part of this website may be reproduced
  without the written consent of Sandra Gunn Properties. All information provided
  is deemed reliable but is not guaranteed and should be independently verified.</div>
</div>
</body>
</html>
 
User avatar
McInfo
DevNet Resident
Posts: 1532
Joined: Wed Apr 01, 2009 1:31 pm

Re: Linking from summary results page to detail page

Post by McInfo »

The listings page does not insert ids into the inventory.php links because the $id variable is undefined on line 130.
isak wrote:The database fields are generated by Machform, therefore the column names are pretty horrible.
I read on appnitro.com that there is a 30-day refund policy.

You and Ms. Gunn would probably be better off if you hired a PHP/MySQL professional to fix the site.

Edit: This post was recovered from search engine cache.
Last edited by McInfo on Wed Jun 16, 2010 6:59 pm, edited 1 time in total.
isak
Forum Newbie
Posts: 3
Joined: Wed Aug 19, 2009 11:55 am

Re: Linking from summary results page to detail page

Post by isak »

What's your price to fix this problem? And how long will it take? Seems like an easy fix for someone who knows php/sql.
Post Reply