prinews 0 Denunciar post Postado Abril 28, 2005 oie!!por favor, tenho um colega que me lançou o seguinte desafio.as minhas duvidas estao entre <>Entao, temos 2 tabelas:CATEGORIAcat_id (primaria)cat_nomeNOTICIASnot_id (primaria)not_datanot_noticiacat_ideu gostaria que fossem exibidos os nomes das categorias em vez dos numeros. Aseguir, algumas linhas em PHP:mysql_select_db($database_conexao, $conexao);$query_resultado = "SELECT <como eu preencheria aqui pra exibir o nome em vez do numero? eu sei que tem que usar JOIN, mas como?> ";(...) em tempo, eu preciso produzir a seguinte linha usando o comando echo que posteriormente será usado em um loadVars dentro de um Flash.for($i=0;$i < mysql_num_rows($resultado);$i++){echo "&data".$i."=".mysql_result($resultado, $i, "not_data")."¬icia".$i."=".mysql_result($resultado, $i, "not_noticia")."&categoria".$i."=".mysql_result($resultado, $i, "cat_id");<nesse ultimo caso, pra acontecer o que eu quero, eu devo colocar ($resultado, $i, "cat_id") ou ($resultado, $i, "cat_nome")?>desde ja, muitissimo obrigada!Priscila. Compartilhar este post Link para o post Compartilhar em outros sites
Recycled 0 Denunciar post Postado Abril 28, 2005 Aqui o select: PHP [*] [*]SELECT cat.cat_nome categoria, not.* FROM NOTICIAS not [*]LEFT JOIN [*]CATEGORIAS cat [*]ON (cat.id_cat = not.id_cat) [*] e na hora de mostrar o resultado é só usar $var['categoria'] que ele vai mostrar o nome no lugar do número :) No seu caso mysql_result($resultado,'categoria',$i); Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
prinews 0 Denunciar post Postado Abril 29, 2005 oie Recycled!bom, antes de mais nada, muito obrigada pela tua ajuda! mas com relaçao a estrutura, eu tentei aqui e naum deucerto, Recycled. Eu sou iniciante em php e mysql..tipo eu entendo algumas coisas como a estrutura select,query, ... mas uma parte que naum estou entendendode jeito nenhum é sobre o JOIN. Mesmo lendo artigos,etc eu naum estou achando aquela explicaçao que façacair a ficha.pra ficar mais claro, o que to querendo, na minha tabela CATEGORIAS eu tenho apenas 3 categorias (exemplo:esporte, musica e cultura - só essas 3. Eu não pretendoinserir mais nenhuma.) e na hora de exibir eu gostaria que fosse exibido algo assim dentro de uma tabela com 3 colunas no dreamweaver usando apenas 1 record set:(dai o por que do uso do join)entao, eu criei uma tabela no dreamweaver com 3linhas e 3 colunas:(exemplo 1)26/04/2005 | Brasil vence mais um... | Esporte20/04/2005 | Bossa nova volta a ... | Musica13/04/2005 | Nova exposiçao d arte...| Culturao problema é que, como já disse, em vez de aparecer onome das categorias, aparece somente os numeros, ficandoassim:(exemplo 2)26/04/2005 | Brasil vence mais um... | 120/04/2005 | Bossa nova volta a ... | 313/04/2005 | Nova exposiçao d arte...| 2e eu queria os nomes... mas ainda, aparecem só numeros.e mais, eu queria que isso fosse feito com ordenaçao DESC pela DATA como nos exemplos acima. Aproveitando oespaço, gostaria muito de saber como fazer com que meuPHP exiba a data em "d/m/Y" e no mysql apareça "Y/m/d"e este por sua vez retorne para a pagina php com o formato"d/m/Y". você sabe tb?novamente, muito obrigada!Priscila. Compartilhar este post Link para o post Compartilhar em outros sites
Recycled 0 Denunciar post Postado Abril 29, 2005 Bom, aqui vai um exemplo de listagem com o meu método :) Espero que fica mais claro agora (você pode colocar o codigo e rodar que ele vai mostrar os valores) PHP [*]<? [*] [*]//fez a query pra pegar os valores [*]$query = mysql_query("SELECT aux.cat_nome categoria, [*] not.not_id, [*] DATE_FORMAT(not.not_data,'%d/%c/%Y') data, [*] not.not_noticia noticia [*] FROM [*] noticias not [*] LEFT JOIN [*] categorias aux [*] ON (aux.id_cat = not.id_cat) [*] ORDER BY not.not_data DESC") or die(mysql_error()); [*] [*]//verifica se há resultados [*]if(mysql_num_rows($query)){ //achou algo [*] //lista os resultados [*] echo "<table>"; [*] while($res = mysql_fetch_array($query)){ [*] echo "<tr> [*] <td>".$res['data']."</td> [*] <td>".$res['noticia']."</td> [*] <td>".$res['categoria']."</td> [*] </tr>"; [*] } [*] echo "</table>"; [*]}else{ //caso nao techa encontrado [*] echo "Não foram encotrados registros :/"; [*]} [*]?> Lembrando que você ja tem que ter conectado no banco de dados né ;) Qualquer dúvida, volte a postar. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites