Ir ao conteúdo
  • Cadastre-se

filtro de dados em tabelas PHP/MySQL - socorro


Ir à solução Resolvido por DiF,

Posts recomendados

Olá mestres!

 

Sou mega novato em php / mysql e estou criando um banco de dados onde preciso filtrar os registros das minhas tabelas de acordo com o nome do usuário.

 

segue um trecho do formulário de alteração de tabelas onde eu acredito que seja responsável pelo filtro de dados:

 

 

$maxRows_Recordset1 = 1;$pageNum_Recordset1 = 0;if (isset($_GET['pageNum_Recordset1'])) {  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];}$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;$colname_Recordset1 = "-1";if (isset($_SESSION['MM_Username'])) {  $colname_Recordset1 = $_SESSION['MM_Username'];}mysql_select_db($database_conexao, $conexao);$query_Recordset1 = sprintf("SELECT * FROM membresia WHERE setor = %s", GetSQLValueString($colname_Recordset1, "text"));$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);$Recordset1 = mysql_query($query_limit_Recordset1, $conexao) or die(mysql_error());$row_Recordset1 = mysql_fetch_assoc($Recordset1);
 

 

minha tabela chamada membresia tem um campo denominado "setor" onde fica gravado o nome do usuário,

e eu estou tentando filtrar os dados no formulário de alteração de dados com base nesse campo.

Link para o comentário
Compartilhar em outros sites

Olá amigo @dif!

 

como eu uso a tag code?

 

vou tentar resumir...

 

tenho um banco de dados com login

 

tenho uma tabela chamada "membresia" com um campo chamado "tipo" onde fica gravado o nome do usuario

 

tenho um formulário de cadastro e outro de alteração criado com o Dreamweaver, pois ainda não entendo nada de programação

 

no formulário de cadastro eu registro no campo "tipo" o nome do usuário dono daquele cadastro

 

no formulário de alteração, que tem o recurso de navegação entre registros, eu estou tentando configurá-lo para mostrar apenas os registros que pertencem ao usuário logado, eu acho que é neste trecho do codigo:

$colname_Recordset1 = "-1";if (isset($_SESSION['MM_Username'])) {  $colname_Recordset1 = $_SESSION['MM_Username'];}mysql_select_db($database_conexao, $conexao);$query_Recordset1 = sprintf("SELECT * FROM membresia WHERE setor = %s", GetSQLValueString($colname_Recordset1, "text"));

usando o Dreamweaver, ao criar o formulário de atualização de registros, onde pede para criar a seleção de registros, estou usando os seguintes parametros: filtrar por variável de sessão, onde está gerando o código acima:

 

ainda não descobri porque a função de selecionar os dados não reconhece a variável que define o usuário logado...

Link para o comentário
Compartilhar em outros sites

Olá amigo @dif

 

ainda sobre o filtro de dados php, quando eu entro com o nome do usuario, eu consigo exibir o nome do usuário no formulario principal assim:

<?php echo $_SESSION['MM_Username']; ?>

porém no formulário de dados eu estou tentando configurar a consulta assim:

SELECT * FROM tabela WHERE usuario = $_SESSION['MM_Username']

isso seria possível, ou o nome do usuário não passa pra mais de um formulário?

 

também queria inserir esse mesmo parâmetro em um formulário de cadastro onde um dos campos gravasse automaticamente o nome do usuário

Link para o comentário
Compartilhar em outros sites

  • Moderador

Olá,

 

Para usar a tag CODE, clique no ícone < > 

 

Seu objetivo é listar os dados somente do usuário logado certo?

 

A ideia é você armazenar o ID do usuário, ou seja o campo auto incrementado do registro, para filtrar os dados.

Para isto, no momento do login, você armazena o ID em uma variável de sessão.

 

Ainda no arquivo que autentica o login,  Se tudo OK, você redireciona para uma pagina php por exemplo inicio.php

 

Neste inicio.php  fará uma verificação se está logado, atribuir em uma variável o valor da variável de sessão.

 

Lá você faz a sua consulta baseada no ID do usuário logado.

 

Por exemplo:

<?php    session_start();    setcookie("ck_authorized", "true", 0, "/");    if(!isset($_SESSION["email"])):       header("location: index.php");    else:       $login = $_SESSION["email"];       $id    = $_SESSION["id"];    endif;   

Então fazer a consulta por exemplo:

SELECT * FROM tabelaINNER JOIN tabela ON tabela.nomedocampo = tabela.nomedocampo

Mas para isso funcionar, na sua tabela onde contém os cadastros feitos, deve receber o ID de quem cadastrou através de um campo.

 

E para tudo isso funcionar, seu banco de dados precisa estar com os relacionamentos de 1:N feitos corretamente.

 

Note que filtrar os dados a partir do número da linha do registro é mais fácil e melhor do que filtrar por nome..

 

A não ser que seu objetivo seja fazer um filtro de dados em uma tabela onde você precise fazer uma busca por nomes.. com você digitando.( acredito que não seja isso que você quer.. mas sim quando o usuário logar  aparecer somente os dados que ele cadastrou)

Link para o comentário
Compartilhar em outros sites

Consegui!!!!!!

 

usei as seguintes linhas:

 

.

.

.

session_start();$usuario = $_SESSION['MM_Username'];.SELECT * FROM tabela WHERE campo = '$usuario'

.

criei estas linhas em todos os formulários, mas poderia ter criado as duas primeiras linhas logo no formulario de login que a variável $usuario ficaria disponivel permanentemente, eu acho.

 

Valeu pelas dicas!!!!

espero poder contar sempre com o apoio!

Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

Consegui!!!!!!

 

usei as seguintes linhas:

 

.

.

.

session_start();$usuario = $_SESSION['MM_Username'];.SELECT * FROM tabela WHERE campo = '$usuario'

.

criei estas linhas em todos os formulários, mas poderia ter criado as duas primeiras linhas logo no formulario de login que a variável $usuario ficaria disponivel permanentemente, eu acho.

 

Valeu pelas dicas!!!!

espero poder contar sempre com o apoio!

 

Exatamente. é melhor criar a variável de sessão  no momento no login no arquivo que valida. Reveja os conceitos... pois o jeito que fez não é errado.. mas também não é indicado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!