好的。这就是我想要实现的目标。我正在保存对表单文本区域的更改,以便可以查看对该文本区域所做的所有更改。就像一串评论。我已经把数据放到了两个表中。我需要你帮我把它弄出来。
我有两个表"worklog“和”worklognote“中的数据。
工作日志是来自具有文本区域的表单的一系列工作指令,称为$spec
工作日志备注是对文本区$spec所做更改的运行列表
在工作日志备注中,我将工作日志中的id另存为worklog_id,以便在进行更改时,数据将与正确的工作指令相匹配。
我可以很好地显示工作日志中的信息。但我根本看不到工作日志中的信息。我的目标是显示工作日志笔记中的数据,并在worklognotes.worklog_id = worklog.id的工作日志笔记中显示记录
我希望这是有意义的。像这样写出来很有帮助。
下面是我使用的查询语句。谢谢你的帮助。
$connection=mysql_connect ("localhost", "foo", "bar") or die ("I cannot connect to the database.");
$db=mysql_select_db ("database", $connection) or die (mysql_error());
$query = "SELECT * FROM worklog WHERE id=$id LIMIT 0,1";
$sql_result = mysql_query($query, $connection) or die (mysql_error());
$connection2=mysql_connect ("localhost", "foo", "bar") or die ("I cannot connect to the database.");
$db=mysql_select_db ("database", $connection2) or die (mysql_error());
$query2 = "SELECT * FROM worklognotes,worklog WHERE worklognotes.worklog_id=worklog.id ORDER BY worklog_id DESC";
$sql_result2 = mysql_query($query2, $connection2) or die (mysql_error());-- cont -- 09-13-10
好的,下面是修改后的查询
$connection = mysql_connect ("localhost", "adsites_seth", "callie") or die ("I cannot connect to the database."); $db = mysql_select_db ("adsites_cerebra", $connection) or die (mysql_error());
$query = "SELECT * FROM worklog "; $query .= "LEFT JOIN worklognotes ON worklog_id = worklognotes.worklog_id "; $query .= "WHERE worklog.id=worklognotes.worklog_id ORDER BY worklognotes.worklog_id ASC";
$sql_result = mysql_query($query, $connection) or die (mysql_error());
我在worklognote表中有四个条目,并且这四个条目都显示在一个页面上。我只需要一个属于我正在查看的工作日志的条目,如果没有条目的话。不显示任何内容。
发布于 2010-08-13 06:28:06
据我所知(如果我错了,请纠正我),你在worklog和worklog之间是“一对多”的关系。
如果确实是这样,那么您需要一个查询,该查询将提供由worklog.id 'joined‘的行。
未经测试,下面的示例应该是有用的:
<?php
$connection = mysql_connect ("localhost", "foo", "bar") or die ("I cannot connect to the database.");
$db = mysql_select_db ("database", $connection) or die (mysql_error());
$query = "SELECT * FROM worklog ";
$query .= "LEFT JOIN worklognotes ON worklog.id = worklognotes.worklog_id ";
$query .= "WHERE worklog.id=$id ORDER BY worklognotes.worklog_id ASC";
$sql_result = mysql_query($query, $connection) or die (mysql_error());
?>这可能会给出一些类似的东西:
SELECT * FROM worklog LEFT JOIN worklognotes ON worklog.id = worklognotes.worklog_id
WHERE worklog.id=1 ORDER BY worklognotes.worknotes_id ASC;
+-------------+----------------+----------------------------------------+
| id | worknotes_id | log |
+-------------+----------------+----------------------------------------+
| 1 | 1 | Houses atre grate |
| 1 | 2 | Houses are grate |
| 1 | 3 | Houses are great |
| 2 | 4 | Shop5 are smelly |
| 2 | 5 | Shops are smelly |
| 2 | 6 | Shopes aren't smelly |
+-------------+---------------------------------------------------------+要获取给定worklog.id的所有工作日志注释,请执行以下操作:
SELECT * FROM worklog LEFT JOIN worklognotes ON worklog.id = worklognotes.worklog_id
WHERE worklog.id=1 AND worklog.id = 1 ORDER BY worklognotes.worknotes_id ASC;
+-------------+----------------+----------------------------------------+
| id | worknotes_id | log |
+-------------+----------------+----------------------------------------+
| 1 | 1 | Houses atre grate |
| 1 | 2 | Houses are grate |
| 1 | 3 | Houses are great |
+-------------+---------------------------------------------------------+https://stackoverflow.com/questions/3472293
复制相似问题