Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida com tabelas


Marciarv

Pergunta

Olá a todos!

Tenho um banco de dados onde cada cliente possui uma tabela especifica e eu sei que isto não é muito viavel devido o excesso de informação, mas infelizmente para este sistemas tem que ser assim, mas também a quantidade de clientes é pouca,

e neste mesmo banco tenho uma tabela de clientes onde cadastro todos meus clientes com login e senha, e é ai q começa minha dificuldade porque gostaria que quando ele digitasse seu login e senha ele pegasse a sua respectiva tabela no banco, e se alguém puder me auxiliar ou me indicar um bom tutorial neste assunto eu agradeço muito.

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
Olá a todos!

Tenho um banco de dados onde cada cliente possui uma tabela especifica e eu sei que isto não é muito viavel devido o excesso de informação, mas infelizmente para este sistemas tem que ser assim, mas também a quantidade de clientes é pouca,

e neste mesmo banco tenho uma tabela de clientes onde cadastro todos meus clientes com login e senha, e é ai q começa minha dificuldade porque gostaria que quando ele digitasse seu login e senha ele pegasse a sua respectiva tabela no banco, e se alguém puder me auxiliar ou me indicar um bom tutorial neste assunto eu agradeço muito.

Tenha em sua tabela de login, um campo com o nome da tabela do cliente e faça o tratamento do resto através de seu sistema (via programação).

Link para o comentário
Compartilhar em outros sites

  • 0

Sim eu coloquei na tabela de login um campo com o nome da tabela do cliente, mas o problema é que não sei como fazer para quando ele logar o sistema traga a tabela referente ao cliente logado, o codigo de programação é que esta sendo o problema pois fiz alguns testes aqui mas ele pega sempre a tabela de todos os clientes ao mesmo tempo quando loga com qualquer login que sejá. :huh:

Não sei qual a programação adequada para meu problema e se você puder me dar pelo menos uma direção.

Link para o comentário
Compartilhar em outros sites

  • 0

A linguagem é PHP e o banco Mysql

meu SQL esta assim

$sql= mysql_query("SELECT * FROM tb_login, cliente1, cliente2, cliente3 WHERE ID_USUARIO = '".$_SESSION[iduser]."'")

or die("ERRO NA CONSULTA SQL");

$row = mysql_num_rows($sql);

O cliente logado aparece corretamente, mas vem junto todas as outras tabelas cliente 1,2 e 3.

já tentei algumas funções como UNION, Join mas não sei se realmente seria algumas destas ou se for estou usando elas de maneira incorreta aqui.

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'Marciarv'

então seu problema não é em relação ao banco ou funcionalidades do banco MySQL.

Vou mover seu tópico para o forum apropriado.

Movendo MySQL -->> PHP

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, legal, cada cliente tem um login e senha cadastrados todos na mesma tabela, e depois que está logado precisa das informações que está em uma tabela especifica apenas para aquele cliente. Certo? Se realmente for isso, o processo é simples.

Na tabela de login, salve o nome da TABELA do cliente, quando ele logar faça primeiro a consulta apenas na tbl_login, faça toda a verificação para saber se a senha confere e tal, através dessa consulta, pegue o nome da tabela que vai estar salva lá, e faça um consulta na tabela de acordo com o nome. Ai só vai trazer informações dele e não dos outros.

Divida isso em 2 processos para ter mais segurança e precisão na consulta!

Link para o comentário
Compartilhar em outros sites

  • 0

Deixa eu ver se entendi.

em relação a primeira verificação esta tudo ok pois quando entra com login e senha mostra exatamente o cliente q esta logado.

Agora para pegar a tabela especifica a este cliente eu devo fazer uma nova consulta no SQL tipo????

$sql= mysql_query("SELECT * FROM cliente1, cliente2, cliente3 WHERE ID_USUARIO = '".$_SESSION[TABELA]."'")

or die("ERRO NA CONSULTA SQL");

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

  • 0

Mas ai vai dar na mesma não vai? o que eu falei era pra salvar o nome da tabela do cliente já na tabela de login, assim quando ele fizer login, você recupera o nome da tabela, e faz a busca somente nela, e não em todas como está fazendo.

Link para o comentário
Compartilhar em outros sites

  • 0

FIT eu fiz um campo na tabela de login chamada cliente e lá eu coloco o nome da tabela desejada do cliente e quando faço a consulta dá um monte de erro

PHP Warning: mysql_result() [function.mysql-result]: ID not found in MySQL result index 4 in E:\home\teste\result1.php on line 67 PHP Warning: mysql_result() [function.mysql-result]: CODIGOVENDEDOR not found in MySQL result index 4 in E:\home\teste\result1.php on line 68 PHP Warning: mysql_result() [function.mysql-result]: NOMEVENDEDOR not found in MySQL result index 4 in E:\home\teste\result1.php on line 69 PHP Warning: mysql_result() [function.mysql-result]: DATAOCORRENCIA... etc

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

  • 0

To fazendo só consulta na tabela de login, pois pensei que como lá tem um campo com nome da tabela do cliente ele acaba buscando ela também. e pelo visto estou equivocada rsrsrs.

Os erros que estão aparecendo são com os campos da tabela do cliente.

$sql= mysql_query("SELECT * FROM tb_usuarios WHERE ID_USUARIO = '".$_SESSION[iduser]."'")

or die("ERRO NA CONSULTA SQL");

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

  • 0

Certo, desde que a sessão iduser exista e tenha o id correto, ele vai te trazer um resultado, depois é só pegar o nome da tabela, e fazer outra consulta.

Exemplo:

$sql = mysql_query("SELECT * FROM tbl_login WHERE id='$id'");
$sql = mysql_fetch_assoc($sql);
$tabela = $sql['nome_tabela']; // nome da tabela salva na tabela de login.

$sql = mysql_query("SELECT * FROM $tabela"); // ai é só tratar os dados e terá toda informação do cliente.

Link para o comentário
Compartilhar em outros sites

  • 0

Fica dando este erro aqui.

PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\home\Web\teste\result1.php on line 10

talvez minha tabela esteja errada por não estar retornando nada. vou colocar ela aqui.

CREATE TABLE `tb_usuarios` (

`ID_USUARIO` SMALLINT( 6 ) NOT NULL AUTO_INCREMENT ,

`NOME_USUARIO` VARCHAR( 50 ) NOT NULL ,

`USUARIO` VARCHAR( 30 ) NOT NULL ,

`SENHA` VARCHAR( 32 ) NOT NULL ,

`CLIENTE` VARCHAR( 50 ) NOT NULL ,

PRIMARY KEY ( `ID_USUARIO` )

);

E é neste campo cliente que coloco o nome da tabela do cliente.

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

  • 0

Certo, então está tudo certo, apenas estamos indo por partes. Se na consulta ele está retornando o cliente, você consegue pegar o nome da tabela, e com ela fazer a consulta para ter as informações do mesmo, é bem simples, não tem segredo nenhum.

$sql= mysql_query("SELECT * FROM tb_usuarios WHERE ID_USUARIO = '".$_SESSION['iduser']."'") 
or die(mysql_error());
$resultado = mysql_fetch_assoc($sql);
$tabela =$resultado['CLIENTE'];

$sql2 = mysql_query("SELECT * FROM $tabela");

Ai é só retirar as informações que precisa.

Link para o comentário
Compartilhar em outros sites

  • 0

Ele continua sem retornar nada :(

Eu devo estar fazendo algo errado só não sei o que.

Eu tenho um arquivo que autentica antes. Será que é nele q esta o erro e não consegue pegar a tabela. Vou postar ele aqui pra dar uma verificada.

Esta é a parte do sql dele.

autentica.php

<?php

session_start();

require_once("config.php");

$usuario = $_POST[user];

$usuario = addslashes($usuario);

$senha = $_POST[senha];

$senha = md5($senha);

$cliente = $_POST[$cliente];

$sql = mysql_query("SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios

WHERE USUARIO = '$usuario' AND SENHA = '$senha'")

or die("ERRO NO COMANDO SQL");

$row = mysql_num_rows($sql);

talvez seja aqui o problema.

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

  • 0

sim esta preenchido com o mesmo nome da tabela do cliente, e a tabela do cliente também já contem varias informaçõe só que não aparece. O codigo ficou assim.

$sql= mysql_query("SELECT * FROM tb_usuarios WHERE ID_USUARIO = '".$_SESSION[iduser]."'")

or die("ERRO NA CONSULTA SQL");

$resultado = mysql_fetch_assoc($sql);

$tabela =$resultado['CLIENTE'];

$sql2 = mysql_query("SELECT * FROM $tabela");

//LINHAS TOTAIS AFETADAS PELA CONSULTA

$row = mysql_num_rows($sql);

ele mostra a tabela do cliente só se o nome dela estiver acrescentado no primeiro FROM tipo!

$sql= mysql_query("SELECT * FROM tb_usuarios, cliente1 WHERE ID_USUARIO = '".$_SESSION[iduser]."'")

or die("ERRO NA CONSULTA SQL");

e se for acrecentando os demais clientes vem todos os dados de todos os clientes juntos, uma confusão só.

Penso eu que o probelam esta aqui ($row = mysql_num_rows($sql);) pois a maioria dos erros se apresenta nele e apresenta sempre este erro

PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\home\Web\teste\result1.php on line 11

e quando eu o tiro do codigo eu consigo logar mas ai não retorna nada da tabela pra mim.

Mas *FIT* agradeço a grande ajuda que tentou me dar e a paciência que teve comigo, mas vou tentando dar um geito de acerter este codigo aqui.

E obrigada mesmo viu :D mas já dei trabalho demais rsrsrs...

Editado por Marciarv
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...