Jump to content
dinhoow

Obter várias linhas separadas de uma mesma "id" [PHP + Mysql + App inventor 2]

Recommended Posts

Fala pessoal, tudo certo?

 

Eu não tenho muita experiência em PHP/Mysql. Não programava nada desde 2009 então to beeeem enferrujado haha

 

Mas é o seguinte, eu criei uma tabela com as seguintes informações:

 

Dados do cliente:

tbclient.png.900b643ddb2421691163df367f92b76c.png

 

Dados da ordem de serviço:

tbos.png.c678ece5f165fae71f0050e32313c008.png

 

Cada usuário que se cadastra no sistema recebe uma ID auto-incrementada;

Todo chamado aberto recebe a ID deste usuário para que só ele consiga visualizá-la;

O número da OS também é auto-incrementada;

 

Fiz tudo certinho a parte de receber os dados no Mysql (depois de muito trabalho kkkk), mas o que não estou conseguindo fazer é o seguinte:

 

Preciso que ele me retorne todas as OSs com a ID do cliente (no caso do print, é o cliente 1).

 

"Ahhh, mas como funciona esse App Inventor?"

No meu caso, eu criei o php para printar com "echo" cada campo separado por vírgula, e no App Inventor eu faço a separação, ele reconhece que na vírgula ele tem que separar e criar um Index na mesma ordem que ele recebeu as informações. Segue exemplo abaixo:

appinventor.png.277ca3bf6f2dd0ac9a96e1438b489e59.png

 

No caso a variável "os_list" vai receber a lista completa relacionada ao chamado que foi aberto, cada informação seguida da "vírgula", e vai reconhecer que ela é o ponto de separação para gerar a lista.

No print acima informei que a nona informação deverá vir como uma mensagem na tela. Que seria o "osnum" no meu php:

<?php

    include_once "conexao.php";

        $id = $_POST['id'];
        $tipo = $_POST['tipo'];
        $status = $_POST['status'];
        $descricao = $_POST['descricao'];
        $endereco = $_POST['endereco'];
        $bairro = $_POST['bairro'];
        $cidade = $_POST['cidade'];
        $timestamp = date("Y-m-d H-i-s");


        $sql1 = $dbcon->query("SELECT * FROM tbos WHERE id='$id'");

        $sql2 = $dbcon->query("INSERT INTO tbos(id,tipo,status,descricao,endereco,bairro,cidade,dataabertura) VALUES ('$id','$tipo','$status','$descricao','$endereco','$bairro','$cidade','$timestamp')");

            if($sql2) {
                echo "abertura_os_ok,";

                while($dados = $sql1->fetch_array())
                    {
                    echo $dados['id'];
                    echo ",";
                    echo $dados['tipo'];
                    echo ",";
                    echo $dados['status'];
                    echo ",";
                    echo $dados['descricao'];
                    echo ",";
                    echo $dados['endereco'];
                    echo ",";
                    echo $dados['bairro'];
                    echo ",";
                    echo $dados['cidade'];
                    echo ",";
                    echo $dados['osnum'];
                    echo ",";
                    echo $dados['dataabertura'];
                    }
		}
                else {
                echo "abertura_os_erro";
                }
?>

Este código está funcionando certinho, o problema é que, do jeito que estou fazendo ele só me retorna a primeira linha da tabela, o que preciso mesmo é que ele selecione todas as linhas que contenham o "$id" do cliente, e imprima todas as linhas com o echo, no App Inventor vou dar um jeito de gerar uma lista com todas as linhas e umas 4 colunas ("osnum", "dataabertura", "datafechamento" e "status").

 

(Desculpem se meu código está um tanto "simples", eu utilizei o que aprendi nessas duas últimas semanas apenas para o funcionamento do sistema, sei apenas estas funções que usei, pode ser que exista alguma outra coisa que gere da maneira que preciso, mas não sei ainda rs).

 

 

Fico agradecido desde já, e se precisarem de informações mais específicas me solicitem que mando pra vcs.

 

Abraço!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By _FelipeOlvr
      Talvez seja simples, ou não. Não sei.
      Mas gostaria de um esclarecimento/luz de gente que já tem bagagem na área. Ficarei muito agradecido pela informação.
       
      Dei umas pesquisadas por ai, e fiz testes com as duas maneiras que achei ( até agora ):
       
      file_get_contents ( 'http://......' ) ;
      curl () ;
       
      Pergunta: 
       
      Existem outras maneiras de consumir API via PHP ? Quais ?
      Essas duas aí estão corretas?
    • By santans
      <?php if(isset($_post['name']) && !empty($_post['name'])){ $nome = addslashes($_post['name']); $email = addslashes($_post['email']); $mensagem = addslashes($_post['mesage']); $to = "gabriel@symmetrycorp.com.br"; $subjet = "Formulario - Contato SITE"; $body = "Nome: ".$nome. "\r\n". "E-mail: ".$email. "\r\n". "Mensagem: ".$mesage. "\n"; $header = "From: gabriel@symmetrycorp.com.br "."\r\n"."Replay-to:".$email."\r\n"."X=Mailer:php/".phpversion(); if(mail($to, $subject, $body, $header)){ echo("E-mail enviado com sucesso"); }else{ echo("O e-mail não pode ser enviado"); } } ?> Gostaria de ajudar para conferir esse código para envio de email, quero ter certeza que não há nenhum erro de escrita do código...
    • By Masant12
      Por favor, estou tendo dificuldades, alguém poderia me ajudar, gostaria de saber como posso fazer um sistema de reserva e se isso é possível, pois não encontrei nem um material sobre isso na internet.
    • By michael450
      Senhores, boa tarde.
       
      Estou com um probleminha... rss', preciso fazer a listagem de uma função da biblioteca "SPED-NFe"   na qual consulto quais as NFe que emitiram contra meu CNPJ, porém o ele executa toda a função e depois me trás o resultado, eu gostaria de trazer o resultado instantaneamente, como se fosse uma atualização segundo a segundo.
       
       
      Essas informações não são salvas em DB, é apenas para consulta.
      Se alguém puder ajudar serei muito grato,
       
      Abraço.
       
      Michael Douglas
    • By ricardonews
      olá pessoal, alguém ja teve dificuldade de logar no banco com um formulario de login feito pelo ajax quando a senha é criptografada?
      a minha está o sendo pelo md5 e quando deixo sem criptografia eu logo no banco.  Eu gostaria de logar com criptografia.
      vou deixar  a index e o arquivo que busca no banco de dados
      <!doctype html> <html> <?php require_once"config.php"; ?> <head> <title>Formulario de login</title> <style type="text/css"> html{ height:100%; background: linear-gradient(rgba(38, 128, 101, 0.9), rgba(52, 177, 140, 0.9)); } #div_login{ width:500px; margin:40px auto; position:relative; background-color: #ffffff; padding: 20px; border-radius: 5px; } #message{ width:100%; text-align:center; color:red; margin-bottom: 20px; } #div_login h1 { text-align: center; } #div_login input, #div_login textarea,#div_login a{ padding:10px; border:1px solid rgba(38, 128, 101, 0.9); border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:4px; outline:none; box-sizing: border-box; width:100%; font:14px "Trebuchet MS", tahoma, arial; color:#090; margin-bottom:10px; } #div_login #but_submit,#div_login a { background-color: #27ae60; font-weight: bold; text-transform: uppercase; color: #ffffff; width: auto; margin: 0; padding: 10px 20px; } </style> <!--<link href="style.css" rel="stylesheet" type="text/css">--> <script src="jquery-3.2.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#but_submit").click(function(){ var username = $("#meu_nome").val().trim(); var password = $("#minha_senha").val().trim(); if( username != "" && password != "" ){ $.ajax({ url:'pesquisar.php', type:'post', data:{username:username,password:password}, success:function(response){ var msg = ""; if(response == 1){ window.location = "home.php"; }else{ msg = "email e senhas invalidos!"; } $("#message").html(msg); } }); } }); }); </script> </head> <body> <div class="container"> <div id="div_login"> <h1>Login</h1> <div id="message"></div> <div> <input type="text" class="textbox" id="meu_nome" name="meu_nome" placeholder="email" /> </div> <div> <input type="password" class="textbox" id="minha_senha" name="minha_senha" placeholder="senhas"/> </div> <div> <input type="button" value="logar" name="but_submit" id="but_submit" /> <a href="inicio.php"><strong>Cadastrar</strong></a> </div> </div> </div> </body> </html> agora vem oque busca os dados no banco e é justamente essa parte que eu não entendo oque acontece.
      <?php require_once "config.php"; // AQUI É O PESQUISAR PHP $uname = mysqli_real_escape_string($con,$_POST['username']); $password = mysqli_real_escape_string($con,$_POST['password']); if ($uname != "" && $password != ""){ $sql_query = "SELECT count(*) as cntUser FROM usuarios WHERE email='".$uname."' and password='".$password."'"; $result = mysqli_query($con,$sql_query); $row = mysqli_fetch_array($result); $count = $row['cntUser']; if($count > 0){ $_SESSION['uname'] = $uname; echo 1; }else{ echo 0; } } desde já fico agradeço 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.