Página 1 de 1

Consulta SQL erro de repeticao de dados

Enviado: 12 Abr 2013, 04:36
por conceptdoor
Prezados amigos


Estou fazendo uma integração manual. Para controle do meu estoque.

Ou seja, quero exibir uma lista dos meus produtos ordenados por name, product_id, stock_status_id que estão no banco de dados das tabelas opencart_product e catalog_product_flat_1

Em regra , ira aparecer uma tabela com a lista de produtos ordenado da seguinte forma :

Produto id status

xxx 2 "pronta entrega"
yyyy 3 "Sob encomenda prazo 5 dias"


Apartir dai , eu poderia modificar manualmente o "status" de acordo com meu estoque.

O problema que quando realizo a consulta no banco de dados

SELECT name, product_id, stock_status_id FROM catalog_product_flat_1, ORDER BY name

Os produtos são exibidos de forma repetida..

Preciso corrigir para que eles não se repitam para continuar com meu código..

alguem pode ajudar??



<html>
<head>
<title>Exibir dados com PHP/MySql</title>
</head>
<body>
<!-- Javascript goes in the document HEAD -->
<script type="text/javascript">
function altRows(id){
if(document.getElementsByTagName){

var table = document.getElementById(id);
var rows = table.getElementsByTagName("tr");

for(i = 0; i < rows.length; i++){
if(i % 2 == 0){
rows.className = "evenrowcolor";
}else{
rows.className = "oddrowcolor";
}
}
}
}
window.onload=function(){
altRows('alternatecolor');
}
</script>

<h1>Exibir dados com PHP/MySql</h1>
<style type="text/css">
table.altrowstable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #a9c6c9;
border-collapse: collapse;
}
table.altrowstable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
table.altrowstable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
.oddrowcolor{
background-color:#d4e3e5;
}
.evenrowcolor{
background-color:#c3dde0;
}
</style>


<?php
/* Conecta com o banco de dados */
mysql_connect('mysql01.xxx..ws', '', '') or die('Erro ao conectar');
mysql_select_db('') or die('Erro ao selecionar banco de dados');

/* Executa a query */
//$rs = mysql_query("SELECT name, product_id, stock_status_id FROM opencart_product, catalog_product_flat_1 GROUP BY stock_status_id");
$rs = mysql_query("SELECT name, product_id, stock_status_id FROM opencart_product, catalog_product_flat_1 ORDER BY name");
//$rs .= mysql_query("SELECT name, FROM catalog_product_flat_1, ORDER BY name");
//$rs = mysql_query("SELECT product_id, stock_status_id FROM opencart_product UNION (SELECT name FROM catalog_product_flat_1) ORDER BY product_id");
$headers = array('Produto', 'Id', 'Status');

/* Chama a função */
geraTabela($rs, $headers);

// id = 6 = 5 dias
//id = 5 = sem estoque
//id = 7 = pronta entrega
//id=8 sob encomenda

/**
* Gera uma tabela HTML com os registros do resultado de uma consulta SQL
* @author Rafael Wendel Pinheiro
* @param ResultSet $rs resultado de uma consulta sql
* @param Array $headers Array com os cabeçalhos da tabela
* @return void
*/
function geraTabela($rs, $headers)
{
$s = "<form action='ffff'><table border=0 class='altrowstable' id='alternatecolor' cellspacing='0' cellpadding='0'>";
$s .= "<tr class='titulo'>";
// foreach ($headers as $header) {
// $s .= "<td width = 180 height=40 class='titulocelula'><B>$header</B></td><td width=5></td>";
// }
$s.= "<td with=250><b>Produto</b></td><td width=5></td><td width=20><b>id</b></td><td width=5></td><td width=150><b>Status</b></td><td></td>";
$s .= "</tr>";
while ($row = mysql_fetch_object($rs)){
$s .= "<tr class='linha'>";
foreach ($row as $data){
switch($data) {
case "6":
$escreve = "Sem estoque - 5 dias";
break;
case "5":
$escreve = "Sem estoque";
break;
case "7":
$escreve = "<option value='Estoque' selected>(please select:)</option>";
break;
case "8":
$escreve = "Sob encomenda";
break;
default :
$escreve = $data;
}
$s .= "<td class='linhacelula'>$escreve </td><td width=5></td>";
}
$s .= "</tr>";
}

$s .= "</table></form>";

echo $s;
}

?>


</body>
</html>