-
Posts
63 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que David Martinho postou
-
PHP Colocar gráfico que muda os valores ao clicar em um botão
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Pessoal, preciso da ajuda sim, eu é que tinha criado outro tópico e tinha dito que não precisava mais kkkkk Mas continuo sem saber o que fazer por isso agradeço quem consiga ajudar pfv -
PHP Colocar gráfico que muda os valores ao clicar em um botão
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Já não preciso mais, mas não consigo eliminar. -
PHP Colocar gráfico que muda os valores ao clicar em um botão
David Martinho postou um tópico em Web e banco de dados
Bom dia pessoal, eu tenho um sistema de gráficos onde ao clicar em um botão, supostamente o gráfico devia mostrar os valores do botão selecionado... Porém tem um problema, eu criei um post onde o valor do botão vai para a Query SQL e ai eu coloco a variável do botão na consulta: $sqlQuery = "SELECT linha, variante, tc, mês, id FROM tc_variante WHERE linha = '$linha' AND variante = 'V2' ORDER BY ID"; Só que o gráfico também vai buscar os valores à mesma Query, e quando vai, a Váriavel $linha ainda está vazia porque ele executa a consulta sempre primeiro do que o POST do botão (e então o valor da variável está sempre null). Como eu faço para o gráfico só executar a consulta após eu clicar no botão, e assim a variável ter um valor Código POST dos Botões: <form method="POST" action="data.php"> <button class="a" type="submit" name="botão" value="2N20">2N20</button> <button class="b" type="submit" name="botão" value="2N21">2N21</button> <button class="c" type="submit" name="botão" value="2N22">2N22</button> <button class="d" type="submit" name="botão" value="2N23">2N23</button> <button class="e" type="submit" name="botão" value="2N24">2N24</button> <button class="f" type="submit" name="botão" value="2N25">2N25</button> </form> Código dos Gráficos: <script> $(document).ready(function () { showGraph(); }); function showGraph() { { $.post("data.php", function (data) { console.log(data); var mês = []; var linha = []; var tc = []; for (var i in data) { linha.push(data[i].linha); mês.push(data[i].mês); tc.push(data[i].tc); } var chartdata = { labels: mês, tc, linha, datasets: [ { label: 'Bootleneck Linha', backgroundColor: '#49e2ff', borderColor: '#46d5f1', hoverBackgroundColor: '#CCCCCC', hoverBorderColor: '#666666', data: tc } ] }; var graphTarget = $("#graphCanvas"); var barGraph = new Chart(graphTarget, { type: 'bar', data: chartdata }); }); } } </script> Código SQL (data.php): <?php header('Content-Type: application/json'); $linha = filter_input(INPUT_POST, 'T_linha'); $conn = mysqli_connect("localhost","root","","bootlenecks"); $sqlQuery = "SELECT linha, variante, tc, mês, id FROM tc_variante WHERE linha = '$linha' AND variante = 'V2' ORDER BY ID"; $result = mysqli_query($conn,$sqlQuery); $data = array(); foreach ($result as $row) { $data[] = $row; } mysqli_close($conn); echo json_encode($data); ?> Fotos do Index (Ao clicar em algum botão, o gráfico não assume os valores da BD): -
PHP Colocar gráfico que muda os valores ao clicar em um botão
David Martinho postou um tópico em Web e banco de dados
Bom Dia Pessoal Eu queria colocar um simulador de capacidade de produção, e pensei em fazer um post do valor dos botões, que corresponde á linha de produção (isso é que vai mudar de linha para linha) porém se eu colocar o valor na query manualmente funciona, mas se colocar uma váriavel os dados não aparecem. Quem souber a solução por favor ajude. Funcionando -> QUERY COM INFORMAÇÕES INSERIDAS MANUALMENTE: $sqlQuery = "SELECT linha, variante, tc, mês, id FROM tc_variante WHERE linha = '2N21' AND variante = 'V2' ORDER BY ID"; COM O POST -> O SUPOSTO ERA AO CLICAR NUM DOS BOTÕES CINZENTOS ELE ASSUMIR A LINHA COMO ACIMA ("2N21") E MOSTRAR OS DADOS DESSA LINHA MAS EU CLICO NO BOTÃO E A VARIÁVEL ASSUME O VALOR DO BOTÃO MAS O GRÁFICO NÃO MUDA. CÓDIGO PÁG PRINCIPAL: <?php // Create connection $conn = new mysqli('localhost', 'root', '', 'bootlenecks'); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT DISTINCT linha FROM variantes"; $result = $conn->query($sql); ?> <!DOCTYPE html> <html> <head> <title>Bootlenecks Linhas</title> <link rel="stylesheet" href="index.css"> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/Chart.min.js"></script> <h1>Simulador Capacidade Linhas</h1> </head> <body> <div id="chart-container"> <canvas id="graphCanvas"></canvas> </div> <table> <tr> <form method="POST"> <button class="a" type="submit" name="T_linha" value="2N20">2N20</button> <button class="b" type="submit" name="T_linha" value="2N21">2N21</button> <button class="c" type="submit" name="T_linha" value="2N22">2N22</button> <button class="d" type="submit" name="T_linha" value="2N23">2N23</button> <button class="e" type="submit" name="T_linha" value="2N24">2N24</button> <button class="f" type="submit" name="T_linha" value="2N25">2N25</button> </button> <table align="center"> <tr> <td align="center"><b>Linha:</td> <td><select class="combo" size=1 name="Linha"> <?php while($row = $result->fetch_assoc()) { ?> <option value="<?php echo $row['linha'] ?>"><?php echo $row['linha'] ?></option> <?php } ?> <td align="center"><b>Variante:</td> <td><select class="combo" size=1 name="Variante"> <?php $sql = "SELECT DISTINCT variante FROM variantes"; $result = $conn->query($sql); while($row2 = $result->fetch_assoc()) { ?> ?> <option value="<?php echo $row2['variante'] ?>"><?php echo $row2['variante'] ?></option> <?php } ?> </select> <script> $(document).ready(function () { showGraph(); }); function showGraph() { { $.post("data.php", function (data) { console.log(data); var mês = []; var linha = []; var tc = []; for (var i in data) { linha.push(data[i].linha); mês.push(data[i].mês); tc.push(data[i].tc); } var chartdata = { labels: mês, tc, linha, datasets: [ { label: 'Bootleneck Linha', backgroundColor: '#49e2ff', borderColor: '#46d5f1', hoverBackgroundColor: '#CCCCCC', hoverBorderColor: '#666666', data: tc } ] }; var graphTarget = $("#graphCanvas"); var barGraph = new Chart(graphTarget, { type: 'bar', data: chartdata }); }); } } </script> <div id="chart-container2"> <canvas id="graphCanvas2"></canvas> </div> <script> $(document).ready(function () { showGraph2(); }); function showGraph2() { { $.post("data.php", function (data) { console.log(data); var mês = []; var tc = []; for (var i in data) { mês.push(data[i].mês); tc.push(data[i].tc); } var chartdata = { labels: mês, tc, datasets: [ { label: 'Bootleneck Linha', backgroundColor: '#49e2ff', borderColor: '#46d5f1', hoverBackgroundColor: '#CCCCCC', hoverBorderColor: '#666666', data: tc } ] }; var graphTarget = $("#graphCanvas2"); var barGraph = new Chart(graphTarget, { type: 'bar', data: chartdata }); }); } } </script> </body> </html> CÓDIGO DATA.PHP (QUERY) <?php header('Content-Type: application/json'); $conn = mysqli_connect("localhost","root","","bootlenecks"); if ($_SERVER["REQUEST_METHOD"] == "POST") { $linha = filter_input(INPUT_POST, 'T_linha'); $sqlQuery = "SELECT linha, variante, tc, mês, id FROM tc_variante WHERE linha = '$linha' AND variante = 'V2' ORDER BY ID"; $result = mysqli_query($conn,$sqlQuery); $data = array(); foreach ($result as $row) { $data[] = $row; } mysqli_close($conn); echo json_encode($data); } ?> -
Boa Tarde pessoal Uma dúvida simples, como faço para colocar os asteriscos para a direita e o texto alinhado à esquerda? Código CSS: table, td, th { border: 3px solid; border-collapse: collapse;border-color: black; margin:auto; margin-top: -1%; } td {background: #87CEFA;font-size:120%; text-align:right; padding: 7px;} body {font-family:Calibri; font-size: 150%; } h1 { font-size: 350%; text-align:center;color: black;} .combo { font-size:50%; width:101.1%; padding:4.2% } .input { font-size:50%; padding:4.2%; width:91%;} input{height: 50%; text-align:center;} body {text-align: center;color: black;} .img { color: blue; text-decoration: none; font-size:120%; } .z { color: red; font-weight: bolder; } .ooo { font-size:120%; margin:auto } .line { line-height: 0; } input[type=button] { padding:0.30%; font-size: 67%; margin-left: 0.1%; margin-top: 0.5%;font-weight:bold } input[type=submit] { padding:0.30%; font-size: 67%; margin-left: 0.5%; font-weight:bold } EDIT: Já descobri! Fica a solução para quem quiser float: right;
-
PHP Impedir que a página atualize o form
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Obrigado pela ajuda mas acho que não está entendendo, você tá tentando dar um value nos inputs do form, mas no php do form ele ainda não tem valores, os valores são atribuídos pelo utilizador, ou seja... É necessário dar o submit para os valores ficarem guardados, depois no php inserir, se eu quisesse eu conseguiria colocar os valores lá em alguma tabela, porque tenho os valores guardados mas o que eu queria era ao retroceder, no php do form os valores estivessem lá. porque fazendo da forma que você me tá dizendo, eu estou tentando atribuir um valor sem ter escrito nada nos inputs, tentando colocar coisas antes do tempo. O seu código funcionava se o php form viesse depois do de inserir Acho que consegui explicar mais ao menos e obrigado mais uma vez pela sua ajuda EDIT: Já consegui resolver; Coloquei isso nos inputs: value="<?php echo $_SESSION['T_Referência']; ?>" Depois coloquei isso no form inserir: <?php session_start(); $_SESSION['T_Localização'] = $_POST['T_Localização']; $_SESSION['T_Referência'] = $_POST['T_Referência']; $_SESSION['T_Categoria'] = $_POST['T_Categoria']; $_SESSION['T_Categoria'] = $_POST['T_Categoria']; $_SESSION['T_Dimensão'] = $_POST['T_Dimensão']; $_SESSION['T_Designação'] = $_POST['T_Designação']; $_SESSION['T_Fornecedor'] = $_POST['T_Fornecedor']; $_SESSION['T_Quantidade'] = $_POST['T_Quantidade']; $_SESSION['T_Inventário'] = $_POST['T_Inventário']; $_SESSION['T_MTN_ID'] = $_POST['T_MTN_ID']; ?> E por fim coloquei isso no php para caso insira o material, limpe o form (só queria manter os dados caso desse erro): echo " Novo registo inserido com sucesso" ; $var = ''; $_SESSION['T_Localização'] = $var; $_SESSION['T_Referência'] = $var; $_SESSION['T_Categoria'] = $var; $_SESSION['T_Dimensão'] = $var; $_SESSION['T_Designação'] = $var; $_SESSION['T_Fornecedor'] = $var; $_SESSION['T_Quantidade'] = $var; $_SESSION['T_Inventário'] = $var; $_SESSION['T_MTN_ID'] = $var; } Obrigado pela sua ajuda e tmj Obrigado pela sua ajuda -
PHP Impedir que a página atualize o form
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
@Luiz Paulo Escobar Oi, antes de mais obrigado pela ajuda. Eu coloquei isso nos meus inputs, mas agora aparece um erro: O erro é o seguinte: <br /><b>Notice</b>: Undefined index: T_Referência in <b>C:\xampp\htdocs\Moviblock\FormAS11.php</b> on line <b>54</b><br /> Eu vou enviar o código para você, será que eu preciso colocar alguma coisa no php do submit. (Eu tenho um para o form e outro para realizar a ação de inserir após clicar no submit) CÓDIGO DO FORM: <?php session_start(); if(!$_SESSION['utilizador']) { header('Location: index.php'); exit(); } ?> <!DOCTYPE html> <html> <title>Inserir Material - AS11</title> <head> <link rel="shortcut icon" href="favicon.ico"> <link rel="stylesheet" href="styleFormASXX.css"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <h1><p>Inserir Material - AS11</h1> <body> <form method="POST" action="InsereAS11.php"> <table> <tr> <td align="center"><b>Localização:</td> <td><select class="combo" size=1 name="T_Localização"> <option value=""></option> <option value="AS11-01-01">AS11-01-01</option> <option value="AS11-01-02">AS11-01-02</option> <option value="AS11-01-03">AS11-01-03</option> <option value="AS11-01-04">AS11-01-04</option> <option value="AS11-01-05">AS11-01-05</option> <option value="AS11-02-01">AS11-02-01</option> <option value="AS11-02-02">AS11-02-02</option> <option value="AS11-02-03">AS11-02-03</option> <option value="AS11-02-04">AS11-02-04</option> <option value="AS11-02-05">AS11-02-05</option> <option value="AS11-03-01">AS11-03-01</option> <option value="AS11-03-02">AS11-03-02</option> <option value="AS11-03-03">AS11-03-03</option> <option value="AS11-03-04">AS11-03-04</option> <option value="AS11-03-05">AS11-03-05</option> <option value="AS11-04-01">AS11-04-01</option> <option value="AS11-04-02">AS11-04-02</option> <option value="AS11-04-03">AS11-04-03</option> <option value="AS11-04-04">AS11-04-04</option> <option value="AS11-04-05">AS11-04-05</option> <option value="AS11-05-01">AS11-05-01</option> <option value="AS11-05-02">AS11-05-02</option> <option value="AS11-05-03">AS11-05-03</option> <option value="AS11-05-04">AS11-05-04</option> <option value="AS11-05-05">AS11-05-05</option> </select><br></td> </tr> <tr> <td><b>Referência:</td> <td><input class="input" type="text" name="T_Referência" value='<?= ($_POST['T_Referência'] ?: null); ?>' /></td> </tr> <td><b>Categoria:</td> <td><input class="input" type="text" name="T_Categoria" value='<?= ($_POST['T_Categoria'] ?: null); ?>' /></td> </tr> <td><b>Dimensão:</td> <td><input class="input" type="text" name="T_Dimensão" value='<?= ($_POST['T_Dimensão'] ?: null); ?>' /></td> </tr> <td><b>Designação:</td> <td><input class="input" type="text" name="T_Designação" value='<?= ($_POST['T_Designação'] ?: null); ?>' /></td> </tr> <td><b>Fornecedor:</td> <td><input class="input" type="text" name="T_Fornecedor" value='<?= ($_POST['T_Fornecedor'] ?: null); ?>' /></td> </tr> <td><b>Quantidade:</td> <td><input class="input" type="text" name="T_Quantidade" value='<?= ($_POST['T_Quantidade'] ?: null); ?>' /></td> </tr> <td><b>Inventário:</td> <td><input class="input" type="text" name="T_Inventário" value='<?= ($_POST['T_Inventário'] ?: null); ?>' /></td> </tr> <td><b>MTN_ID:</td> <td><input class="input" type="text" name="T_MTN_ID" value='<?= ($_POST['T_MTN_ID'] ?: null); ?>' /></td> </tr> </table> <br> <input type="submit" value="Inserir Material"> <a href="paginainicial.php"> <input type="button" value="Voltar atrás"> </a> </form><br> <a class="ooo">Para saber a localização correta:</a><a href="esquema armário.png" class="img"> Esquema Excel</a><a class="ooo"> ||</a><a href="armário.jpg" class="img"> Armário Moviblock</a> </body> </html> Código do SUBMIT: <html> <title> Inserir Material - AS11 </title> <head> <link rel="shortcut icon" href="favicon.ico"> </head> <body> <?php /* Verificar se o formulário foi submetido */ if ($_SERVER["REQUEST_METHOD"] == "POST") { $Localização = filter_input(INPUT_POST, 'T_Localização'); $Referência = filter_input(INPUT_POST, 'T_Referência'); $Categoria = filter_input(INPUT_POST, 'T_Categoria'); $Dimensão = filter_input(INPUT_POST, 'T_Dimensão'); $Designação = filter_input(INPUT_POST, 'T_Designação'); $Fornecedor = filter_input(INPUT_POST, 'T_Fornecedor'); $Quantidade = filter_input(INPUT_POST, 'T_Quantidade'); $Inventário = filter_input(INPUT_POST, 'T_Inventário'); $MTN_ID = filter_input(INPUT_POST, 'T_MTN_ID'); /* validar os dados recebidos do formulario */ if (empty($Localização) || empty($Referência) || empty($Categoria)|| empty($Dimensão)|| empty($Designação) || empty($Fornecedor) || empty($Quantidade)){ echo "Campos do formulário em falta"; echo '<br> <a href="FormAS11.php"> Voltar ao formulário </a>' ; exit(); } } else{ echo " Erro, formulário não submetido "; exit(); } /* estabelece a ligação à base de dados */ $ligacao = new mysqli("localhost", "root", "", "moviblock"); /* verifica se ocorreu algum erro na ligação */ if ($ligacao->connect_errno) { echo "Falha na ligação: " . $ligacao->connect_error; exit(); } /* texto sql da consulta*/ $consulta = "INSERT INTO AS11 (Localização, Referência, Categoria, Dimensão, Designação, Fornecedor, Quantidade, Inventário, MTN_ID) VALUES ('$Localização', '$Referência', '$Categoria', '$Dimensão', '$Designação', '$Fornecedor', '$Quantidade', '$Inventário', '$MTN_ID')"; /* executar a consulta e testar se ocorreu erro */ if (!$ligacao->query($consulta)) { echo " Falha ao executar a consulta: \"$consulta\" <br>" . $ligacao->error; $ligacao->close(); /* fechar a ligação */ } else{ /* percorrer os registos (linhas) da tabela e mostrar na página */ echo " Novo registo inserido com sucesso" ; } $ligacao->close(); /* fechar a ligação */ echo '<br> <a href="FormAS11.php"> Voltar ao formulário </a>' ; ?> </body> </html> @Luiz Paulo Escobar O erro dá-se porque o php não tem informações dos dados no input, ou seja, se eu colocar a tabela no php da inserção, ele mostra a tabela com as informações que eu escrevi, agora no php do formulário ele ainda não recebeu nada... Deve haver uma forma de dizer ao programa para passar os dados do submit de volta para o form de maneira que quando o user voltar ao formulário ter lá as informações escritas Ex: coloquei o código que você me disse no php de inserir -
PHP Manter os dados no formulário após dar Submit
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
@washalbano Obrigado pela ajuda, mas eu já estive pesquisando e ainda não consegui achar uma solução para o problema. -
Bom Dia Tenho o seguinte problema, eu tenho um formulário que ao dar Submit passa para outra página e eu queria que ao retornar para o formulário, os dados continuassem escritos nos inputs, para o utilizador não ter de escrever tudo de novo caso deia algum erro. Será que existe alguma maneira de a página ficar com os dados nos inputs mesmo indo para outra página. Exemplo de inserção de dados no form: Exemplo de erro ao dar Submit: E ao dar esse erro e ao clicar no link eu queria que aparecesse os dados que tem na 1º imagem, coisa que não acontece porque o formulário fica vazio.
-
PHP Manter os dados no formulário após dar Submit
David Martinho postou um tópico em Web e banco de dados
Bom Dia Eu tenho uma dúvida e agradecia muito se alguém conseguir ajudar. Eu tenho um formulário de inserir materiais e ao dar Submit, se estiver tudo correto, o php envia os dados para a BD, mas se der erro não. Agora é que está a questão, eu gostava que ao dar erro, e ao voltar para o formulário, o site mantivesse as informações escritas pelo utilizador (para que ele não tenha de escrever tudo outra vez caso tenha dado erro). Eu já pesquisei mas não consegui arranjar uma solução, por isso agradeço a quem tentar ajudar. Código do formulário: <?php session_start(); if(!$_SESSION['utilizador']) { header('Location: index.php'); exit(); } ?> <!DOCTYPE html> <html> <title>Inserir Material - AS11</title> <head> <link rel="shortcut icon" href="favicon.ico"> <link rel="stylesheet" href="styleFormASXX.css"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <h1><p>Inserir Material - AS11</h1> <body> <form method="POST" action="InsereAS11.php"> <table> <tr> <td align="center"><b>Localização:</td> <td><select class="combo" size=1 name="T_Localização"> <option value=""></option> <option value="AS11-01-01">AS11-01-01</option> <option value="AS11-01-02">AS11-01-02</option> <option value="AS11-01-03">AS11-01-03</option> <option value="AS11-01-04">AS11-01-04</option> <option value="AS11-01-05">AS11-01-05</option> <option value="AS11-02-01">AS11-02-01</option> <option value="AS11-02-02">AS11-02-02</option> <option value="AS11-02-03">AS11-02-03</option> <option value="AS11-02-04">AS11-02-04</option> <option value="AS11-02-05">AS11-02-05</option> <option value="AS11-03-01">AS11-03-01</option> <option value="AS11-03-02">AS11-03-02</option> <option value="AS11-03-03">AS11-03-03</option> <option value="AS11-03-04">AS11-03-04</option> <option value="AS11-03-05">AS11-03-05</option> <option value="AS11-04-01">AS11-04-01</option> <option value="AS11-04-02">AS11-04-02</option> <option value="AS11-04-03">AS11-04-03</option> <option value="AS11-04-04">AS11-04-04</option> <option value="AS11-04-05">AS11-04-05</option> <option value="AS11-05-01">AS11-05-01</option> <option value="AS11-05-02">AS11-05-02</option> <option value="AS11-05-03">AS11-05-03</option> <option value="AS11-05-04">AS11-05-04</option> <option value="AS11-05-05">AS11-05-05</option> </select><br></td> </tr> <tr> <td><b>Referência:</td> <td><input class="input" type="text" name="T_Referência"></td> </tr> <td><b>Categoria:</td> <td><input class="input" type="text" name="T_Categoria"></td> </tr> <td><b>Dimensão:</td> <td><input class="input" type="text" name="T_Dimensão"></td> </tr> <td><b>Designação:</td> <td><input class="input" type="text" name="T_Designação"></td> </tr> <td><b>Fornecedor:</td> <td><input class="input" type="text" name="T_Fornecedor"></td> </tr> <td><b>Quantidade:</td> <td><input class="input" type="text" name="T_Quantidade"></td> </tr> <td><b>Inventário:</td> <td><input class="input" type="text" name="T_Inventário"></td> </tr> <td><b>MTN_ID:</td> <td><input class="input" type="text" name="T_MTN_ID"></td> </tr> </table> <br> <input type="submit" value="Inserir Material"> <a href="paginainicial.php"> <input type="button" value="Voltar atrás"> </a> </form><br> <a class="ooo">Para saber a localização correta:</a><a href="esquema armário.png" class="img"> Esquema Excel</a><a class="ooo"> ||</a><a href="armário.jpg" class="img"> Armário Moviblock</a> </body> </html> Código para inserir os dados na BD: <html> <title> Inserir Material - AS11 </title> <head> <link rel="shortcut icon" href="favicon.ico"> </head> <body> <?php /* Verificar se o formulário foi submetido */ if ($_SERVER["REQUEST_METHOD"] == "POST") { $Localização = filter_input(INPUT_POST, 'T_Localização'); $Referência = filter_input(INPUT_POST, 'T_Referência'); $Categoria = filter_input(INPUT_POST, 'T_Categoria'); $Dimensão = filter_input(INPUT_POST, 'T_Dimensão'); $Designação = filter_input(INPUT_POST, 'T_Designação'); $Fornecedor = filter_input(INPUT_POST, 'T_Fornecedor'); $Quantidade = filter_input(INPUT_POST, 'T_Quantidade'); $Inventário = filter_input(INPUT_POST, 'T_Inventário'); $MTN_ID = filter_input(INPUT_POST, 'T_MTN_ID'); /* validar os dados recebidos do formulario */ if (empty($Localização) || empty($Referência) || empty($Categoria)|| empty($Dimensão)|| empty($Designação) || empty($Fornecedor) || empty($Quantidade)){ echo "Campos do formulário em falta"; echo '<br> <a href="FormAS11.php"> Voltar ao formulário </a>' ; exit(); } } else{ echo " Erro, formulário não submetido "; exit(); } /* estabelece a ligação à base de dados */ $ligacao = new mysqli("localhost", "root", "", "moviblock"); /* verifica se ocorreu algum erro na ligação */ if ($ligacao->connect_errno) { echo "Falha na ligação: " . $ligacao->connect_error; exit(); } /* texto sql da consulta*/ $consulta = "INSERT INTO AS11 (Localização, Referência, Categoria, Dimensão, Designação, Fornecedor, Quantidade, Inventário, MTN_ID) VALUES ('$Localização', '$Referência', '$Categoria', '$Dimensão', '$Designação', '$Fornecedor', '$Quantidade', '$Inventário', '$MTN_ID')"; /* executar a consulta e testar se ocorreu erro */ if (!$ligacao->query($consulta)) { echo " Falha ao executar a consulta: \"$consulta\" <br>" . $ligacao->error; $ligacao->close(); /* fechar a ligação */ } else{ /* percorrer os registos (linhas) da tabela e mostrar na página */ echo " Novo registo inserido com sucesso" ; } $ligacao->close(); /* fechar a ligação */ echo '<br> <a href="FormAS11.php"> Voltar ao formulário </a>' ; ?> </body> </html> -
PHP Código dando erro de sintaxe
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Oi colega, muito obrigado pela ajuda, eu realmente não sabia que não era necessário aqueles parêntesis e além disso faltava um no operação="editar". Obrigado mais uma vez -
Oi pessoal uma dúvida bem rápida. Alguém sabe porque está dando erro nesse códgio? if (empty($id) || (empty($id2) || (empty($id3) || (empty($id4) || (empty($id5) || (empty($id6) || (empty($id7) || $operacao!="editar"){ echo " Erro, pedido inválido "; exit(); Obrigado pela atenção
-
PHP Filtro procura sempre pelo último valor
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
EDIT: JÁ CONSEGUI MT OBGRIGADO PELA AJUDA, fiz o que você disse e na página dos resultados coloquei um foreach <?php $checkar = ($_GET['checkar']); $ref = "%".trim($_GET['ref'])."%"; $dbh = new PDO('mysql:host=127.0.0.1;dbname=moviblock', 'root', ''); $sth = $dbh->prepare('SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Referência` LIKE :ref UNION SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Localização` LIKE :ref UNION SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Referência` LIKE :ref UNION SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Categoria` LIKE :ref'); /* eu não coloquei a query toda porque é um pouco grande */ foreach($checkar as $valores){ $sth->bindParam(':checkar', $valores, PDO::PARAM_STR); $sth->bindParam(':ref', $ref, PDO::PARAM_STR); $sth->execute(); $resultados = $sth->fetchAll(PDO::FETCH_ASSOC); if (count($resultados)) { foreach($resultados as $Resultado) { ?> -
PHP Filtro procura sempre pelo último valor
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Antes de mais, obrigado pela ajuda, eu fiz do jeito que você me disse, mas agora dá erro no fetch dos resultados, diz que estou a tentar passar de um array para uma string. O que eu posso fazer para funcionar? Obs: O que é esse "%5B%5D", só apareceu depois de por os inputs name com [] $checkar = ($_GET['checkar']); $ref = "%".trim($_GET['ref'])."%"; $dbh = new PDO('mysql:host=127.0.0.1;dbname=moviblock', 'root', ''); $sth = $dbh->prepare('SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Referência` LIKE :ref UNION SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Localização` LIKE :ref UNION SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Referência` LIKE :ref UNION SELECT * FROM `as11` WHERE `Equipa` = :checkar AND `Categoria` LIKE :ref'); /* eu não coloquei a query toda porque é um pouco grande */ $sth->bindParam(':checkar', $checkar, PDO::PARAM_STR); $sth->bindParam(':ref', $ref, PDO::PARAM_STR); $sth->execute(); $resultados = $sth->fetchAll(PDO::FETCH_ASSOC); if (count($resultados)) { foreach($resultados as $Resultado) { ?> <?php -
Eaí galera, tenho um problema que precisava imenso de ajuda urgentemente, eu tenho um sistema de filtragem por checkboxs onde o utilizador pesquisa um produto e depois escolhe as tabelas onde quer ver registos Acontece que se marcar uma tabela ele procura, mas se procurar por mais ou por todas, ele só mostra os registos da ultima caixa selecionada No URL ele guarda todos os valores mas só mostra o último, como faço para o site mostrar os registos de todos os valores? Código HTML: <form class="form" action="resultadosrefAS11.php" method="GET"> <input type="checkbox" value="AS11" name="checkar"> <input type="checkbox" value="AS12" name="checkar" class="check"> <input type="checkbox" value="AS13" name="checkar" class="check"> <input type="checkbox" value="AS14" name="checkar" class="check"> <input type="checkbox" value="AS21" name="checkar" class="check"> <input type="checkbox" value="AS22" name="checkar" class="check"> <input type="checkbox" value="AS23" name="checkar" class="check"> <input type="checkbox" value="AS24" name="checkar" class="check"> <input type="checkbox" value="MFT5" name="checkar" class="check"> <input type="checkbox" value="REUSE" name="checkar" class="check"> <input type="checkbox" value="SE1" name="checkar" class="check"> <input type="checkbox" value="SE2" name="checkar" class="check"> <input type="checkbox" value="SE4" name="checkar" class="check"> <input type="checkbox" value="SE5" name="checkar" class="check"> <script> function toggle(source) { checkboxes = document.getElementsByName('checkar'); for(var i=0, n=checkboxes.length;i<n;i++) { checkboxes[i].checked = source.checked; } } </script> <script>$('#select_all').click(function(event) { if(this.checked) { // Iterate each checkbox $(':checkbox').each(function() { this.checked = true; }); } else { $(':checkbox').each(function() { this.checked = false; }); } }); </script> <input type="checkbox" onClick="toggle(this)"/>Marcar🗘Desmarcar
-
MySQL Query não mostra só os resultados que estão selecionados na checkbox
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Já resolvi, não é preciso ajuda :) -
MySQL Query não mostra só os resultados que estão selecionados na checkbox
David Martinho postou um tópico em Web e banco de dados
Bom Dia Eu tenho um sistema de procura onde o utilizador escreve qualquer coisa e o sistema procura resultados parecidos, além disso tem um sistema de filtragem por checkboxs onde o utilizador escolhe em que tabelas quer procurar Se não tiver as checkboxs selecionadas ele não procura, porém ao selecionar a 1ª, ao invés de mostrar só dessa tabela, mostra de todas igual, o que eu faço para só mostrar as tabelas selecionadas SELECT * FROM `as11` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as12` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as13` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as14` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as21` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as22` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as23` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `as24` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `se1` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `se2` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `se4` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `se5` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `reuse` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar UNION SELECT * FROM `mft5` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref AND `Equipa` = :checkar ORDER BY Localização ASC O checkar é que não está funcionando, O código PHP é esse <?php if (!isset($_GET['ref']) || (!isset($_GET['checkar']))) { header("Location: AS11.php"); exit; } $ref = "%".trim($_GET['ref'])."%"; $checkar = "%".trim($_GET['checkar'])."%"; $dbh = new PDO('mysql:host=127.0.0.1;dbname=moviblock', 'root', ''); $sth->bindParam(':ref', $ref, PDO::PARAM_STR); $sth->bindParam(':checkar', $checkar, PDO::PARAM_STR); $sth->execute(); $sth = $dbh->prepare/* Aqui é o código SQL acima */ $resultados = $sth->fetchAll(PDO::FETCH_ASSOC); if (empty($resultados)) { header('Location: erro.php'); } if (count($resultados)) { foreach($resultados as $Resultado) { ?> -
HTML Como tornar a página inicial responsiva
David Martinho postou um tópico em Web e banco de dados
Bom Dia Galera Eu agradecia muito se alguém me pudesse ajudar nessa: Eu tenho um site em php porém ele fica bem no meu monitor, e em um mais pequeno fica desformatado, como eu não entendo nada de <div>, será que alguém me poderá colocar a página responsiva? Obrigado pela atenção <?php session_start(); if(!$_SESSION['utilizador']) { header('Location: index.php'); exit(); } ?> <!DOCTYPE html> <html> <head> <link rel="shortcut icon" href="favicon.ico"> <link rel="stylesheet" href="stylepaginicial.css"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>Página Inicial</title> </head> <body> <h1>Gestão Moviblock</h1> <a href="paginainicialv2.php" class="img"> <img src="seta.png" width="17%""></a> <a href="paginainicialv2.php" class="a"><font color=#F0F8FF>Tabelas REUSE e MFT5</a> <table> <tbody> <a href="logout.php" class="b" onclick="return confirm('De certeza que quer terminar sessão?');"> <img src="logoff.png" width="30%""></a> <?php echo "<p class=\"c\">", ($_SESSION['utilizador']); ?> <table class="MFE21"> <thead> <tr> <th><b>MFE21</th> </tr> </thead> <tbody> <p class="big"> <td style="text-align: center"><a href="AS11.php"><b> AS11</a></td> </tr> <td style="text-align: center"><a href="AS12.php"><b> AS12</a></td> </tr> <td style="text-align: center"><a href="AS13.php"><b> AS13</a></td> </tr> <td style="text-align: center"><a href="AS14.php"><b> AS14</a></td> </tr></table><br><p class="big"> <table class="MFE21-2"> <td style="text-align: center"><a href="FormAS11.php"><b>Inserir Material - AS11</a></td> </tr> <td style="text-align: center"><a href="FormAS12.php"><b>Inserir Material - AS12</a></td> </tr> <td style="text-align: center"><a href="FormAS13.php"><b>Inserir Material - AS13</a></td> </tr> <td style="text-align: center"><a href="FormAS14.php"><b>Inserir Material - AS14</a></td> </table> </tr></td> </table> <table class="MFE22"> <thead> <tr> <th><b>MFE22</th> </tr> </thead> <tbody> <p class="big"> <td style="text-align: center"><a href="AS21.php"><b>AS21</a></td> </tr> <td style="text-align: center"><a href="AS22.php"><b>AS22</a></td> </tr> <td style="text-align: center"><a href="AS23.php"><b>AS23</a></td> </tr> <td style="text-align: center"><a href="AS24.php"><b>AS24</a></td> </tr></table><br><p class="big"> <table class="MFE22-2"> <td style="text-align: center"><a href="FormAS21.php"><b>Inserir Material - AS21</a></td> </tr> <td style="text-align: center"><a href="FormAS22.php"><b>Inserir Material - AS22</a></td> </tr> <td style="text-align: center"><a href="FormAS23.php"><b>Inserir Material - AS23</a></td> </tr> <td style="text-align: center"><a href="FormAS24.php"><b>Inserir Material - AS24</a></td> </table> <table class="MFE23"> <thead> <tr> <th><b>MFE23</th> </tr> </thead> <tbody> <p class="big"> <td style="text-align: center"><a href="SE1.php"><b>SE1</a></td> </tr> <td style="text-align: center"><a href="SE2.php"><b>SE2</a></td> </tr> <td style="text-align: center"><a href="SE4.php"><b>SE4</a></td> </tr> <td style="text-align: center"><a href="SE5.php"><b>SE5</a></td> </tr> </table><br><p class="big"> <table class="MFE23-2"> <td style="text-align: center"><a href="FormSE1.php"><b>Inserir Material - SE1</a></td> </tr> <td style="text-align: center"><a href="FormSE2.php"><b>Inserir Material - SE2</a></td> </tr> <td style="text-align: center"><a href="FormSE4.php"><b>Inserir Material - SE4</a></td> </tr> <td style="text-align: center"><a href="FormSE5.php"><b>Inserir Material - SE5</a></td> </tr> </table> </body> </html> Se alguém necessitar do CSS, segue abaixo: body { font-family: American Typewriter, serif; font-size: large; background-image: url("bosch.jpg"); background-size: 100% 100%; position:stretch; } html { height: 100% } h1 {color:#000000; padding-left:1ex; font-size: 535%;} h1 {font-family:Calibri; } body { color:black; font-family:Calibri;} a:visited, a { color: black; font-weight: normal; text-decoration: none;} table, td, th { border: 3px solid; border-collapse: collapse; border-color: black;} th { background: #4682B4; font-size:240%;} td {font-size:215%; background-color:#FFFFE0;} td { text-align:left;} p.big { line-height: 0.7; } .img { position:absolute; top:4.5%; left:59.088%; } .a { position:absolute; top:7.3%; left:67.7%; font-size:203.9%; width:13.5%; font-weight:bold; } .b { position:absolute; top:9.3%; left:92.8%; } .c { position:absolute; top:-0.5%; left:89.65%; font-size:180%; text-align:center; font-family: Helvetica; color:white; background: linear-gradient(90deg, red, #260db1, #1fc8e6, RGB(2, 153, 2)); width:8%; height:4.5%; border-style: solid; border-radius: 5px; border-width: 3.9px; border-color: #F0FFFF; } .MFE21 { position:absolute; top:26.10%; left:4.20%; width:22.80%; height:33%; } .mov { font-size: 215%; } .MFE21-2 { position:absolute; top:63.20%; left:4.20%; width:22.80%; height:31%; } .MFE22 { position:absolute; top:26.10%; left:38.70%; width:22.80%; height:33%; } .MFE22-2 { position:absolute; top:63.20%; left:38.70%; width:22.80%; height:31%; } .MFE23 { position:absolute; top:26.10%; left:73%; width:22.80%; height:33%; } .MFE23-2 { position:absolute; top:63.20%; left:73%; width:22.80%; height:31%; } -
MySQL Como selecionar todos os dados de todas as tabelas ao mesmo tempo SQL
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
@Denis Bopp Olá, o :ref é a classe do input em html ou seja, eu quero dizer que se o campo Localização for igual ao que o utilizador escreve na barra de pesquisa, para retornar os registos com o mesmo nome SELECT * FROM `as11` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref UNION SELECT * FROM `as12` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref ORDER BY Localização ASC Já consegui, tinha que usar o UNION SELECT, mas obrigado pela ajuda -
MySQL Como selecionar todos os dados de todas as tabelas ao mesmo tempo SQL
David Martinho postou um tópico em Web e banco de dados
Boa tarde. Eu tenho um sistema de filtragem que queria que procurasse os materiais dos departamentos todos de uma vez: Esses são os departamentos, e o codigo SQL que eu usei foi este: SELECT * FROM `as11`, `as12`, `as13`, `as14`, `as21`, `as22`, `as23`, `as24`, `reuse`, `mft5`, `se1`, `se2`, `se4`, `se5` WHERE `Localização` LIKE :ref OR `Referência` LIKE :ref OR `Categoria` LIKE :ref OR `Dimensão` LIKE :ref OR `Designação` LIKE :ref OR `Fornecedor` LIKE :ref OR `Quantidade` LIKE :ref OR `Inventário` LIKE :ref OR `MTN_ID` LIKE :ref ORDER BY Localização ASC O código dá erro porque não sabe a que tabelas se referem os campos "Localização", "Referência"... Como eu posso fazer para o SQL saber que o campo Localização é o de todas as tabelas? -
PHP Como fazer o PHP funcionar no VSCODE??
David Martinho respondeu ao tópico de squ3let0n em Web e banco de dados
Pensei que só dava para executar PHP no browser -
WordPress Logando no wordpress está dando erro
David Martinho respondeu ao tópico de bela1000 em Web e banco de dados
@bela1000 Tem que explicar melhor porque podem ser vários erros diferentes, mas veja se tem o xampp com os servidores Apache e mySQL ligados -
PHP Como ativar o botao de cancelar um agendamento
David Martinho respondeu ao tópico de angeloroberto em Web e banco de dados
@angeloroberto ok então manda aí que eu posso tentar fazer alguma coisa, porque falando por aqui n dá muito jeito -
Javascript Criar Aviso ao clicar em botão
David Martinho respondeu ao tópico de David Martinho em Web e banco de dados
Tá valeu pela ajuda mas não valia a pena colocar javascript porque o meu código PHP já faz o que queria por isso já não é necessário esse código. Mas obrigado pela ajuda -
Python como retornar o numero de linhas em uma query do sql?
David Martinho respondeu ao tópico de Fabio Umpierre em Programação - outros
Supostamente teria de usar o COUNT SELECT COUNT("nome_coluna") FROM nome_tabela; isso vai retornar o numero de linhas que tem na query em python será o mesmo mas terá que importar a BD import mysql.connector from mysql.connector import Error try: con = mysql.connector.connect(host='localhost',database='database',user='root',password='') consulta_sql = "SELECT COUNT ("nome_coluna") FROM nome_tabela" cursor = con.cursor() cursor.execute(consulta_sql) linhas = cursor.fetchall() print("Número total de registros retornados: ", consulta_sql)
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