使用来自特定用户的正确ID列出数据库中的广告

时间:2015-04-09 15:05:20

标签: php database

所以我有以下SQLQuery:

$user = new User();
$nome = escape($user->data()->username);
$ligacao = mysqli_connect("localhost","root","","publicidade") or die("Erro MySQL");
$sql = "SELECT * FROM ads, users WHERE users.username = '$nome' AND users.id = ads.cod_user";
$resultado = mysqli_query($ligacao, $sql);

然后是当前要列出的代码:

while(($registo = mysqli_fetch_assoc($resultado)) != null)
    {
    ?>

        <tr>
            <td><?php echo $registo["id"]?></td>
            <td><?php echo $registo["content"]?></td>
            <td><?php echo $registo["image"]?></td>
            <td><?php echo $registo["total_views"]?></td>
            <td><?php echo $registo["contract_views"]?></td>
            <td><?php echo $registo["active"]?></td>
            <td><?php echo $registo["cod_type"]?></td>
            <td><?php echo $registo["cod_organization"]?></td>
            <td><a href="editAd.php?id=<?php echo $registo["id"]; ?>">ALTERAR</a></td>
            <td><a href="removeAd.php?id=<?php echo $registo["id"]; ?>">REMOVER</a></td>
        </tr>

    <?php

我想要的一件事就是列出该用户制作的整个广告(它有效),但使用正确的ID,在我的情况下会是“ 1 ”“ 3 “” 6 “” 9 “。问题是它列出了它们,但用户ID为“ 1 ”。

<td><?php echo $registo["id"]?></td>

我应该改变什么吗?

1 个答案:

答案 0 :(得分:1)

您可以将*拆分为完整列表,而列引用表名称并为ads.id指定一个特殊名称:SELECT ... , ads.id as AdID FROM ...

或者您可以在其中一个表中更改id列的名称。这将迫使你在它使用的任何地方改变它。因此,我选择了第一选。