Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
viva pessoal estou com uma dificuldade aqui num excerto de código talvez vocês me consigam ajudar, pretendo igualar todos os campos de id idêntico mas de diferentes tabelas representando-os como uma lista.
<?php
$l=0;
$result2 = mysql_query("SELECT instalacoes_id FROM tbl_detalhe_p_i WHERE produto_id=".$_GET['id']);
while( $row2 = mysql_fetch_array($result2)){
$sport_no = $row2['instalacoes_id'];
$no[] = $sport_no;
echo $no[$l]."<br>";
$l++;
}
$result = mysql_query("SELECT id_instalaServ, instalacoes_Servicos FROM tbl_instalaServ WHERE tipo='CAM' ORDER BY instalacoes_Servicos ASC");
$l=0;
while($row = mysql_fetch_array($result)){
echo' <div id="certo">'.$row[1].'</div>';
$result1 = mysql_query("SELECT id_instalacoes, instalacoes FROM tbl_instalacoes WHERE instalaServ_id ='$row[0]' ORDER BY instalacoes ASC");
echo'<div id="dimention">';
while( $row1 = mysql_fetch_array($result1)){
echo $no[$l]."<div class='control-depose'>";
if($no[$l]==$row1[0]){echo "checked='checked'";} echo"
{$row1['instalacoes']}-{$row1[0]}-{$no[$l]}
</div>";
$l++;
}
echo"</div>";
}
?>Dê uma olhada no link do beraldo..
#Editado.....
^^ this.
#Editado 10:56
Obrigado pelo vosso contributo amigos,
Já li o artigo do Beraldo, contudo no meu post anterior esqueci-me de dizer onde estava o meu problema.
O problema ocorre quando eu quero verificar quais os campos do primeiro select($result2) é que são idênticos aos campos do select que se encontram dentro do loop.
Mais objectivamente o problema surge no "if".
if($no[$l]==$row1[0])
Se eu substituir $no[$l] por $no[0] ele identifica uma linha idêntica, mas se estiver $no[$l] da a impressão que ignora essa linha.
Você tem SELECT dentro de loop, o que gera o famoso Problema do N+1. Seu script pode até funcionar assim, mas vai ficar cada vez mais lento, conforme aumente o número de registros.
Veja
http://rberaldo.com.br/o-problema-do-n-mais-1/
http://forum.imasters.com.br/topic/140816-mini-tutorial-de-mysql/
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/