-
Total de itens
400 -
Registro em
-
Última visita
Posts postados por wash
-
-
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
-
-
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_benedita1Pra 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>"; }
-
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!
-
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:
-
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>
-
Hummmm...
E qual é o arquivoteste.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;}
-
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 -
Olá!
De que tabela o sr. está falando?
-
Sr. Shelter.
Creio que o sr. é uma pessoa muito ocupada e não teve tempo suficiente para ler com atenção.
Mas a sua atenção será fundamental para o bom funcionamento do seu script. Tente acompanhar o raciocínio:
1) No seu arquivo de funções acrescente a seguinte função:
Para manter a organização, criamos as funções em um arquivo separado, para que possamos reutilizá-las(Sem a necessidade de repetir código) em todo o projeto;
Partindo da idéia de que o sr. ainda não tenha organizado suas funções separadamente em um arquivo, sugiro que crie um arquivo chamado helpers.php, com o seguinte conteúdo:
<?php function tratarArrayPraMim($a) { foreach ($a as $k => $v) { if (is_array($v)) { tratarArrayPraMim($v); } else { echo $k . ': ' . $v . '<br>'; } } }
2) no arquivo em o que o sr. está usando agora, proceda da seguinte maneira:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sem título</title> </head> <body> <?php // inclua seu arquivo de funções aqui (antes de usar a função) include 'helpers.php'; include "phpAMI.php"; $ami = new phpAMI("admin", "shelter"); $login = $ami->login(); if ($login["Response"] == "Success") { // e somente aqui, use a função que foi previamente criada tratarArrayPraMim($ami->queueStatus($a)); $ami->logoff(); } ?> </body> </html>
Entendeu a ordem sequencial lógica?
Primeiro a função precisa existir!
Só depois é que teremos a possibilidade de fazer uso dela!
-
Olá!
Tente assim:
1) Na sua tabela, coloque class='hide-last-td-itens'
<table class='hide-last-td-itens' ...
2) No seu css coloque:
table.hide-last-td-itens tr td:last-child *{display:none;} table.hide-last-td-itens tr:hover td:last-child *{display:inline-block;}
-
-
Olá!
Tente trocar a palavra INSET por INSERT
-
E função recursiva, o sr. já sabe fazer?
Vamos tentar assim:
No seu arquivo de funções acrescente a seguinte função:
function tratarArrayPraMim($a) { foreach ($a as $k => $v) { if (is_array($v)) { tratarArrayPraMim($v); } else { echo $k . ': ' . $v . '<br>'; } } }
E no lugar de print_r($ami->queueStatus());
Coloque: tratarArrayPraMim($ami->queueStatus());
-
se $_POST['busca'] for combinado com $_POST['data_inicial'] ou $_POST['data_final'], sempre vai entrar no primeiro if
só não entra no primeiro if se $_POST['busca'] estiver vazio
Problemas com Table
em PHP
Postado
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);