php - 从 MySQL 反射(reflect) PHP 中的子记录

标签 php mysql collections

我正在尝试使用 2 个单独的表从我的数据库中获取记录。查询是

public function get_pages_by_campign_id($campaignID) {
    $campaignID = $this->real_escape_string($campaignID);
    return $this->query("SELECT pid, campaignid FROM pages,campaigns WHERE 'pages.campaignid = campaigns.id'");
}

这是由以下人员调用的:

$counter = 1;
            $userID = PageDB::getInstance()->get_user_id_by_name($_SESSION['user']);
            $result = PageDB::getInstance()->get_pages_by_campaign_id($campaignID);
            $i=0;
                while ($row = mysqli_fetch_array($result)):
                 $style = "";
                    if($i%2==0)
    {
        $style = ' style="background-color: #EFEFEF"';
    }
    echo "<tr".$style.">";

                echo "<td style='width:140px;'> Page "  . $counter .  "</td>";
                echo "<td>&nbsp;</td>";
                echo "<td></td>";


                //The loop is left open
                ?>
                <td>
                <form style="display:none;"></form>
                    <form name="editPage" action="editPage.php" method="GET">
                        <input type="hidden" name="pageID" value="<?php echo $pageID = $row['pid']; ?>"/>
                        <input type="submit" name="editPage" value="Edit"/>
                    </form>
                </td>
                <td>
                    <form name="deletePage" action="deletePage.php" method="POST">
                        <input type="hidden" name="pageID" value="<?php echo $pageID = $row['pid']?>"/>
                        <input type="submit" name="deletePage" value="Delete" onclick = "javascript: return confirm('Delete Page <?php echo $counter ?> ?');"/>
                    </form>
                </td>
                <?php
                $pageID = $row['pid'];  
                $counter++;
                $i++;

                echo "</tr>\n";
            endwhile;
            mysqli_free_result($result);
            ?>

这应该列出所有“页面”记录,但它没有返回任何内容。

我已经使用外键将表“campaigns”中的“id”列设置为与表“pages”中的“campaignid”相对应。

我设法用这个修复它:

public function get_pages_by_campaign_id($campaignID) {
    $campaignID = $this->real_escape_string($campaignID);
    return $this->query("SELECT pid, campaignid FROM pages WHERE campaignid = 'campaigns.id'");
}

最佳答案

"SELECT pid, campaignid FROM pages,campaigns WHERE pages.campaignid = campaigns.id"

?

关于php - 从 MySQL 反射(reflect) PHP 中的子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10616772/

相关文章:

php - 在 Symfony 2 中加入查询

javascript - 如果选中任何复选框,则另一个 div 将被 fadeIn();

ruby-on-rails - 当 Foreman (Procfile) 停止运行时,如何使 mysqld 停止运行

java - 对 ArrayList 使用可选索引 - 可能吗?

java - 即时订货

php - 指定的列不在行中

php - 在列中查找子字符串的 MySQL 查询?

PHP函数的返回值到html标签

html - 在html中用 Node 搜索mysql数据库

scala - 是否有更紧凑的方法将 Map[Any,Any] 转换为 Map[String,String]?