Jump to content


Photo

generate comments by a dynamic id


  • Please log in to reply
1 reply to this topic

#1 xtiancjs

xtiancjs
  • Members
  • PipPipPip
  • Advanced Member
  • 47 posts

Posted 03 March 2006 - 01:53 PM

Hi am still having a little trouble with viewing my comments from the DB. I have 2 tables brokers and comments, I have managed I think to link the primary id of one table(brokers)to a foreign key of the other table(comments). when a user adds a comment from the form it stores in the DB and is assigned an id that is the same as the brokers primary id. The problem is arising from viewing the comments, ALL the comments are still being viewed on each page, I now have a WHERE statement in my recordset and was hoping that would fix it . you can view my example at
[a href=\"http://slazo.com/brokerrate/pages/profile.php\" target=\"_blank\"]http://slazo.com/brokerrate/pages/profile.php[/a] here is all the code (sorry for the huge chunk of code-not sure what would be needed): The code is dreamweaver 8 code:

<?php require_once('../../../Connections/broker.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO comments (broker_id, comment) VALUES (%s, %s)",
GetSQLValueString($_POST['broker_id'], "int"),
GetSQLValueString($_POST['comment'], "text"));

mysql_select_db($database_broker, $broker);
$Result1 = mysql_query($insertSQL, $broker) or die(mysql_error());
}

$maxRows_brokers = 1;
$pageNum_brokers = 0;
if (isset($_GET['pageNum_brokers'])) {
$pageNum_brokers = $_GET['pageNum_brokers'];
}
$startRow_brokers = $pageNum_brokers * $maxRows_brokers;

mysql_select_db($database_broker, $broker);
$query_brokers = "SELECT * FROM brokers";
$query_limit_brokers = sprintf("%s LIMIT %d, %d", $query_brokers, $startRow_brokers, $maxRows_brokers);
$brokers = mysql_query($query_limit_brokers, $broker) or die(mysql_error());
$row_brokers = mysql_fetch_assoc($brokers);

if (isset($_GET['totalRows_brokers'])) {
$totalRows_brokers = $_GET['totalRows_brokers'];
} else {
$all_brokers = mysql_query($query_brokers);
$totalRows_brokers = mysql_num_rows($all_brokers);
}
$totalPages_brokers = ceil($totalRows_brokers/$maxRows_brokers)-1;

$maxRows_comments = 3;
$pageNum_comments = 0;
if (isset($_GET['pageNum_comments'])) {
$pageNum_comments = $_GET['pageNum_comments'];
}
$startRow_comments = $pageNum_comments * $maxRows_comments;

mysql_select_db($database_broker, $broker);
$query_comments = "SELECT * FROM comments, brokers WHERE comments.broker_id = brokers.broker_id";
$query_limit_comments = sprintf("%s LIMIT %d, %d", $query_comments, $startRow_comments, $maxRows_comments);
$comments = mysql_query($query_limit_comments, $broker) or die(mysql_error());
$row_comments = mysql_fetch_assoc($comments);

if (isset($_GET['totalRows_comments'])) {
$totalRows_comments = $_GET['totalRows_comments'];
} else {
$all_comments = mysql_query($query_comments);
$totalRows_comments = mysql_num_rows($all_comments);
}
$totalPages_comments = ceil($totalRows_comments/$maxRows_comments)-1;

$queryString_brokers = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_brokers") == false &&
stristr($param, "totalRows_brokers") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_brokers = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_brokers = sprintf("&totalRows_brokers=%d%s", $totalRows_brokers, $queryString_brokers);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<p>Broker Profile</p>
<table width="100%" border="0">
<tr>
<td colspan="2"><?php echo $row_brokers['info']; ?></td>
</tr>
<tr>
<td width="75%">
<table border="0" width="50%" align="left">
<tr>
<td width="23%" align="center"><?php if ($pageNum_brokers > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_brokers=%d%s", $currentPage, 0, $queryString_brokers); ?>">First</a>
<?php } // Show if not first page ?>
</td>
<td width="31%" align="center"><?php if ($pageNum_brokers > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_brokers=%d%s", $currentPage, max(0, $pageNum_brokers - 1), $queryString_brokers); ?>">Previous</a>
<?php } // Show if not first page ?>
</td>
<td width="23%" align="center"><?php if ($pageNum_brokers < $totalPages_brokers) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_brokers=%d%s", $currentPage, min($totalPages_brokers, $pageNum_brokers + 1), $queryString_brokers); ?>">Next</a>
<?php } // Show if not last page ?>
</td>
<td width="23%" align="center"><?php if ($pageNum_brokers < $totalPages_brokers) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_brokers=%d%s", $currentPage, $totalPages_brokers, $queryString_brokers); ?>">Last</a>
<?php } // Show if not last page ?>
</td>
</tr>
</table></td>
<td width="25%"> </td>
</tr>
</table>
<p>Comments</p>
<?php do { ?>
<table width="100%" border="0">
<tr>
<td colspan="2"><?php echo $row_comments['comment']; ?></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<?php } while ($row_comments = mysql_fetch_assoc($comments)); ?><p>Add a comment:</p>
<p> </p>

<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Comment:</td>
<td><textarea name="comment" cols="32"></textarea></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Insert record"></td>
</tr>
</table>
<input name="broker_id" type="hidden" value="<?php echo $row_brokers['broker_id']; ?>">
<input type="hidden" name="MM_insert" value="form1">
</form>
<p> </p>
</html>
<?php
mysql_free_result($brokers);

mysql_free_result($comments);
?>



Thanks for any help!!!!
xtian

#2 xtiancjs

xtiancjs
  • Members
  • PipPipPip
  • Advanced Member
  • 47 posts

Posted 03 March 2006 - 02:58 PM

problem solved, my recordset was incorrect, I took out the second recordset and simplified the first one to

SELECT brokers.info, comments.comment
FROM brokers, comments
WHERE brokers.broker_id = comments.broker_id







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users