gersonab 1 Denunciar post Postado Setembro 30, 2008 Preciso relacionar a tabela usuario com a tabela de itens, para que somente o usuario daquele item possa incluir e ou alterar, esta assim : $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = mysql_query("SELECT $dbcfg.dealer, $dbvin.agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia"); $result = mysql_db_query($dbname, $query, $link); if( $dealer <> $agencia ){ echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>"; echo "<script>window.location='controle.php'</script>"; } else { $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "INSERT INTO $dbvin VALUES ........Não ocorre o bloqueio do cadastro .... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 30, 2008 de onde vêm as variáveis $dealer e $agencia ? if( $dealer <> $agencia ){ Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Setembro 30, 2008 São das duas tabelas , é onde eu fiz o inner join . Acredito que o erro esteja na logica e não no sql ... Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Setembro 30, 2008 Caso eu use : if($dbcfg.dealer<> $dbvin.agencia ) { ele bloqueia todos, mesmo sendo iguais. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 30, 2008 isso nao faz sentido nenhum... precisa extrair os dados encontrados na tabela e nao tem nenhum codigo aí que esteja fazendo isso... Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Setembro 30, 2008 Hinom, obrigado pela ajuda que esta prestando.... Vamos por parte .. Fiz o select , executei a query , comparei os resultados, só que realmente parece não estar extraindo os dados da tabela .... como fazer ? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 30, 2008 1 na query SQL crie um alias para os nomes dos campos (em negrito) $query = mysql_query("SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia"); 2 logo após a linha $result = mysql_db_query($dbname, $query, $link); adicione: $l = mysql_fetch_array( $result, MYSQL_ASSOC ); 3 na condicional ao invés de.. if( $dealer <> $agencia ){ faça if( $l['dealer'] != $l['agencia'] ){ faça as alterações, teste e poste como ficou. Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Setembro 30, 2008 Vou postar o codigo aqui para facilitar ... [b]aqui vem os require[/b] if($cadastro) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro'"; $result = mysql_db_query($dbname, $query, $link); if(mysql_num_rows($result)) { echo "<script language='JavaScript'> alert('O número de cadastro digitado ja existe.'); </script>"; } else { foreach($_POST as $key => $value) { $_POST[$key] = addslashes($value); } $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = mysql_query("SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia"); $result = mysql_db_query($dbname, $query, $link); $l = mysql_fetch_array( $result, MYSQL_ASSOC ); if( $l['dealer'] != $l['agencia'] ){ echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>"; echo "<script>window.location='controle.php'</script>"; } else { $time = time(); $codigo = substr(time().rand(10000,99999),-15); $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "INSERT INTO $dbvin VALUES( [b]Aqui vem os $_POST's[/b] mysql_db_query($dbname, $query, $link); mysql_close($link); echo "<script language='JavaScript'> window.location='pre_visualizar.php?codigo=$codigo'; </script>"; echo "Você adicionou um veículo"; exit(); } } } ja coloquei em varias posições e nada .... não adiciona a agencia e não da erro, alias o erro que da não da tempo para ver a mudança na pagina é muito rapida. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 1, 2008 ja coloquei em varias posições e nada .... não adiciona a agencia e não da erro, alias o erro que da não da tempo para ver a mudança na pagina é muito rapida.heehhe basta comentar o redirect do javascript e ver com calma.. //echo "<script>window.location='controle.php'</script>"; Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Outubro 1, 2008 erro na linha 20 => $l = mysql_fetch_array( $result, MYSQL_ASSOC ); Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Outubro 1, 2008 Troque isso $query = mysql_query("SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia"); $result = mysql_db_query($dbname, $query, $link); $l = mysql_fetch_array( $result, MYSQL_ASSOC ); Por isso $sql = "SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia"; $result = mysql_db_query($dbname, $sql, $link); $l = mysql_fetch_array( $result, MYSQL_ASSOC ); o segundo parametro da funcao mysql_db_query é uma string contendo o SQL, você estava passando um resource. Ah, caso não seja isso, cole a mensagem de erro. Att, Guilherme Oenning Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Outubro 1, 2008 Não aparece nenhum alerta , retorna a pagina do cadastro e a agencia some do cadastro . Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Outubro 1, 2008 Achei este tópico aqui no forum -> http://forum.imasters.com.br/index.php?showtopic=307630 <- bem interessante e dentro do que estou precisando, ja até iniciei um trabalho com session , duas perguntas : Estaria realmente dentro do que eu quero ? Uma ajuda para conluir .... A parte da session esta assim .... <? require 'config/config.php'; if(isset($_POST[s1])) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $q1 = "SELECT * FROM $dbusu WHERE username = '$username' AND password = '$password' "; $rl = mysql_select_db($dbname, $link); $r1 = mysql_query($q1) or die(mysql_error()); if(mysql_num_rows($r1) == '1') { //ok $a1 = mysql_fetch_array($r1); $_SESSION[AgentID] = $a1[AgentID]; $_SESSION[username] = $a1[username]; $_SESSION[agencia] = $a1[agencia]; $_SESSION[nivel] = $a1[nivel]; header("location:controle2.php"); exit(); } else { echo "<script language='JavaScript'> alert('Nome de usuario ou senha invalido.'); </script>"; echo "<script>window.location='Login.php'</script>"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Outubro 2, 2008 Fiz algumas modificações, em busca de soluções, porém continuo com o mesmo problema, não ha sinal de alerta e ou erro. Retorna a pagina do cadastro sem efetuar o cadastro e o item da agencia aparece em branco. if (isset($_SESSION['AgentID'])) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $sql = "SELECT $dbusu.agencia AS agencia, $dbvin.agencia AS agencia FROM $dbusu INNER JOIN $dbvin ON $ $dbusu.agencia=$dbvin.agencia"; $result = mysql_db_query($dbname, $sql, $link); $l = mysql_fetch_array( $result, MYSQL_ASSOC ); if( $l['agencia'] != $l['agencia'] ){ echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>"; } else { if($cadastro) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro'"; $result = mysql_db_query($dbname, $query, $link); if(mysql_num_rows($result)) { echo "<script language='JavaScript'> alert('O número de cadastro digitado ja existe.'); </script>"; } else { foreach($_POST as $key => $value) { $_POST[$key] = addslashes($value); } $time = time(); $codigo = substr(time().rand(10000,99999),-15); $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "INSERT INTO $dbvin VALUES('0', Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Outubro 4, 2008 Bom dia. a situação é a seguinte: 1 - Cadastro pelo cliente , fazer o cadastro somente da sua agencia = OK 2 - Editar o item cadastrado, editar somente da sua agencia = OK 3 - Deletar o item, deletar somente da sua agencia = OK 4 - Visualizar os itens de sua agencia = NOK $link = mysql_connect($dbhost, $dbuser, $dbpass); $db = mysql_select_db($dbname); $sql = "SELECT $dbvin.codigo AS codigo, $dbvin.cadastro AS cadastro, $dbvin.anomodelo AS anomodelo, $dbvin.marca AS marca, $dbvin.model AS model, $dbvin.condicao AS condicao, $dbvin.preco AS preco, $dbvin.agencia AS agencia, $dbusu.agencia AS agencia FROM $dbvin INNER JOIN $dbusu ON $dbvin.agencia=$dbusu.agencia"; $exec = mysql_query($sql, $link) or die(mysql_error()); $total = mysql_num_rows($exec); $n = 1; while($data = mysql_fetch_array($exec, MYSQL_ASSOC )) { if(!($n % 2)) { $bg = "class='fill_light'"; } else { $bg = ''; } echo '<tr $bg>'; echo '<td class="text">'.$data["cadastro"].'</td>'; echo '<td class="text" align="center">'.$data["anomodelo"].'</td>'; echo '<td class="text">'.$data["marca"].'</td>'; echo '<td class="text">'.$data["model"].'</td>'; echo '<td class="text" align="center">'.$data["condicao"].'</td>'; echo '<td class="text" align="center">R$ '.$data["preco"].'</td>'; echo '<td class="text" align="center">'.$data["agencia"].'</td>'; echo '<td class="text" align="center"><a class="link" href="pre_visualizar2.php?codigo='.$data["codigo"].'">Alterar</a></td>'; echo '</tr>'; Se eu usar assim === $dbvin.agencia=$dbusu.agencia => visualizo todas, logo poderia alterar qualquer uma, o que estaria errado. Se eu usar assim ( que é o certo ) === $dbvin.agencia='$dbusu.agencia' => não visualizo nada. O que estaria errado ? Compartilhar este post Link para o post Compartilhar em outros sites