Mysql连接,PHP
在我开始编写代码之前,让我解释一下我要实现的目标 我想查询一个表,其中一个特定的页面有一个特定的父Id。一旦我有了所有的结果,我想获取这个特定的父Id的页面的Id,并从另一个表中获取它的所有相关页面部分 然后我只想把这些信息放在一个数组中准备好打印 任何帮助都将不胜感激Mysql连接,PHP,php,mysql,Php,Mysql,在我开始编写代码之前,让我解释一下我要实现的目标 我想查询一个表,其中一个特定的页面有一个特定的父Id。一旦我有了所有的结果,我想获取这个特定的父Id的页面的Id,并从另一个表中获取它的所有相关页面部分 然后我只想把这些信息放在一个数组中准备好打印 任何帮助都将不胜感激 $q = $CONN->query("SELECT cms_page.id, cms_page.title, cms_page.slug, cms_page_part.* FROM cms_page LEFT JOIN c
$q = $CONN->query("SELECT cms_page.id, cms_page.title, cms_page.slug, cms_page_part.* FROM cms_page LEFT JOIN cms_page_part ON cms_page_part.page_id=cms_page.id WHERE cms_page.parent_id='8'");
你能公布你的查询结果吗?据我所知,select语句应该为每个匹配部分重复cms_page.id等字段 另见 这(我希望)能解决你的$row['page_part']问题:
$rows = array();
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
while ($row) {
$rows[$row['title']][] = $row; // or select only the fields that you need
$row = mysql_fetch_assoc($result);
}
foreach($rows as $portfolio => $parts) {
// adjust for actual html rendering
echo '<pre>';
print_r($portfolio);
echo "\n";
$count = 0;
foreach($parts as $part) {
echo ++$count . ' - ' . $part['cms_page_part_field1'] . ' - ' . $part['cms_page_part_field2'] . "\n";
}
echo '</pre>';
}
$rows=array();
$result=mysql\u查询($sql);
$row=mysql\u fetch\u assoc($result);
while($row){
$rows[$row['title'][]=$row;//或仅选择所需的字段
$row=mysql\u fetch\u assoc($result);
}
foreach($portfolio=>$parts的行){
//根据实际html呈现进行调整
回声';
印刷(投资组合);
回音“\n”;
$count=0;
foreach($parts作为$part){
echo++$count.'-'.$part['cms\u page\u part\u field1'.-'.$part['cms\u page\u part\u field2'.]。“\n”;
}
回声';
}
根据当前查询检索多行应该没有问题:
$result = mysql_query($sql);
if ($result) {
// keep track of number of portfolio items
$i = 1;
// iterate over rows
while($row = mysql_fetch_assoc($result)) {
// output data to page for each row
echo 'Portfolio item ' . $i;
echo 'Title: ' . $row['title'] . '<br />';
echo 'Slub: ' . $row['slug'] . '<br /><br />';
}
}
您可能希望循环使用类似以下内容的结果集:
$result=mysql\u查询($sql);
如果($结果){
//跟踪投资组合项目的数量
$i=1;
//迭代行
while($row=mysql\u fetch\u assoc($result)){
//将每行的数据输出到页面
回显“投资组合项目”。$i;
回显“Title:”.$row['Title']。
;
回音“Slub:”.$row['slug']。
;
}
}
您的示例代码目前做什么?是否存在错误,或者结果是否有误?它似乎列出了我拥有的四个投资组合,但似乎重复了它们,可能是因为页面部分被添加了一个不正确的连接,也许?我希望页面部分作为四个投资组合中的一个的结果集,不会作为单独的结果返回。因此,您有一个公文包,然后关联的页面部分作为一行。我只是重新阅读您的帖子,它几乎像我需要它的另一种方式…即为每个cms_页面匹配部分。ID然后我建议您选择:-保留1个查询并在构建视图时迭代您的结果集(创建无序列表的部分)-对每个PortfolioTanks进行一次查询(获取零件)以获得您的帮助…我会调查一下。这是$row['page_part'],这是一个棘手的问题…这基本上是我希望能够打印的内容。。。
$result = mysql_query($sql);
if ($result) {
// keep track of number of portfolio items
$i = 1;
// iterate over rows
while($row = mysql_fetch_assoc($result)) {
// output data to page for each row
echo 'Portfolio item ' . $i;
echo 'Title: ' . $row['title'] . '<br />';
echo 'Slub: ' . $row['slug'] . '<br /><br />';
}
}