Ir para conteúdo
Fórum Script Brasil
  • 0

Interpretação De Código


Leonardo  Bueno

Pergunta

Pessoal bom dia sou novo na programação em PHP e estou com uma pouco de dificuldade para entender o que o código abaixo faz....

se alguém puder me ajudar.... ficarei grato....

<?php

include_once("config.php");

require_once("db/db.php");

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Funcionários</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<LINK REL="StyleSheet" HREF="styles.css" TYPE="text/css">

</head>

<body>

<p align="center">TITULO:<br>

<font size="1"><strong><img src="images/dicas.gif" width="18" height="18" align="absmiddle">Para

enviar um e-mail para algum funcionário<br>

clique no nome desejado.</strong></font></p>

<form method="POST" action="funcionarios.php">

<center><input name="busca" type="text">

<input name="" type="submit" value="Localizar">

</center>

</form>

<table width="400" align="center" border="0" cellpadding="0" cellspacing="0">

<?php

if ($busca) $where_busca = "(f.nome LIKE "%'.$_POST[busca].'%" or f.email LIKE "%'.$_POST[busca].'%" or f.ramal = "%'.$_POST[busca].'%" or f.id = "%'.$_POST[busca].'%" or s.setor LIKE "%'.$_POST[busca].'%") and ";

$result = $db->sql_query("SELECT f.id, f.nome, f.email, s.setor, f.ramal, DATE_FORMAT(data_admissao, '%d/%m/%Y') as data_adm, DATE_FORMAT(data_nascimento, '%d/%m/%Y') as data FROM funcionarios AS f, setores AS s WHERE ".$where_busca."s.id = f.setor and f.status = 1 ORDER BY nome");

if($db->sql_numrows($result) > 0)

while($info = $db->sql_fetchrow($result)) {

?>

Minha dificuldade esta na parte em aparece o primeiro IF sei que esta passando alguns parametros para o SELCT mais não consegui entender perfeitamente o funcionamento destes IFS....

OBS: o código continua mas apenas para montar a tabela em HTML

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

if ($busca) $where_busca = "(f.nome LIKE "%'.$_POST[busca].'%" or f.email LIKE "%'.$_POST[busca].'%" or f.ramal = "%'.$_POST[busca].'%" or f.id = "%'.$_POST[busca].'%" or s.setor LIKE "%'.$_POST[busca].'%") and ";

Ai no 1º o if($busca) diz que, só vai ser executado o que está abaixo se a variável $busca estiver definida, isso vai acontecer quando o formulário for submetido

$result = $db->sql_query("SELECT f.id, f.nome, f.email, s.setor, f.ramal, DATE_FORMAT(data_admissao, '%d/%m/%Y') as data_adm, DATE_FORMAT(data_nascimento, '%d/%m/%Y') as data FROM funcionarios AS f, setores AS s WHERE ".$where_busca."s.id = f.setor and f.status = 1 ORDER BY nome");

Ai simplesmente é feita outra busca, baseada na query feita anteriormente

if($db->sql_numrows($result) > 0)

while($info = $db->sql_fetchrow($result)) {

Ai é feito um teste para ver se retornou algum resultado...

Recomendo você descartar este código, pois ele alguns conhecimentos que se você é realmente inciante não vai entender... pegue alguma apostila bem atualizada para estudar...

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela resposta.

Aproveitando poderia me informar qual a melhro forma de realizar um busca mais ou menos assim....

$sql = 'SELECT f.id, f.nome, s.setor, f.data_admissao, f.data_nascimento, f.ramal, f.email FROM `funcionarios` as f, `setores` as s where f.setor = s.id and f.status = 1 and f.nome like "%'.$_POST[busca].'%" or f.id "%'.$_POST[busca].'%" ORDER BY f.nome';

O meu problema aqui é que se eu passo algum falor do campo id no formulario ele me retorna porem gera uma entrada para cada valor da tabela setores, ou seja, se busco pelo valor 8495 (minha matricula) ele lista apenas os meus dados porem para todos os setores não apenas para o meu (informatica).

Atenciosamente,

Leonardo Bueno

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...