Soma Número De Repostas
#1
Posted 19/07/2004, 16:21
TABELA COTACAO
cod_cotacao
cotacao
TABELA COTACAO ITEM
cod_cotacaoitem
cod_cotacao
valor
Quero colocar um uma tabela o resultado da seguinte forma:
COTACOES | No. de Respostas
Cotacao1 5
Cotacao2 10
Estou tentando mais ñ consigo, se puderem me ajudar valeu.
#2
Posted 19/07/2004, 16:24
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
#3
Posted 19/07/2004, 16:30
tem uma tabela com todas as cotações e outra com os orçamentos dos fornecedores para cada cotação.
COTACOES
cod_cotacao
cotacao (descrição da cotacao)
COTACOES_ITEM
cod_cotacaoitem
cod_cotacao
cod_fornecedor
valor (valor do orcamento para essa cotacao)
Com isso terei de listar a cotacao em uma coluna e na frente o número de orcamentos (respostas) para essa cotação, exemplo:
RESULTADO
Cotacao | respostas (número de fornecedores q responderam essa cotacao)
teste | 5
teste2 | 9
entendeu?
#4
Posted 19/07/2004, 16:31
#5
Posted 19/07/2004, 17:13
select COUNT(*) from cotacoes_item where cod_cotacao='$res[cod_cotacao]'
Selecionando onde $res[cod_cotacao] é o código da cotação ira te retornar o número de resultados obtidos ..... resumindo use o count() e pronto
Para exibir
PHP |
<?php $sql=mysql_query("select COUNT(*) from cotacoes_item where cod_cotacao='$res[cod_cotacao]'"); echo mysql_result($sql,0); ?> |
O result vai trazer o resultado e pronto
Quando estiver fazendo a exibição das cotações ai você usa isso e pronto
#6
Posted 19/07/2004, 17:25
tentei da forma que falou mas dá o seguinte erro:
Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\times\cotacao\public_html\adm\respostas_orcamentos.php on line 119
Coloquei abaixo parte do código que estou usando, se possível veja onde estou errando, ok?
<td height="1"><table width="100%" border="0"> <tr bgcolor="#E6E6E6"> <td width="63" height="18"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $array_result["cod_cotacao"]; ?></font></div></td> <td width="209" height="18"> <div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $array_result["solicitante"]; ?></font></div> </td> <td width="176" height="18"> <div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $array_result["material"]; ?></font></div></td> <td width="171" height="18"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"> <?php $respostas=mysql_query("select COUNT(*) as Total from cotacoes_item where cod_cotacao='$array_result[cod_cotacao]'"); echo mysql_result($respostas,0); ?></font></div></td> <td width="115" height="18"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="respostas_orcamentos_mostra.php?orcamento=<? echo $array_result["cod_cotacao"]; ?>">Ver e Enviar</a></font></div></td> </tr> </table></td> </tr>
Abraço.
#7
Posted 19/07/2004, 17:31
Isso é desnecessário
Faça assim naquela parte
PHP |
<?php $respostas=mysql_query("select COUNT(*) from cotacoes_item where cod_cotacao='$array_result[cod_cotacao]'") or die (mysql_error()); echo mysql_result($respostas,0); ?> |
Se naum der certo vai retornar o erro é mais fácil assim
#8
Posted 19/07/2004, 17:50
No Database Selected
Não sei porque dá esse erro se a conexão está certa. Coloquei todo o código abaixo para facilitar ver o erro.
Será que é porque estou usando paginação?
<?php // consulta no banco de dados... $host = "localhost"; $user = ""; $pass = ""; $db_nome = "cotacoes"; $enviado = "s"; $link = mysql_connect ($host, $user, $pass); $query = "SELECT * FROM cotacoes WHERE enviado = '$enviado' ORDER BY data"; $result = mysql_db_query ($db_nome, $query, $link) or die ("Conexão falhou!"); // total de registros retornados pela consulta... $num = mysql_num_rows($result); // total de registros por página... // você pode fixar ou deixar que o usuário escolha este valor... $total_reg = 10; // finaliza a consulta... mysql_close($link); // 10 registros ou menos... if ($num <= $total_reg) { $total_paginas = 1; } // mais de 10 registros com valor múltiplo de 10... if ($num%$total_reg == 0) { $total_paginas = $num / $total_reg; } // mais de 10 registros porém o valor não é múltiplo de 10... else { // como a divisão não é exata, teremos que subtrair a parte que não é inteira e // acrescentar 1 página. $total_paginas = ($num/$total_reg) - (($num%$total_reg)/$total_reg) + 1; } //VERIFICA SE RETORNOU ALGO if($num == 0) echo "Nenhum orçamento pendente no momento."; else { $linha_inicial = ($pagina - 1) * $total_reg; $linha_final = $linha_inicial + $total_reg - 1; // escrevendo os registros... // vamos usar um arcador para sabermos se estamos entre a linha final e a linha inicial... $marcador = 0; while ($array_result = mysql_fetch_array($result)) { // se o marcador está dentro do intervalo desejado, escrevemos o registro... if ($marcador >= $linha_inicial and $marcador <= $linha_final) { ?> <td height="1"><table width="100%" border="0"> <tr bgcolor="#E6E6E6"> <td width="63" height="18"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $array_result["cod_cotacao"]; ?></font></div></td> <td width="209" height="18"> <div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $array_result["solicitante"]; ?></font></div> </td> <td width="176" height="18"> <div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $array_result["material"]; ?></font></div></td> <td width="171" height="18"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"> <?php $respostas=mysql_query("SELECT COUNT(*) FROM cotacoes_item WHERE cod_cotacao='$array_result[cod_cotacao]'") or die (mysql_error()); echo mysql_result($respostas,0); ?></font></div></td> <td width="115" height="18"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="respostas_orcamentos_mostra.php?orcamento=<? echo $array_result["cod_cotacao"]; ?>">Ver e Enviar</a> | Alterar</font></div></td> </tr> </table></td> </tr> <? } //incrementamos o marcador... $marcador = $marcador + 1; } if ($pagina == 1) { echo "<font color=\"#999999\">anterior</font> |"; } // do contrário, linka a página anterior... else { echo "<a href=\"orcamentos.php?pagina=".($pagina - 1)."\" targe=\"_self\">anterior</a> |"; } // gerando os números com os respectivos links... $i = 1; while ($i <= $total_paginas) { // a página atual não precisa ser linkada... if ($i == $pagina) { echo " <b><u>$i</u></b> "; } // as demais páginas deve ser linkadas... else { echo " <a href=\"orcamentos.php?pagina=".$i."\" target=\"_self\">".$i."</a> "; } $i = $i + 1; } // se estivermos na última página, o link "próximo" não precisa linkar nada... if ($pagina == $total_paginas) { echo "| <font color=\"#999999\">próxima</font>\n"; } // do contrário, linka a próxima página... else { echo "| <a href=\"empresas.php?pagina=".($pagina + 1)."\" targe=\"_self\">próxima</a> \n"; } } ?>
Edição feita por: marciofr, 19/07/2004, 18:05.
#9
Posted 20/07/2004, 18:34
Pode conferir você naum escolheu
#10
Posted 21/07/2004, 05:05
Ou seja,Se ele retorna este erro é pq ele ocorreu eu no seu código realmente naum escolheu o banco de dados .....
Pode conferir você naum escolheu
Coloque este código:
Após a conexão.mysql_select_db("Nome do Bd", $link); //pelo que vi no script o nome do bd é cotacoes
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)