Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera !
Estou desenvolvendo um sisteminha, que possui cadastro de livro, sendo que alguns livros contem até seis autores.
Então no cadastro, eu coloquei um select para cada autor. Não encontrei outra maneira de fazer que não duplicasse autores, pois tenho um cadastro só para autores e outro só para livros, pois o usuário não quer ficar digitando toda hora o nome do autor, enfim, no cadastro de livro, fiz um seleção no banco e trouxe todos os autores cadastrados. Para cadas livro tendo a opção de mais de um autor. O cadastro e alteração desses livros estão funcionando. O problema está na exibição de mais de um autor.
Tentei de dua maneiras:
1ª usando um "contador" :
<?php$query = "SELECT phpgw_estoque.id_estoque, phpgw_estoque.id_autor2, phpgw_estoque.id_autor3, phpgw_estoque.id_autor4, phpgw_estoque.id_autor5, phpgw_estoque.id_autor6, phpgw_autor.id_autor, phpgw_autor.nome_autor FROM phpgw_estoque, phpgw_autor WHERE (phpgw_estoque.id_autor2 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor3 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor4 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor5 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor6 = phpgw_autor.id_autor) AND phpgw_estoque.id_estoque = '$id' ";$result_query = mysql_query($query); ?> <tr> <td width="301" height="92" align="center"> <br><a href="exibir_autores.php?id=<?php echo $linhas['id_autor']; ?>" class="subtitulo_cinza_esc"><?php echo $linhas['nome_autor']; ?></a> <?/*$i = 1; while ($dados = mysql_fetch_array($result_query)) { $id_autor[$i] = $dados['id_autor']; $nome_autor[$i] = $dados['nome_autor']; $i++; }*/ ?><br><a href="exibir_autores.php?id=<?php echo $id_autor[1]; ?>" class="subtitulo_cinza_esc"><?php echo $nome_autor[1]; ?></a> <br><a href="exibir_autores.php?id=<?php echo $id_autor[2]; ?>" class="subtitulo_cinza_esc"><?php echo $nome_autor[2]; ?></a> <br><a href="exibir_autores.php?id=<?php echo $id_autor[3]; ?>" class="subtitulo_cinza_esc"><?php echo $nome_autor[3]; ?></a> <br><a href="exibir_autores.php?id=<?php echo $id_autor[4]; ?>" class="subtitulo_cinza_esc"><?php echo $nome_autor[4]; ?></a> <br><a href="exibir_autores.php?id=<?php echo $id_autor[5]; ?>" class="subtitulo_cinza_esc"><?php echo $nome_autor[5]; ?></a>2ª maneira, somente com while :
<?php$query = "SELECT phpgw_estoque.id_estoque, phpgw_estoque.id_autor2, phpgw_estoque.id_autor3, phpgw_estoque.id_autor4, phpgw_estoque.id_autor5, phpgw_estoque.id_autor6, phpgw_autor.id_autor, phpgw_autor.nome_autor FROM phpgw_estoque, phpgw_autor WHERE (phpgw_estoque.id_autor2 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor3 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor4 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor5 = phpgw_autor.id_autor) OR (phpgw_estoque.id_autor6 = phpgw_autor.id_autor) AND phpgw_estoque.id_estoque = '$id' ";$result_query = mysql_query($query); ?><tr> <td width="301" height="92" align="center"> <br><a href="exibir_autores.php?id=<?php echo $linhas['id_autor']; ?>" class="subtitulo_cinza_esc"><?php echo $linhas['nome_autor']; ?></a><? while ($dados = mysql_fetch_array($result_query)) { $id_autor = $dados['id_autor']; $nome_autor = $dados['nome_autor']; ?> <br><a href="exibir_autores.php?id=<?php echo $id_autor; ?>" class="subtitulo_cinza_esc"><?php echo $nome_autor; ?></a> <? } ?>Eu acho que o problema está na consulta no banco...mas n encontrei nenhuma outra maneira de fazer...então deve ser problema de lógica, sei lá [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/upset.gif
Conto com a ajuda de vcs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Carregando comentários...