所以我有以下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>
我应该改变什么吗?
答案 0 :(得分:1)
您可以将*
拆分为完整列表,而列引用表名称并为ads.id指定一个特殊名称:SELECT ... , ads.id as AdID FROM ...
或者您可以在其中一个表中更改id列的名称。这将迫使你在它使用的任何地方改变它。因此,我选择了第一选。