Joomla 1.5.25
Fabrik 2.1
PHP5.3.8
jos_bully_tablebully_concat_namedatetime我用下面的PHP代码计算bully_concat_name在表中出现的次数,它更新了b_name_count列:
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$sql = <<<EOL
UPDATE jos_bully_table AS jbt1
INNER JOIN (
SELECT jbt2.bully_concat_name, COUNT(*) AS b_name_count
FROM jos_bully_table AS jbt2
GROUP BY jbt2.bully_concat_name
) AS jbt3
ON jbt3.bully_concat_name = jbt1.bully_concat_name
SET jbt1.b_name_count = jbt3.b_name_count
EOL;
mysql_query($sql);
echo "<!-- SQL Error ".mysql_error()." -->";然后通过使用以下代码拉出b_name_count的值来显示该#:
$rowid = JRequest::getVar('rowid');
$result = mysql_query("SELECT b_name_count FROM `jos_bully_table` WHERE id = '$rowid'") or die(mysql_error());
$row = mysql_fetch_array( $result );
echo '<div id="inc_count">';
echo '<p style="text-align: center;">';
echo $row['b_name_count'];
echo '</p>';
echo '</div>';当名称出现在b_name_count #下的2列中时,我想显示相关日期的列表。datetime列包含如下记录: 2011-11-16 17:13:01
我想把这个日期显示为2011年11月16日(%m/%d/%Y)。
发布于 2011-11-29 14:40:49
首先,您确实需要研究如何使用HEREDOCs:
$sql = <<<EOL
UPDATE jos_bully_table AS jbt1
INNER JOIN (
SELECT jbt2.bully_concat_name, COUNT(*) AS b_name_count
FROM jos_bully_table AS jbt2
GROUP BY jbt2.bully_concat_name
) AS jbt3
ON jbt3.bully_concat_name = jbt1.bully_concat_name
SET jbt1.b_name_count = jbt3.b_name_count
EOL;请注意缺少\n和所有. "类型操作符,这使得查询的可读性大大提高。
至于日期问题,您没有提到列的名称(我认为),但是您可以使用MySQL的格式()函数为您进行格式化:
SELECT DATE_FORMAT(`datetimefield`, '%m/%d/%Y') ...https://stackoverflow.com/questions/8312103
复制相似问题