-
Total de itens
406 -
Registro em
-
Última visita
Tudo que wash postou
-
Olá! Creio que seja realmente necessário reescrever a variável quando usar operadores lógicos. Veja: http://php.net/manual/pt_BR/language.operators.logical.php
-
Olá evod! Que bom que já resolveu! Sugiro apenas que troque o campo de texto por um campo do tipo tinyint, que assim seu banco de dados ficara mais leve e mais rápido! Segue sugestão testada: Arquivo .sql -- remover banco de dados se ele existir DROP SCHEMA IF EXISTS evod; -- criar banco de dados CREATE SCHEMA evod; -- usar o banco de dados USE evod; -- -- utilizadores -- CREATE TABLE utilizadores ( id int(11) primary key auto_increment NOT NULL, utilizador varchar(60), `pagina-inicial` tinyint(1) DEFAULT , `pagina-produtos` tinyint(1) DEFAULT ) ENGINE=InnoDB; INSERT INTO utilizadores (utilizador, `pagina-inicial`, `pagina-produtos`) VALUES ('João Mariano', 1,1), ('Maria Fernanda', 1,), ('Pedro Rangel', ,), ('Cláudia Rabello', ,1); connect.php Arquivo de conexão com o banco de dados: <?php // definição de variáveis para conexão $host = 'localhost'; // endereço do banco $user = 'root'; // usuário $pass = ''; // senha $database = 'evod'; // nome do banco de dados // estabelecer conexão: $sqli = new mysqli($host, $user, $pass); // verificando se conectou de boas: if ($sqli->connect_error) { // se houver alguma falha, exibe mensagem: echo '<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>'; } // definir o padrão de caracteres if (!$sqli->set_charset('utf8')) { // se não conseguir definir o padrão de caracteres, exibe o padrão disponível echo "<p class='error'>Seu charset não é utf8, chefe!<br>$sqli->character_set_name()</p>"; } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado echo "<p class='error'>Banco de dados não encontrado, chefe!</p>"; } Arquivo com o formulário, contendo os input[type=radio] sendo carregados de acordo com o que está no banco de dados: <?php // conecta com o mysql require 'sql/connect.php'; // trata id da url $id = isset($_GET['id']) ? $_GET['id'] : 1; $total_registros = 3; $next = $id + 1 > $total_registros ? 1 : $id + 1; //rotina para atualização: if (sizeof($_POST)) { echo '<p class="warning">A rotina para salvar não foi escrita, chefe!</p>'; } // defique query de busca do utilizador $query = 'SELECT * FROM utilizadores WHERE id = ' . $id; // executa a query $result = $sqli->query($query); // verifica se houve algum erro na execução da query if ($sqli->error) { echo '<p class="error">Falha ao executar busca, chefe!<br>' . $sqli->error . '</p>'; } elseif ($result->num_rows) { // se não houve falhas e existe algum resultado $dados = $result->fetch_all(MYSQLI_ASSOC)[]; } else { // se não há nenhum resultado: echo '<p class="warning">Nenhum registro de utilizadores, chefe!</p>'; } ?> <!doctype html> <html> <head> <meta charset='utf-8'> <title>title</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <main> <h1><?= $dados['utilizador'] ?></h1> <form method="post"> Página Inicial:<br> <?php // define as opções $podeEditar = ['Não Pode Editar', 'Pode Editar']; // monta os radios para página inicial: foreach ($podeEditar as $key => $value) { $checked = $key == $dados['pagina-inicial'] ? ' checked' : null; echo "<input type='radio' name='pagina-inicial' id='inicial$key' $checked> <label for='inicial$key'>$value</label> "; } ?> <hr> Página Produtos:<br> <?php // define as opções $podeEditar = ['Não Pode Editar', 'Pode Editar']; // monta os radios para página inicial: foreach ($podeEditar as $key => $value) { $checked = $key == $dados['pagina-produtos'] ? ' checked' : null; echo "<input type='radio' name='pagina-produtos' id='produtos$key' $checked> <label for='produtos$key'>$value</label> "; } ?> <hr> <input type="submit" value='Salvar'> </form> <p> <a href="?id=<?= $next ?>">Próximo Utilizador</a> </p> </main> </body> </html> Obs.: Testado no php 5.5.19 e no 7.0.5
-
Olá @evod! Não entendi. Mesmo assim seguem algumas sugestões: 1) O que não funciona? Os input[type=radio]? Em HTML use apenas a palavra checked, veja: 2) Ou o que não funciona é a restrição de acesso a apenas determinado menu? 3) Por quê você usa um array nos name dos input (pagina-inicial[] e pagina-produtos[]) se somente uma única opção poderá ser marcada? 4) O php.net recomenda não usar mais as extensões mysql_* veja: 5) Se puder, atualize seu php Imagem da 1)
-
Como salvar o conteúdo de uma variavel para arquivo
pergunta respondeu ao johnsonsudre de wash em PHP
Olá! Verifique no seu php.ini o valor definido para max_post_size ou upload_max_filesize, o padrão parece ser 2M, tente aumentar um pouco e veja o resultado. Se não tiver acesso ao seu php.ini, provavelmente poderá ser definido no arquivo .php assim: ini_set('post_max_size', '50M'); ini_set('upload_max_filesize', '50M');- 8 respostas
-
- arquivo
- lado servidor
-
(e %d mais)
Tags:
-
Ôppa! Que bom que solucionou!
-
Hummm... Percebi! Vou ter que entender melhor a lógica das queries de busca do seu sistema...
-
Ôppa! Creio que agora entendi! Onde presenca = 1 você quer exibir a letra P, onde não for, você precisa exibir a letra F Use um if na sua query assim: (IF(presenca=1,'P','F')) as presenca
-
Oi Rafael! Se o que você precisa é somar as presenças e ausências, partindo da idéia de que 'presenca' = 0 é ausência, acrescente na sua query de busca: SUM(IF(presenca=1,1,0)) as presencas, SUM(IF(presenca=0,1,0)) as ausencias Obs.: No trecho que você enviou não dá pra ver onde a variável $rs_relatorio foi criada; Você está tentando usá-la em: mysql_fetch_array($rs_relatorio);
-
Olá! Acho que percebi o que acontece. No construct da sua class Conexao, você já manda conectar ao banco de dados, quando as variáveis: private $servidor; private $banco; private $usuario; private $senha; Ainda não foram definidas. Ou seja, quando você cria o objeto em: $conectar=new Conexao(); a conexão já acontece! Já tenta ser estabelecida. Sugiro que remova a conexão do __construct ou já defina os valores das variáveis privadas dentro da class Conexao
-
Olá! Apenas converter em curvas vai sempre gerar essa falha onde houver sobreposição de elementos. Tente diferente: Selecione um desses textos artísticos e solde com um elemento externo, depois apague o elemento externo
-
Olá Fábio! Não sei se entendi direito... Mas o que muda nos dois trechos de código são: o nome do $_FILES e a query de inserção. Tente unificar os dois trechos assim: $filename = ($_FILES['vendedor']["tmp_name"]); $abraArq = fopen($filename, "r"); $trunc = "truncate table senha"; $executar = $pdo->exec($trunc); while (($row = fgetcsv($abraArq, 2048, ";")) !== FALSE) { // defina aquery para cliente $sql = "insert into cliente (CODIGO_cliente,NOME_cliente,STATUS_cliente,SENHA_URA,DATA_EXPIRACAO) values('$row[1]','$row[5]','$row[6]','$row[7]','$row[11]')"; // e somente se for arquivo de vendedor, a query será alterada if (isset($_FILES['vendedor'])) { $sql = "insert into vendedor (CODIGO_VENDEDOR, NOME_VENDEDOR, STATUS_VENDEDOR, SENHA_URA, DATA_EXPIRACAO) values('$row[0]', '$row[2]', '$row[3]', '$row[7]', '$row[8]')"; } $executar = $pdo->exec($sql); } O conceito que você menciona é chamado DRY - Don't Repeat Yourself (em português: Não repita a si mesmo), é o que usamos para evitar a escrita de trechos de código iguais, veja: https://pt.wikipedia.org/wiki/Don%27t_repeat_yourself
-
Olá Shelter! O sr. tem toda razão! Fui grosseiro e desnecessário! Tenha certeza de que suas colocações vão me fazer buscar ser uma pessoa melhor. Sugiro que abra um novo post, com sua questão atual, para que outros membros do fórum possam te ajudar.
-
Prezado sr. Creio que a leitura rápida não lhe permitiu a fácil compreensão do texto. Leia com calma e atenção: Depois de executada a função, pode testar assim: echo '<p>O conteúdo da variável $Nome é: '.$Nome.'</p>'; echo '<p>O conteúdo da variável $status é: '.$status.'</p>'; Esse trecho não deve ser incluído dentro da função! Assim o sr. avacalha tudo! Gentileza não esculiambar o código ainda mais!!! Vamos pensar em qual seria o trecho em que a função é executada??? Preste atenção! O lugar onde a função é criada é diferente do lugar onde a função é executada!!! A função é executada aqui: tratarArrayPraMim($ami->queueStatus($a)); Então o trecho sugerido acima(aquele com os parágrafos), deve ser inserido Depois de executada a função!!! Então, com essa interpretação básica do texto, creio eu, que o ideal seria proceder assim: tratarArrayPraMim($ami->queueStatus($a)); echo '<p>O conteúdo da variável $Nome é: '.$Nome.'</p>'; echo '<p>O conteúdo da variável $status é: '.$status.'</p>'; Agora... se o sr. não quer mais que apareça tuuuuudo! Substitua, na função a linha: echo $k . ': ' . $v . '<br>'; Por: $$k = $v; Leia com bastante calma e atenção! A palavrinha Substitua, citada acima, quer dizer: Troque uma linha pela outra.
-
Olá! porque ao invés de excluir definitivamente, você não muda o status do seu cliente, apenas desativando/enviando pra uma lixeira, caso haja alguma exclusão equivocada, em algum outro momento você pode recuperá-lo da lixeira!
-
Olá! acho q entendi! Na paginação da página onde tem apenas o álbum de Benedita, você precisa manter a variável ?tb=tb_benedita1 Pra que a url fique assim: album.php?tb=tb_benedita1&pagina=2 Teste e veja que dessa forma: http://www.rebornimaginacoesdebebes.com.pt/album.php?tb=tb_benedita1&pagina=2 é carregada a página 2
-
Olá! Se for usar mysqli, faça assim: <?php // arquivo para conexão com o mysql // definição de variáveis para conexão $host = 'localhost'; // endereço do banco $user = 'root'; // usuário $pass = ''; // senha $database = 'scriptbrasil'; // nome do banco de dados // estabelecer conexão: $sqli = new mysqli($host, $user, $pass); // verificando se conectou de boas: if ($sqli->connect_error) { // se houver alguma falha, exibe mensagem: echo '<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>'; } // definir o padrão de caracteres if (!$sqli->set_charset('utf8')) { // se não conseguir definir o padrão de caracteres, exibe o padrão disponível echo "<p class='error'>Seu charset não é utf8, chefe!<br>$sqli->character_set_name()</p>"; } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado echo "<p class='error'>O banco de dados: $database não foi encontrado, chefe!</p>"; }
-
Dúvida passar valor do select para variável PHP
pergunta respondeu ao Eduardo_santiago de wash em PHP
Mano! Não consegui entender o que o sr. queria fazer, mas testei aqui e ficou assim: Arquivo database.sql: -- tabelas do banco de dados drop table if exists nomeescola; create table nomeescola( id int(3) primary key auto_increment, nome varchar(30) ); insert into nomeescola(nome) values ('Escola Estadual'),('Escola Municipal'),('Escola Federal'); -- drop table if exists turma; create table turma( fk_escola int(3), nome varchar(30) ); insert into turma values (1, 'Turma Arara Azul'),(1, 'Turma Pássaro Azul'), (2, 'Turma da Távola Redonda'), (2, 'Turma da Bola Quadrada'), (3, 'Turma do Círculo de Stone Henge'); Arquivo js.js function CriaRequest() { try { request = new XMLHttpRequest(); } catch (IEAtual) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (IEAntigo) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (falha) { request = false; } } } if (!request) alert("Seu Navegador não suporta Ajax!"); else return request; } function getDados() { // Declaração de Variáveis var teste = document.getElementById("escola").value; var result = document.getElementById('result'); var xmlreq = CriaRequest(); // Exibi a imagem de progresso //result.innerHTML = '<img src="Progresso1.gif"/>'; // Iniciar uma requisição xmlreq.open("GET", "teste.php?escola=" + teste, true); // Atribui uma função para ser executada sempre que houver uma mudança de ado xmlreq.onreadystatechange = function () { // Verifica se foi concluído com sucesso e a conexão fechada (readyState=4) if (xmlreq.readyState == 4) { // Verifica se o arquivo foi encontrado com sucesso if (xmlreq.status == 200) { result.innerHTML = xmlreq.responseText; } else { result.innerHTML = "Erro: " + xmlreq.statusText; } } }; xmlreq.send(null); } Arquivo connect.php <?php // arquivo para conexão com o mysql // definição de variáveis para conexão $host = 'localhost'; // endereço do banco $user = 'root'; // usuário $pass = ''; // senha $database = ''; // nome do banco de dados // se estiver em was if (preg_match('/^(was)/', $_SERVER['SERVER_NAME'])) { $database = 'scriptbrasil'; // nome do banco de dados $pass = ''; } // estabelecer conexão: $sqli = new mysqli($host, $user, $pass); // verificando se conectou de boas: if ($sqli->connect_error) { // se houver alguma falha, exibe mensagem: echo '<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>'; } // definir o padrão de caracteres if (!$sqli->set_charset('utf8')) { // se não conseguir definir o padrão de caracteres, exibe o padrão disponível echo "<p class='error'>Seu charset não é utf8, chefe!<br>$sqli->character_set_name()</p>"; } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado echo "<p class='error'>Banco de dados não encontrado, chefe!</p>"; } Arquivo teste.php <script src="js.js" type="text/javascript"></script> <?php error_reporting(E_ALL); // inclui arquivo de conexão com o banco de dados, basta ser incluido apenas uma única vez include 'connect.php'; // define a query de busca $sql = 'SELECT * FROM nomeescola ORDER BY nome DESC'; // executa a query de busca $result = $sqli->query($sql); // verifica se houve falha na execução da query: if ($sqli->error) { // mostra erro na tela: die($sqli->error); } elseif ($result->num_rows) { // se não houve falhas e há algum resultado // inicia o select $select = "<select name='escola' id='escola' onchange='getDados();'> <option value ='--'> selecione</option>"; while ($dados = $result->fetch_assoc()) { // adiciona options ao select $select.= "<option value='$dados[id]'>$dados[nome]</option>"; } // mostra select na tela: echo $select . '</select>'; } else { // se nada foi encontrado: echo "<option value='none'>Nenhum resultado encontrado!</option>"; } ?> <label> Quantidade de turmas: </label> <?php if (isset($_GET['escola'])) { $teste = urlencode($_GET['escola']); $sql = "SELECT * FROM turma WHERE fk_escola = $teste"; sleep(1); // executa a query de busca $result = $sqli->query($sql); // verifica se houve falha na execução da query: if ($sqli->error) { // mostra erro na tela: die($sqli->error); } elseif ($result->num_rows) { // se não houve falhas e há algum resultado // inicia o select $select = "<select name='quantidade' id='quantidade' onchange='getDados();'>"; while ($dados = $result->fetch_assoc()) { // adiciona options ao select $select.= "<option value='$dados[nome]'>$dados[nome]</option>"; } // mostra select na tela: echo $select . '</select>'; } else { // se nada foi encontrado: echo "<option value='none'>Nenhum resultado encontrado!</option>"; } } ?> <div id="result"></div> Mas juro que não entendi! -
quando eu clico no link 2 ou 3 é o 1 que fica verde
pergunta respondeu ao marcio.sx de wash em Ajax, JavaScript, XML, DOM
Olá Marcio! Segundo o W3s, mantenedor do HTML5, ids devem ser iniciadas com characteres (letras) somente depois é que se pode usar números. Veja em: http://www.w3schools.com/tags/att_global_id.asp Tente colocar o nome da tabela e um underline antes do número da id, assim: <?php $selecionaColuna1 = mysql_query("SELECT * FROM tabela1"); $contaColuna1 = @mysql_num_rows($selecionaColuna1); If($contaColuna1 <= ){ echo "<p>Sem link Nesta coluna</p>"; }else{ while ($linhaTb = mysql_fetch_array($selecionaColuna1)) { $nome1 = $linhaTb ['nome1']; $link60 = $linhaTb ['link60']; $id = $linhaTb ['id']; ?> <li><a id="tabela1_<?php echo $id; ?>" onclick="myFunction(event)" target="_blank" href="<?php echo $link60; ?>"><?php echo $nome1; ?></a></li> <?php } } ?> P.S. Atualize seu php! Há mais de 3 anos o php.net, recomenda fortemente que não se use mais as extensões mysql_* Veja:- 7 respostas
-
- link
- javascript
-
(e %d mais)
Tags:
-
Olá! Que bom q já resolveu! Eu estava reescrevendo o seu script de maneira a evitar algumas repetições. Ah! Sempre que puder, use echo ao invés de print, o echo é mais rápido! Sugiro que use <th></th> pra fazer o cabeçalho da tabela, pois já vêm com texto centralizado e em negrito, leia em: http://www.w3schools.com/tags/tag_th.asp E não entendi porque ter uma tabela dentro de um formulário, que não tem nenhum campo de formulário... aquele formulário com name='CadInfo' faz algum sentido? Veja como tava ficando: <!doctype html> <html> <head> <meta charset='utf-8'> </head> <body> <form method="post"> <label>Busca:</label> <input type="text" name="busca"><br> <label>Data Inicial:</label> <input type="date" name="data_inicial"><br> <label>Data Final:</label> <input type="date" name="data_final"><br> <input type="submit" value="buscar"> </form> <?php //Conexão com o Banco de Dados $conexao = mysql_connect('localhost', 'root', '') or die('Não foi possível conectar: ' . mysql_error()); //Conexão bem sucedida seleciona o BD $db_selected = mysql_select_db('scriptbrasil'); $start_query = "SELECT * FROM assentamentos a, usuarios u, ocorrencias o, problemas p, localizacao l, instituicao i, sistemas s WHERE "; $end_query = " and a.responsavel = u.user_id and a.data = o.data_fechamento and p.prob_id = o.problema and o.local = l.loc_id and i.inst_cod = o.instituicao and s.sis_id = o.sistema ORDER BY o.numero DESC"; if (isset($_POST['busca']) && !empty($_POST['busca'])) { //todos usuarios por periodo $middle_query = " o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim'"; } elseif (isset($_POST['data_inicial']) && !empty($_POST['data_inicial']) && isset($_POST['data_final']) && !empty($_POST['data_final'])) { //so usuario $middle_query = " u.nome = '$busca'"; } else { //usuario por periodo $middle_query = " o.data_abertura BETWEEN '$ymdinicio' AND '$ymdfim' and u.nome = '$busca'"; } echo "<table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'> <tr class='tabela_cinza'> <td align='center' colspan='10'><span class='texto_negrito'>Relatório Geral</span></td> </tr> <tr> <th width='8%'>Número</th> <th width='8%'>Técnico</th> <th width='8%'>Problema</th> <th width='16%'>Descriçao do problema</th> <th width='16%'>Soluçao do Problema</th> <th width='8%'>Área</th> <th width='8%'>Unidade</th> <th width='12%'>Local</th> <th width='8%'>Data inicial</th> <th width='8%'>Data final</th> </tr> </table>"; $query = $start_query . $middle_query . $end_query; echo '<pre>Query montada: '; print_r($query); echo '</pre>'; $qr = mysql_query($query) or die(mysql_error()); while ($linha = mysql_fetch_assoc($qr)) { echo "<form action='' method='post' name='CadInfo' target='_parent' id='CadInfo'> <table width='100%' border='0' align='center' cellpadding='1' cellspacing='2' class='full_table_list'> <tr> <td align='center' width='8%'><span class='texto_center'>$linha[numero]</span></td> <td align='center' width='8%'><span class='texto_center'>$linha[nome]</span></td> <td align='center' width='8%'><span class='texto_center'>$linha[problema]</span></td> <td align='center' width='16%'><span class='texto_center'>$linha[descricao]</span></td> <td align='center' width='16%'><span class='texto_center'>$linha[assentamento]</span></td> <td align='center' width='8%'><span class='texto_center'>$linha[sistema]</span></td> <td align='center' width='8%'><span class='texto_center'>$linha[inst_nome]</span></td> <td align='center' width='12%'><span class='texto_center'>$linha[local]</span></td> <td align='center' width='8%'><span class='texto_center'>$linha[data_abertura]</span></td> <td align='center' width='8%'><span class='texto_center'>$linha[data_fechamento]</span></td> </tr> </table> </form>"; } ?> </body> </html>
-
Dúvida passar valor do select para variável PHP
pergunta respondeu ao Eduardo_santiago de wash em PHP
Hummmm... E qual é o arquivo teste.php ? -
Olá! Já que queres aprender: Sugiro que já comece com html5 As imagens que o sr. mostra quando passa o mouse em cima dos links, estão dentro de divs. Logo tudo o que colocares dentro das divs, só aparecerão tb, quando as divs aparecerem. Podes colocar os preços dentro das mesmas divs onde estão as imagens ocultas
-
Olá! acrescente na função, abaixo da linha: echo $k . ': ' . $v . '<br>'; O seguinte trecho: $$k = $v; Assim, as variáveis terão os nomes dos índices. Despois de executada a função, pode testar assim: echo '<p>O conteúdo da variável $Nome é: '.$Nome.'</p>'; echo '<p>O conteúdo da variável $status é: '.$status.'</p>'; Só lembrando que, caso em qualquer nível haja um índice com o mesmo nome, somente o último valor atribuído permanecerá.
-
Olá Josmai, tente assim: Onde você tem echo "<table cellspacing='0' ... Acrescente a class, ficando assim: echo "<table class='hide-last-td-itens' cellspacing='0' ... E no seu arquivo .css que é linkado lá dentro da tag <head></head> coloque o trecho css: table.hide-last-td-itens tr td:last-child *{display:none;} table.hide-last-td-itens tr:hover td:last-child *{display:inline-block;}
-
Dúvida passar valor do select para variável PHP
pergunta respondeu ao Eduardo_santiago de wash em PHP
Olá! Cada select desse aí está em um arquivo diferente? Coloque os nomes dos arquivos pra eu tentar entender. -
Olá! Você precisa usar multipart/form-data Veja em: http://www.w3schools.com/tags/att_form_enctype.asp