
LillyC
Membros-
Total de itens
5 -
Registro em
-
Última visita
Sobre LillyC

LillyC's Achievements
0
Reputação
-
Eu tentei concatenar, mas gera um erro de 'Undefined variable' na linha em que declaro a variável. Na primeira vez que fiz, foi separado: $geral = $item["nome"]; $geral .= $item["quant"]; Que retorna somente um item da consulta.. Mas da forma que você sugere ( $geral .= $item["nome"].' - '.$item["quant"].'<br>'; ) dá esse erro que citei... Também fiz: $geral .= $item["nome"].$item["quant"]."<br>"; Ele retorna os dois (ou mais) itens, mas continua gerando o erro...
-
Olá, Quero resgatar o resultado de um SELECT para enviar por email, com a função mail() Fiz a consulta com mysql_query, e uso um WHILE para percorrer os resultados com o mysql_fetch_assoc Tudo funciona. Só que quero passar esse resultado do WHILE por mail(), tentei associar os resultados numa array, mas não tá dando.. entendo o conceito de array, mas sempre que preciso por na prática não funciona... //Minha consulta $itens = mysql_query("SELECT carrinho.cod, carrinho.quant, produtos.nome, produtos.preço FROM carrinho,produtos WHERE carrinho.cod = produtos.id AND carrinho.sessao = \"$sessao\""); // Uma verificação simples se o carrinho está vazio ou não if(mysql_num_rows($itens) < 1) { // Se o carrinho estiver vazio só exibe uma mensagem e um link para retornar echo "Carrinho vazio<br /><br /><a href=\"index.php\">Ir para a pagina principal</a>"; } else { // Exibe os itens presentes no carrinho // Calcular o total $total = 0; // Loop pra listar is itens do carrinho while($item = mysql_fetch_assoc($itens)) { //AQUI NÃO CONSEGUI ASSOCIAR O RESULTADO A UMA VARIÁVEL/ARRAY echo $item["nome"]; echo $item["quant"]; $total += $item["quant"]; } // Aqui é o fim do while [/codebox] Então, o comando WHILE me retorna algo assim: Livro 1 Notebook AMD Turion 10 Como disse, tentei associar a uma array, mas não deu certo.. pois quando peço pra imprimir (print_r, implode...) só me retorna o primeiro resultado Livro 1
-
Tudo bem.. entendi, para unir tabelas JOIN... Mas para realizar um filtro na consulta, usando parâmetros dado pelo usuário é que não está funcionando... Olha... pegando a sintaxe que você postou: SELECT Titular.Nome, Dependente.Nome FROM Titular INNER JOIN Dependente ON Dependentes.codTitular = Titular.codTitular WHERE Titular.Nome LIKE "M%" mas no lugar do "M%" insiro um parâmetro '%{$nome}%' No código que eu postei incialmente, realmente faltava o WHERE... mas a condição de filtro vem logo após.. e não está funcionando... ... // define a consulta $sql = "SELECT id, nome, endereco, bairro, cep, pf_pj, cpf_cnpj, cnh, rg_ie, dt_nascimento, telefone, celular, obs, email FROM clientes WHERE"; // detecta filtro por nome do clientes if (!empty($_REQUEST['clientes'])) { $client = addslashes($_REQUEST['clientes']); $sql .= " AND nome like '%{$client}%'"; } //ordena a consulta $sql .= ' ORDER BY ' . $_REQUEST['ordem']; //executa a instrução $result = $conn->query($sql); ... Talvez o problema não seja o mysql, e sim meu código php... ??
-
Desculpa a demora, problemas de família.. Denis, o "WHERE" não é utilizado para quando requer uma condição especial? Por exemplo, se eu tenho duas tabelas relacionados pelo ID uso esse campo para fazer consulta com as duas tabelas.. Bom, enquanto a dúvida persiste continuo estudando e fazendo testes... Vls
-
Oi, estou iniciando na área, já fiz cursos, e agora estou tentando me aprofundar, além de ler muita coisa, pego alguns scripts para ver na prática o funcionamento das coisas... vamos ao problema.. Tenho os códigos abaixo, um formulário html (carro_psq.html) que passa as informações para tratar no php (carros_psq.php). Comecei montando com uma pesquisa relacional, e funcionou certinho... agora quando eu simplifiquei, ele não reconhece os filtros... se não insiro nenhum filtro de pesquisa, ele retorna todos os dados do banco de dados, mas com qualquer filtro dá o seguinte erro: SQLSTATE[42000]: Syntax error or access violation: 1064 Você tem um erro de sintaxe no seu SQL próximo a 'AND sexo ='M'' na linha 2 sendo que varia, as vezes ele fala que é na linha de cima, depois na linha de baixo.. enfim, agora os códigos: Formulário de pesquisa personalizada <form method="POST" action="carros_psq.php"><!-- action="nome do arquivo php que recebe" --> <p>Relatório de clientes</p> <p>Nome: </p> <input type="text" name="clientes"> <p>Sexo: </p> <select name="sexo"> <option value=""></option> <option value="M">Masculino</option> <option value="F">Feminino</option> </select> <p>Pessoa Física/Jurídica: </p> <select name="pf_pj"> <option value=""></option> <option value="PF">Pessoa Física</option> <option value="PJ">Pessoa Jurídica</option> </select> <input type="submit" value="Enviar"\> </form> Aquivo para tratar os dados <?php try { //... conexão do bdd... // cria um estilo para o cabeçalho $estilo_cabecalho = new TStyle('cabecalho'); $estilo_cabecalho->font_family = 'verdana,sans-serif'; // cria um estilo para os dados $estilo_dados = new TStyle('dados'); $estilo_dados->font_family = 'arial,verdana,sans-serif'; // define a consulta $sql = "SELECT id, nome, endereco, bairro, cep, pf_pj, cpf_cnpj, cnh, rg_ie, dt_nascimento, telefone, celular, obs, email FROM clientes"; // detecta filtro por nome do clientes if (!empty($_REQUEST['clientes'])) { $client = addslashes($_REQUEST['clientes']); $sql .= " AND nome like '%{$client}%'"; } // detecta filtro por sexo if (!empty($_REQUEST['sexo'])) { $sexo = addslashes($_REQUEST['sexo']); $sql .= " AND sexo ='{$sexo}'"; } // detecta filtro por pf_pj if (!empty($_REQUEST['pf_pj'])) { $pf_pj = addslashes($_REQUEST['pf_pj']); $sql .= " AND pf_pj ='{$pf_pj}'"; } // executa a instrução SQL $result = $conn->query($sql); // instancia objeto tabela $tabela = new TTable; // define algumas propriedades da tabela $tabela->border= 1; $tabela->style = "border-collapse:collapse"; // instancia uma linha para o cabeçalho $cabecalho = $tabela->addRow(); // adiciona células (se add lá em cima, insere aqui) $cabecalho->addCell('Código'); $cabecalho->addCell('Nome'); $cabecalho->addCell('Endereço'); $cabecalho->addCell('Bairro'); $cabecalho->addCell('CEP'); $cabecalho->addCell('Física/Jurídica'); $cabecalho->addCell('CPF/CNPJ'); $cabecalho->addCell('CNH'); $cabecalho->addCell('RG/IE'); $cabecalho->addCell('Aniversário'); $cabecalho->addCell('Telefone'); $cabecalho->addCell('Celular'); $cabecalho->addCell('E-Mail'); $cabecalho->addCell('Observações'); $cabecalho->class = 'cabecalho'; // inicializa variáveis de controle $colore = FALSE; // percorre os resultados foreach ($result as $row) { // verifica qual cor irá utilizar para o fundo $bgcolor = $colore ? '#f5f5f5' : '#e8e8e8'; // adiciona uma linha para os dados $linha = $tabela->addRow(); $linha->bgcolor = $bgcolor; $linha->class = 'dados'; // lê a data de nascimento $dt_nascimento = date_parse($row['dt_nascimento']); $dt_nascimento = str_pad($dt_nascimento['day'], 2, '0', STR_PAD_LEFT).'/'. str_pad($dt_nascimento['month'], 2, '0', STR_PAD_LEFT).'/'. $dt_nascimento['year']; // adiciona as células $cell1 = $linha->addCell($row['id']); $cell2 = $linha->addCell($row['nome']); $cell3 = $linha->addCell($row['endereco']); $cell4 = $linha->addCell($row['bairro']); $cell5 = $linha->addCell($row['cep']); $cell6 = $linha->addCell($row['pf_pj']); $cell7 = $linha->addCell($row['cpf_cnpj']); $cell8 = $linha->addCell($row['cnh']); $cell9 = $linha->addCell($row['rg_ie']); $cell10 = $linha->addCell($dt_nascimento); $cell11 = $linha->addCell($row['telefone']); $cell12 = $linha->addCell($row['celular']); $cell13 = $linha->addCell($row['email']); $cell14 = $linha->addCell($row['obs']); // define o alinhamento das células $cell1->align = 'center'; $cell2->align = 'left'; $cell3->align = 'left'; $cell4->align = 'left'; $cell5->align = 'center'; $cell6->align = 'center'; $cell7->align = 'center'; $cell8->align = 'center'; $cell9->align = 'center'; $cell10->align = 'center'; $cell11->align = 'center'; $cell12->align = 'center'; $cell13->align = 'center'; $cell14->align = 'center'; // inverte cor de fundo $colore = !$colore; } $tabela->show(); } catch (Exception $e) { // exibe a mensagem de erro echo $e->getMessage(); } ?> To pedindo demais, mas gostaria de saber se alguém vê algum erro de sintaxe no código... pra mim não tá fazendo sentido, mas como meu conhecimento é inicial, nem conta né?!