Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabio Avila

Filtrar dados por usuario

Recommended Posts

Ola amigos ...

 

Bom tenho um sistema para incluão de clientes na area juridica , aonde é informado os dados do debito do cliente e tal , eis que surgiu a necessidade de que as empresas acessem este sistema para acompanhar os processos , a duvida é como fazer com que cada Empresa acesse somnte os seus dados . a estrutura desta tabela é a seguinte:

 

EMPRESA

CLIENTE

DATAINCLUIDA

VALOR DIVID

DATA ACORDO

DATA PAGAMENTO

 

Desde já agradeco a força da galera...

 

[]cs

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz uma pagia de pesquisa, cria um formulario , onde o user ira digitar, por exemplo o nome da empresa ou o cliente , recupera os dados e faz um SELECT no seu banco de dados, tipo assim:

 

formulario.asp

<%  	'aplicacaun para fazer uma pesquisa,busca nos registro da BD,onde atraves
  		'de um form com input type text onde o user entra com pesquisa k será
		'submetida para o pesquisa_action.asp,fazendo a SQL, nesta aplicacaun darei
		'um request da varmsgeof ,k irá retornar no caso de erro no action
		'fazendo um if e mostrando um window.open
		
		Option Explicit
		'declaro as var
		dim varmsgeof
		'recupero a var
		varmsgeof=request.querystring("msgeof")
		%>
		<script language="javascript">
function novajan(){
window.open ("erro_treina.asp","Proibido","width=180,height=200,scrollbar=no,status=yes,resize=no")
}
</script>
<%
		if varmsgeof = 1 then 'porque naun achou nada na SQL select
			response.write("<script>novajan();</script>")
		end if
		
		'no caso de fazer uma pesquisa mais avançada com 2 tab.
		'eu aki criaria a conexao,crio o rs, crio am SQL
		'sql="select * from categoria order by categoria"
		'rs.open sql,conexao,1,3
		'crio o form com action para pesquisa_action.asp
		'crio o <select name="categoria" size="1">
		'{% while not rs.eof %}
		'<option value="{%=rs("cod_cat")%}">
		'{%rs("categoria")%}
		'</option>
		'{%rs.movenext
		'wend%}
		'</select>
		'{%fecha o rs
		'set rs=nothing
		'fecha a conexao
		'call fechaconexao
		'crio o input type text da pesquisa
		'<input type="text" name="categoria">
		
		%>

<html>
<head>
<title>Pesquisa</title>
<script language="JavaScript">
<!--
function MM_timelineStop(tmLnName) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  if (tmLnName == null)  //stop all
    for (var i=0; i<document.MM_Time.length; i++) document.MM_Time[i].ID = null;
  else document.MM_Time[tmLnName].ID = null; //stop one
}

function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (numGotos != null)
    if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
    else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
  jmpFwd = (fNew > tmLn.curFrame);
  for (i = 0; i < tmLn.length; i++) {
    sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
    if (sprite.charAt(0) == "s") {
      numKeyFr = sprite.keyFrames.length;
      firstKeyFr = sprite.keyFrames[0];
      lastKeyFr = sprite.keyFrames[numKeyFr - 1];
      if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
      for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
      for (j=0; j<sprite.values.length; j++) {
        props = sprite.values[j];
        if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
        else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
        if (sprite.obj != null) {
          if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
          else        sprite.obj[props.prop2][props.prop] = props[propNum];
      } }
    } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
  }
  tmLn.curFrame = fNew;
  if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}

function MM_timelinePlay(tmLnName, myID) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
  if (myID == tmLn.ID) { //if Im newest
    setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
    fNew = ++tmLn.curFrame;
    for (i=0; i<tmLn.length; i++) {
      sprite = tmLn[i];
      if (sprite.charAt(0) == 's') {
        if (sprite.obj) {
          numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
          if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
            keyFrm=1;
            for (j=0; j<sprite.values.length; j++) {
              props = sprite.values[j]; 
              if (numKeyFr != props.length) {
                if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
                else        sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
              } else {
                while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
                if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
                  if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
                  else        sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
        } } } } }
      } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
      if (fNew > tmLn.lastFrame) tmLn.ID = 0;
  } }
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_initTimelines() { //v4.0
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
    var ns = navigator.appName == "Netscape";
    var ns4 = (ns && parseInt(navigator.appVersion) == 4);
    var ns5 = (ns && parseInt(navigator.appVersion) > 4);
    document.MM_Time = new Array(1);
    document.MM_Time[0] = new Array(3);
    document.MM_Time["Timeline1"] = document.MM_Time[0];
    document.MM_Time[0].MM_Name = "Timeline1";
    document.MM_Time[0].fps = 15;
    document.MM_Time[0][0] = new String("sprite");
    document.MM_Time[0][0].slot = 1;
    if (ns4)
        document.MM_Time[0][0].obj = document["Layer1"];
    else if (ns5)
        document.MM_Time[0][0].obj = document.getElementById("Layer1");
    else
        document.MM_Time[0][0].obj = document.all ? document.all["Layer1"] : null;
    document.MM_Time[0][0].keyFrames = new Array(1, 10, 20);
    document.MM_Time[0][0].values = new Array(2);
    if (ns5)
        document.MM_Time[0][0].values[0] = new Array("-152px", "-135px", "-119px", "-102px", "-86px", "-69px", "-53px", "-36px", "-20px", "-3px", "-18px", "-33px", "-48px", "-63px", "-78px", "-92px", "-107px", "-122px", "-137px", "-152px");
    else
        document.MM_Time[0][0].values[0] = new Array(-152,-135,-119,-102,-86,-69,-53,-36,-20,-3,-18,-33,-48,-63,-78,-92,-107,-122,-137,-152);
    document.MM_Time[0][0].values[0].prop = "left";
    if (ns5)
        document.MM_Time[0][0].values[1] = new Array("17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px", "17px");
    else
        document.MM_Time[0][0].values[1] = new Array(17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17);
    document.MM_Time[0][0].values[1].prop = "top";
    if (!ns4) {
        document.MM_Time[0][0].values[0].prop2 = "style";
        document.MM_Time[0][0].values[1].prop2 = "style";
    }
    document.MM_Time[0][1] = new String("behavior");
    document.MM_Time[0][1].frame = 10;
    document.MM_Time[0][1].value = "MM_timelineStop()";
    document.MM_Time[0][2] = new String("behavior");
    document.MM_Time[0][2].frame = 20;
    document.MM_Time[0][2].value = "MM_timelineStop();MM_timelineGoto('Timeline1','1')";
    document.MM_Time[0].lastFrame = 20;
    for (i=0; i<document.MM_Time.length; i++) {
        document.MM_Time[i].ID = null;
        document.MM_Time[i].curFrame = 0;
        document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
    }
}
//-->
</script>
</head>

<body bgcolor="#999999" text="#000000" onLoad="MM_timelineGoto('Timeline1','1')">
<div id="Layer1" style="position:absolute; left:-152px; top:17px; width:141px; height:144px; z-index:1"> 
<table width="75%" border="0"> <tr> <td><img src="file:///A|/imgs/menun.gif" width="175" height="185" usemap="#Map" border="0"></td></tr> 
</table></div><p> </p><p> </p><p> </p><table width="75%" border="0"> <tr> <td> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Pesquisa</font></b></div></td></tr> 
<tr> <td height="2"> </td></tr> <tr> <td> <form name="form1" method="post" action="pesquisa_action_treina.asp"> 
<b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Entre 
com a Pesquisa:</font></b> <input type="text" name="pesquisa" size="35" maxlength="15"> 
        <input type="image" border="0" name="imageField" src="imgs/ok.gif" width="18" height="15" alt="pesquisar" onClick="MM_validateForm('pesquisa','','R');return document.MM_returnValue"> 
</form></td></tr> </table>
<p> </p><map name="Map"> <area shape="rect" coords="149,53,166,135" href="#" onClick="MM_timelinePlay('Timeline1')"> 
</map> 
</body>
</html>

action

<%  	'pesquisa_action aplicacaun p/ fazer uma consulta no BD por SQL
  		'onde se recupera a var pesquisa do form para fazer o select LIKE
		'caso rs.eof then redireciono para o Form com um msgeof=1
		'lá no pesquisa_form.asp do um request.querystring e apresento
		'um window.open k naun foi encontrado nada
		
		Option Explicit
		'declaro as var
		dim conexao, conDBQ, constring, rs, SQL, varpesquisa
		'recupero a pesquisa
		varpesquisa=trim(request.form("pesquisa"))
		'crio a conexao
		%>
		<!--#include file="conn/conexao1.asp"-->
		<%'abro a conexao
		call abreconexao
		'crio o rs
		set rs=server.createobject("ADODB.Recordset")
		'crio a SQL
		SQL="SELECT * FROM login WHERE login LIKE '%"&VARPESQUISA&"%' ORDER BY login"
		rs.open SQL,conexao,1,3
		if rs.eof then
			response.redirect("pesquisa_form_treina.asp?msgeof=1")
		else%>

		



<html>
<head>
<title>Dados Encontrados</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#999999" text="#000000">
<table width="75%" border="1"> <tr> <td colspan="4"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Pesquisa 
de <%= Ucase(varpesquisa)%></font></b></div></td></tr> <tr> <td colspan="4"> </td></tr> 
<tr> <td width="18%"> <div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Código</font></b></font></div></td><td width="26%"> 
<div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Login</font></b></font></div></td><td width="22%"> 
<div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Senha</font></b></font></div></td><td width="34%"> 
<div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Email</font></b></font></div></td></tr> 
<% while not rs.eof %> <tr bgcolor="#CCCCCC"> <td width="18%"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("codigo")%></font></b></div></td><td width="26%"> 
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("login")%></font></b></div></td><td width="22%"> 
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("senha")%></font></b></div></td><td width="34%"> 
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("email")%></font></b></div></td></tr> 
<%rs.movenext
  wend%> <tr> <td colspan="4"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Foram 
encontrados <%=rs.recordcount%> registros para sua pesquisa.</font></b></td></tr> 
<tr> <td colspan="4"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Página 
<%=rs.pagecount%> de <%=rs.pagecount%> </font></b></td></tr> <% 'fecha o rs
  set rs=nothing
  'fecha a conexao
  call fechaconexao
  end if %> </table>
<table width="75%" border="0" height="65">
  <tr> 
    <td> <div align="center"><font color="#999999"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666666">Resolução 
        mínima 800x600.</font></b></font></div></td>
  </tr>
  <tr> 
    <td> <div align="center"><font color="#999999"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <font color="#666666">© Copyright 2000-2002 - Todos os direitos reservados</font></font></b></font></div></td>
  </tr>
</table>
<p> </p>
</body>
</html>

prontinho, só mudar para sua necessidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum bl...

 

Mas no caso de ter que a empresa acessar utilizando através de sua uma senha ele redireciona normal usand o exemplo que pssou ?

 

Ou apenas serve para pesquisas..

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse code é somente pesquisa, você deve então implementar um login, olha este exemplo

Compartilhar este post


Link para o post
Compartilhar em outros sites

se cada empresa vaiter um login e senha, grave o id da empresa em uma session e na hora de fazer as consultas use a clausula WHERE para filtrar apenas os que tiverem o mesmo id de empresa:

 

sql = "select * from tabela where empresa = "&session("empresa")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Após efetuar o login, na pagina que serão exibidos os dados, você tem que filtrar sempre pela empresa.

Fiz um sistema parecido, só que era para vendedores onde o vendedor x não pode ver os clientes do vendedor y e outros detalhes pertinentes a cada vendedor.

A solução foi após o vendedor se identifcar, cria-se uma session e usa essa session para filtar os dados no select, exibindo somente o que é pertinente para aquele login.

 

Note que todos os dados referentes a empresa no seu caso precisarão ter algum tipo de identificador, por exemplo idempresa, caso esses dados estejam em outras tabelas, para poder filtra-los.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.