como fazer consulta em vários campos combinados
Bom dia a todos, sou novo em PHP, tenho aprendido muitas coisas em fóruns que passo, mas estou tendo problemas em fazer consulta em vários campos do formulário ao mesmo tempo, onde há campos usando select que buscam do banco de dados o conteúdo, sem usar o <option>, então a partir dai quero fazer consulta no meu banco e listar o conteúdo, tenho um formulário que funciona com um único campo em que ele faz a consulta em qualquer campo ao digitar uma letra, mas minha chefe quer que seja com vários campos, vou postar como era o anterior e como estou fazendo o novo formulário e tentando reaproveitar o máximo de código possivel.
CÓDIGO ANTERIOR
search.php
<!--um dos arquivo responsaveis para a consulta, neste arquivo para consulta de localizacao-->
<script type="text/javascript">
$(document).ready(function (e) {
$origem = $('input#search');
$destino = $('div#search');
// inicia buscador de options para preenchimento de select
var searchOptions = {
url: 'app/helpers/search-usuario.php',
vars: {
search: null,
},
origem: $origem, destino: $destino,
}; // fim
$origem.keyup(function () {
if ($origem.val().length > 0) {
searchOptions.vars.search = $origem.val();
loadOptions(searchOptions);
}
});
});
</script>
<div class='fieldset'>
<table>
<tr>
<td>
<label class='bold'>Equipamentos</label>
<input type="text" id="search" placeholder='Ex.: Nomes de Equipamentos' autofocus>
</td>
</tr>
</table>
</div>
<div id='search'></div>
e search_usuario.php // mas não é para usuário e sim equipamento depois eu modifico esse nome
<?php
// faz consulta dos equipamentos
if (sizeof($_POST)) {
include('../models/connect.php');
include('functions_helper.php');
$table = 'cadastro';
$search = $sqli->real_escape_string($_POST['search']);
$query = "SELECT $table. pi, descricao, localizacao , recurso, docente, data_nota_fiscal, data,complemento,nota_fiscal, fornecedor,valor_total FROM $table
WHERE descricao LIKE'%$search%' OR pi LIKE'%$search%' OR localizacao LIKE'%$search%'
OR data LIKE'%$search%' OR nota_fiscal LIKE'%$search%' OR fornecedor LIKE'%$search%' OR data_nota_fiscal LIKE'%$search%' OR complemento LIKE'%$search%' OR recurso LIKE'%$search%' OR docente LIKE'%$search%' OR valor_total LIKE'%$search%'";
$result = $sqli->query($query);
// verificar se houve algum erro:
if ($sqli->error) {
// exibe o erro na tela:
die('<p class="error">Falha ao executar query: ' . $sqli->error . '</p>');
// fazer o procedimento de exibição apenas se houver resultado da busca acima
} elseif ($result->num_rows) {
$result = $result = $result->fetch_all(MYSQLI_ASSOC);
if (is_array($result)) {
foreach ($result as $k => $v) {
$result[$k]['Opções'] = "<a href='?equipamentos/add/$v[pi]' title='Editar: $v[complemento]' class='edit'></a>
<a href='?equipamentos/list/$v[pi]' title='Deletar: $v[complemento]' class='del'></a>";
}
echo '<h2>' . sizeof($result) . ' Registro(s) Encontrado(s)</h2>';
geraLista($result);
} else {
echo $result;
}
} else {
echo '<p class="warning">Nenhum registro foi encontrado!</p>';
}
} else {
echo '<p class="error">Nada foi postado!</p>';
}
AGORA CÓDIGO ATUAL
search.php
<div class='fieldset'>
<table>
<tr>
<td>
<label class='bold'>Descrição:</label>
<input type="text" id="search" name="search" placeholder="Descrição" >
</td>
<td>
<label class='bold'>PI:</label>
<input type="text" id="search" name="search" placeholder="PI | Tag - Até 15 caracteres" >
</td>
</tr>
<tr>
<td>
<label class='bold'>Nota Fiscal:</label>
<input type="text" id="nota_fiscal" name="nota_fiscal" placeholder="Nota Fiscal" >
</td>
<td>
<label class='bold'>Recursos:</label>
<?php include ('conexao_recursos.php');?>
<select name="recurso" value='recurso' >
<?php while ($row1 = mysqli_fetch_array($result1)): ?>
<option name="recurso" value="<?php echo $row1['cod_rec'].' -- '.$row1['recurso']?>"> <?php echo $row1['cod_rec'].' -- '.$row1['recurso']?></option>
<?php endwhile;?>
</select>
</td>
</tr>
<tr>
<td>
<label class='bold'>DOCENTES:</label>
<?php include ('conexao_prof.php');?>
<select name="docente[]" multiple="multiple" value='docente' >
<?php while ($row1 = mysqli_fetch_array($result1)): ?>
<option name="docente" value="<?php echo $row1['cod_prof'].' -- '.$row1['docente']?>"> <?php echo $row1['cod_prof'].' -- '.$row1['docente']?></option>
<?php endwhile;?>
</select>
</td>
<td>
<label class='bold'>LOCALIZACAO:</label>
<?php include ('conexao.php');?>
<select id="localizacao" name="localizacao[]" multiple="multiple" value='localizacao' >
<?php while ($row1 = mysqli_fetch_array($result1)): ?>
<option name="localizacao" value="<?php echo $row1['codigo'].' -- '.$row1['localizacao']?>"> <?php echo $row1['codigo'].' -- '.$row1['localizacao']?></option> <?php endwhile;?>
</select>
</td>
</tr>
<tr>
<td>
<label class='bold'>
<span>Data Nota Fiscal:</span>
<input id="data_nota_fiscal" name="data_nota_fiscal" type="date" value='data_nota_fiscal' >
</label>
<td>
<label class='bold'>
<span>Data Cadastro Nota Fiscal:</span>
<input id="nota_fiscal" name="nota_fiscal" type="date" value='nota_fiscal' >
</label>
<input type="submit" name="consultar" value="Consultar">
</td>
</tr>
</table>
</div>
search_usuario.php
o código aqui é o mesmo que o anterior
CÓDIGO ANTERIOR
search.php
<!--um dos arquivo responsaveis para a consulta, neste arquivo para consulta de localizacao-->
<script type="text/javascript">
$(document).ready(function (e) {
$origem = $('input#search');
$destino = $('div#search');
// inicia buscador de options para preenchimento de select
var searchOptions = {
url: 'app/helpers/search-usuario.php',
vars: {
search: null,
},
origem: $origem, destino: $destino,
}; // fim
$origem.keyup(function () {
if ($origem.val().length > 0) {
searchOptions.vars.search = $origem.val();
loadOptions(searchOptions);
}
});
});
</script>
<div class='fieldset'>
<table>
<tr>
<td>
<label class='bold'>Equipamentos</label>
<input type="text" id="search" placeholder='Ex.: Nomes de Equipamentos' autofocus>
</td>
</tr>
</table>
</div>
<div id='search'></div>
e search_usuario.php // mas não é para usuário e sim equipamento depois eu modifico esse nome
<?php
// faz consulta dos equipamentos
if (sizeof($_POST)) {
include('../models/connect.php');
include('functions_helper.php');
$table = 'cadastro';
$search = $sqli->real_escape_string($_POST['search']);
$query = "SELECT $table. pi, descricao, localizacao , recurso, docente, data_nota_fiscal, data,complemento,nota_fiscal, fornecedor,valor_total FROM $table
WHERE descricao LIKE'%$search%' OR pi LIKE'%$search%' OR localizacao LIKE'%$search%'
OR data LIKE'%$search%' OR nota_fiscal LIKE'%$search%' OR fornecedor LIKE'%$search%' OR data_nota_fiscal LIKE'%$search%' OR complemento LIKE'%$search%' OR recurso LIKE'%$search%' OR docente LIKE'%$search%' OR valor_total LIKE'%$search%'";
$result = $sqli->query($query);
// verificar se houve algum erro:
if ($sqli->error) {
// exibe o erro na tela:
die('<p class="error">Falha ao executar query: ' . $sqli->error . '</p>');
// fazer o procedimento de exibição apenas se houver resultado da busca acima
} elseif ($result->num_rows) {
$result = $result = $result->fetch_all(MYSQLI_ASSOC);
if (is_array($result)) {
foreach ($result as $k => $v) {
$result[$k]['Opções'] = "<a href='?equipamentos/add/$v[pi]' title='Editar: $v[complemento]' class='edit'></a>
<a href='?equipamentos/list/$v[pi]' title='Deletar: $v[complemento]' class='del'></a>";
}
echo '<h2>' . sizeof($result) . ' Registro(s) Encontrado(s)</h2>';
geraLista($result);
} else {
echo $result;
}
} else {
echo '<p class="warning">Nenhum registro foi encontrado!</p>';
}
} else {
echo '<p class="error">Nada foi postado!</p>';
}
AGORA CÓDIGO ATUAL
search.php
<div class='fieldset'>
<table>
<tr>
<td>
<label class='bold'>Descrição:</label>
<input type="text" id="search" name="search" placeholder="Descrição" >
</td>
<td>
<label class='bold'>PI:</label>
<input type="text" id="search" name="search" placeholder="PI | Tag - Até 15 caracteres" >
</td>
</tr>
<tr>
<td>
<label class='bold'>Nota Fiscal:</label>
<input type="text" id="nota_fiscal" name="nota_fiscal" placeholder="Nota Fiscal" >
</td>
<td>
<label class='bold'>Recursos:</label>
<?php include ('conexao_recursos.php');?>
<select name="recurso" value='recurso' >
<?php while ($row1 = mysqli_fetch_array($result1)): ?>
<option name="recurso" value="<?php echo $row1['cod_rec'].' -- '.$row1['recurso']?>"> <?php echo $row1['cod_rec'].' -- '.$row1['recurso']?></option>
<?php endwhile;?>
</select>
</td>
</tr>
<tr>
<td>
<label class='bold'>DOCENTES:</label>
<?php include ('conexao_prof.php');?>
<select name="docente[]" multiple="multiple" value='docente' >
<?php while ($row1 = mysqli_fetch_array($result1)): ?>
<option name="docente" value="<?php echo $row1['cod_prof'].' -- '.$row1['docente']?>"> <?php echo $row1['cod_prof'].' -- '.$row1['docente']?></option>
<?php endwhile;?>
</select>
</td>
<td>
<label class='bold'>LOCALIZACAO:</label>
<?php include ('conexao.php');?>
<select id="localizacao" name="localizacao[]" multiple="multiple" value='localizacao' >
<?php while ($row1 = mysqli_fetch_array($result1)): ?>
<option name="localizacao" value="<?php echo $row1['codigo'].' -- '.$row1['localizacao']?>"> <?php echo $row1['codigo'].' -- '.$row1['localizacao']?></option> <?php endwhile;?>
</select>
</td>
</tr>
<tr>
<td>
<label class='bold'>
<span>Data Nota Fiscal:</span>
<input id="data_nota_fiscal" name="data_nota_fiscal" type="date" value='data_nota_fiscal' >
</label>
<td>
<label class='bold'>
<span>Data Cadastro Nota Fiscal:</span>
<input id="nota_fiscal" name="nota_fiscal" type="date" value='nota_fiscal' >
</label>
<input type="submit" name="consultar" value="Consultar">
</td>
</tr>
</table>
</div>
search_usuario.php
o código aqui é o mesmo que o anterior
Joannes
Curtidas 0