STHELT 0 Denunciar post Postado Agosto 26, 2009 tenho duas tabelas, como faço para filtrar apenas campos com conteudo iguais, exemplo: tabela usuarios: usu_id tabela noticias: not_id como consulto e mostra apenas quando usu_id e not_id ter valores iguais? Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Agosto 26, 2009 Veja se isso te ajuda: http://thiagobelem.net/blog/mysql/2009/08/15/relacionamento-de-tabelas-no-mysql-622/ Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 26, 2009 eu fiz daquele geito mas ele não esta filtrando... esta mostrando todos os dados da tabela.... <?php mysql_select_db($database_ConnImasters, $ConnImasters); $query_rsRelatorioplaylist = "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id ORDER BY not_usuario_id DESC"; $rsRelatorioplaylist = mysql_query($query_rsRelatorioplaylist, $ConnImasters) or die(mysql_error()); $row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist); $totalRows_rsRelatorioplaylist = mysql_num_rows($rsRelatorioplaylist); ?> html: <?php do { ?> <tr> <td><?php echo $row_rsRelatorioplaylist['nome']; ?></td> <td><a href="noticia_excluir.php?not_id=<?php echo $row_rsRelatorioplaylist['not_id']; ?>"><img src="../img/delete.gif" width="16" height="16" /></a></td> </tr> <?php } while ($row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist)); ?> </table> </body> </html> <?php mysql_free_result($rsRelatorioplaylist); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 26, 2009 Olá STHELT, bom..e se você colocar a condição WHERE no lugar do ON??? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 26, 2009 mesmo assim... ele continua mostrando todos os dados da tabela... Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 27, 2009 nao tem outro geito? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 27, 2009 Como está o seu código neste momento? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 27, 2009 igual o de cima, só que no lugar de ON ta WHERE... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 28, 2009 Estou achando que você está querendo uma coisa e estamos explicando outra... Por acaso, você quer saber somente as notícias de um usuário específico? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 28, 2009 sim! só quero saber somente as notícias de um usuário específico... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 28, 2009 Mais ou menos assim "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id WHERE usu_id = 'id_do_usuario' ORDER BY not_usuario_id DESC"; Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 29, 2009 agora ele não esta moostrando nada... olhe como esta o codigo: <?php mysql_select_db($database_ConnImasters, $ConnImasters); $query_rsRelatorioplaylist = "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id WHERE usu_id = 'id_do_usuario' ORDER BY not_usuario_id DESC"; $rsRelatorioplaylist = mysql_query($query_rsRelatorioplaylist, $ConnImasters) or die(mysql_error()); $row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist); $totalRows_rsRelatorioplaylist = mysql_num_rows($rsRelatorioplaylist); ?> <?php do { ?> <tr> <td><?php echo $row_rsRelatorioplaylist['nome']; ?></td> <td><a href="noticia_excluir.php?not_id=<?php echo $row_rsRelatorioplaylist['not_id']; ?>"><img src="../img/delete.gif" width="16" height="16" /></a></td> </tr> <?php } while ($row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist)); ?> </table> </body> </html> <?php mysql_free_result($rsRelatorioplaylist); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 29, 2009 Amigão, eu deu um exemplo... Leia o código que eu passei, especialmente nesta parte. WHERE usu_id = 'id_do_usuario' Esta é a parte que faz a condição. usu_id é o campo da condição e o que está entre aspas é o valor que vai ser usado para identificar o usuário. Imaginemos que o campo a ser usado vai ser o usu_id mesmo e que você quer as notícias do usuário 1. Seu código ficaria assim. $query_rsRelatorioplaylist = "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id WHERE usu_id = 1 ORDER BY not_usuario_id DESC"; Como você não vai poder colocar o número do id estático, você deve colocar a variável que tenha o valor deste id ali naquela condição. Compreendeu? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 29, 2009 mais ai eu vou ter q por manualmente o usu_id? não era pra mostrar de acordo com o usuario que esta logado? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 29, 2009 Como você sabe qual usuário está logado? Grava o id dele em SESSION, por exemplo? Se for, é só jogar esta variável na consulta. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 29, 2009 como? eu não sei muito php... estou fazendo pelo Dreamweaver... olhe como esta o codigo...: o que eu tenho q fazer? <?php require_once('../Connections/ConnImasters.php'); ?> <?php //initialize the session session_start(); // ** Logout the current user. ** $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles session_unregister('MM_Username'); session_unregister('MM_UserGroup'); $logoutGoTo = "login.php"; if ($logoutGoTo) { header("Location: $logoutGoTo"); exit; } } ?> <?php $MM_authorizedUsers = ""; $MM_donotCheckaccess = "true"; // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. // Therefore, we know that a user is NOT logged in if that Session variable is blank. if (!empty($UserName)) { // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. // Parse the strings into arrays. $arrUsers = Explode(",", $strUsers); $arrGroups = Explode(",", $strGroups); if (in_array($UserName, $arrUsers)) { $isValid = true; } // Or, you may restrict access to only certain users based on their username. if (in_array($UserGroup, $arrGroups)) { $isValid = true; } if (($strUsers == "") && true) { $isValid = true; } } return $isValid; } $MM_restrictGoTo = "login.php"; if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { $MM_qsChar = "?"; $MM_referrer = $_SERVER['PHP_SELF']; if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) $MM_referrer .= "?" . $QUERY_STRING; $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); header("Location: ". $MM_restrictGoTo); exit; } ?> <?php mysql_select_db($database_ConnImasters, $ConnImasters); $query_rsRelatorioplaylist = "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id WHERE usu_id = not_usuario_id ORDER BY not_usuario_id DESC"; $rsRelatorioplaylist = mysql_query($query_rsRelatorioplaylist, $ConnImasters) or die(mysql_error()); $row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist); $totalRows_rsRelatorioplaylist = mysql_num_rows($rsRelatorioplaylist); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <div> <ul> <li><a href="index.php">Início do Admin</a></li> <li><a href="<?php echo $logoutAction ?>">Log out</a></li> <li><a href="cadastro_usuario.php">Cadastrar usuário</a></li> <li><a href="noticia_inserir.php">Cadastrar notícias</a></li> </ul> </div> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th scope="col">Título</th> <th scope="col">Data</th> <th scope="col">Status</th> <th scope="col">Responsável</th> <th colspan="2" scope="col"> </th> </tr> <?php do { ?> <tr> <td><?php echo $row_rsRelatorioplaylist['nome']; ?></td> <td><a href="noticia_excluir.php?not_id=<?php echo $row_rsRelatorioplaylist['not_id']; ?>"><img src="../img/delete.gif" width="16" height="16" /></a></td> </tr> <?php } while ($row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist)); ?> </table> </body> </html> <?php mysql_free_result($rsRelatorioplaylist); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 29, 2009 Olha... Vou tentar te explicar e você faz sozinho... "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id WHERE usu_id = 1 ORDER BY not_usuario_id DESC"; Vamos traduzir o que está sendo enviado para o banco de dados. SELECIONE *(todos os campos) DA TABELA playlist JUNTANDO COM a tabela usuarios ONDE o campo playlist.not_usuario_id for igual a usuarios.usu_id AONDE o campo usu_id for igual a ????? usu_id é o nome do campo na tabela playlist que identifica de qual usuário é aquele playlist e aonde tem os pontos de interrogação é o valor deste campo. Então, ali você tem que por a variável que contenha este valor. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 29, 2009 olha como eu fiz agora, mas esta dando erro de sintese...(You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY not_id DESC' at line..) mysql_select_db($database_ConnImasters, $ConnImasters); $query_rsRelatorioplaylist = "SELECT * FROM playlist INNER JOIN usuarios ON playlist.not_usuario_id = usuarios.usu_id WHERE usu_id = " . $row_Recordset1['usu_id'] ." ORDER BY not_id DESC"; $rsRelatorioplaylist = mysql_query($query_rsRelatorioplaylist, $ConnImasters) or die(mysql_error()); $row_rsRelatorioplaylist = mysql_fetch_assoc($rsRelatorioplaylist); $totalRows_rsRelatorioplaylist = mysql_num_rows($rsRelatorioplaylist); mysql_select_db($database_ConnImasters, $ConnImasters); $query_Recordset1 = "SELECT usu_id FROM usuarios"; $Recordset1 = mysql_query($query_Recordset1, $ConnImasters) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 29, 2009 Então imprime a query antes de executar pra ver como está a consulta que está sendo enviada para o banco. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
STHELT 0 Denunciar post Postado Agosto 29, 2009 como? eu nao sei muito php... Compartilhar este post Link para o post Compartilhar em outros sites