Php 同时循环复制结果
我在表中有2行,当我在php中执行while循环获取它时,它会将结果复制5次。正如您所见,它创建了一个表,只有两行,复制结果似乎很奇怪。。我甚至在StackOverflow上找到了一个答案,上面说在查询中添加“DISTINCT”,但它对我的查询不起作用Php 同时循环复制结果,php,mysql,while-loop,Php,Mysql,While Loop,我在表中有2行,当我在php中执行while循环获取它时,它会将结果复制5次。正如您所见,它创建了一个表,只有两行,复制结果似乎很奇怪。。我甚至在StackOverflow上找到了一个答案,上面说在查询中添加“DISTINCT”,但它对我的查询不起作用 <?php // A sessão precisa ser iniciada em cada página diferente $id=null; session_start(); if (isset($_SESSION['Usua
<?php
// A sessão precisa ser iniciada em cada página diferente
$id=null;
session_start();
if (isset($_SESSION['UsuarioID']))
{
$id = $_SESSION['UsuarioID'];
}
?>
<head>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="http://www.iconj.com/ico/7/5/75jqn04zq9.ico" type="image/x-icon" />
<title>Verificar estado</title></head>
<body>
</div><?php
//Tentativa de estabelecer uma ligação à BD
$connection = new mysqli('***', '***', '****', '****');
//Verificar se a ligação foi estabelecida com sucesso
if (mysqli_connect_errno() ) {
echo "</h2>Erro no acesso à base de dados.</h2>" . mysqli_connect_error();
exit();
}
$sql = "SELECT DISTINCT id_user, id_ficha, avaria, observacoes, estado, id FROM fichas, usuarios WHERE id_user = " . $id.";";
//Executar a Query!
$result = $connection->query($sql);
echo "<div id='listanomes'>User ID - ID Ficha - Avaria</div>";
?>
<div id="lista">
<div class="estados">
<?php
while ($userproduto = $result->fetch_object()) {
echo '<table border="1">';
echo "<tr>";
echo "<td>" . $userproduto->id_user . "</td>";
echo "<td>" . $userproduto->id_ficha . "</td>";
echo "<td>" . $userproduto->avaria . "</td>";
echo "<td>" . $userproduto->observacoes . "</td>";
echo "<td>" . $userproduto->estado . "</td>";
echo "</tr>";
echo "</table>";
}
echo '</div>';
echo '</div>';
//Termina o script
echo '<div class="foot">';
echo '<p>Copyright © 2013 - Todos os direitos reservados - <a href="mailto:numica@numica.pt">Númica</a></p>';
echo '</div>';
echo '</body>';
echo '</html>';
exit();
?>
埃斯塔多酒店
您必须添加join语句来连接两个表,否则SQL将执行笛卡尔乘积
SELECT DISTINCT id_user, id_ficha, avaria, observacoes, estado, id FROM fichas, usuarios WHERE id_user = $id AND fichas.id = usarios.id_fichas
当您从命令行运行查询时,您得到了多少结果/您正在查询两个表
fichas
和usarios
。每个表中的行数是多少?5在表“usuarios”中,我从查询中删除了一些字段,现在可以使用了。抱歉给你添麻烦了!尝试了您的解决方案,但它不断重复:我这样做:“从fichas WHERE id_user=“”中选择不同的avaria、observacoes、estado$id.“;”;现在它可以工作了:Dit可以工作,因为您删除了usarios表中的一些行,但是如果您在该表中放置了多行,则会出现相同的问题…您必须将usarios唯一键与fichas表中的相关键链接。不可以,因为在我的新查询中,我没有导入表“usarios”,并且表“fichas”具有用户id和“usuarios”只是导入了“id”,它们是一样的,真的很管用