我们有一个使用普通旧 php 5 的艺术家数据库。数据库是 Mysql。我想让选择查询工作,但没有调试方法(print_r 或 var_dump)对我有帮助。也许 mysql_query 和 mysql_num_rows 由于某种原因没有返回任何结果?请查看下面的代码以了解我们正在使用什么。提前感谢您的关注。
<!-- BUSCA ARTISTAS
-->
<!DOCTYPE html>
<?php
session_start();
include_once 'pessoa/pessoa.php';
include_once 'pessoa/artista.php';
include_once 'pessoa/pessoafisica.php';
include_once 'pessoa/endereco.php';
include_once 'pessoa/email.php';
include_once 'pessoa/telefone.php';
include_once 'banco/banco.php';
include_once 'pessoa/especialidade.php';
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Busca</title>
<style type="text/css" media="all">
table {
width:800px;
border-collapse: collapse;
border: 2px solid #999;
margin:0 auto;
font-size: small;
}
caption {
text-align: right;
margin-bottom: 0.8em;
border-bottom: 1px solid #333;
padding-right: 0.1em;
}
thead tr th {
text-align:center;
border-bottom: 2px solid #999;
border-left: 1px solid #999;
}
tr td, tr th {
padding: 2px 1px;
text-align:left;
font-size: 1em;
border: 1px dotted #333;
}
tfoot tr td {
text-align:center;
border-top: 2px solid #999;
}
/* CSS para efeitos jQuery */
.impar {background:#add6ef;}
.par {background:#d6e2e5;}
/* Fim CSS para efeitos jQuery */
</style>
<link rel="stylesheet" type="text/css" href="estiloformulario.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.maskedinput.js"></script>
<script type="text/javascript" >
$(document).ready(function() {
$('table#horario tbody tr:odd').addClass('impar');
$('table#horario tbody tr:even').addClass('par');
});
</script>
</head>
<body>
<?php
if (!isset($_SESSION['funcionario'])){
$user = unserialize($_SESSION['funcionario']);
echo "<p>Você não esta autorizado para acessar essa area do sistema</p>";
} // verificação para o login
?>
<div class="global-div">
<form method="post" action="buscahabilidade.php" >
<fieldset>
<legend>Busca Habilidade</legend></br>
<label for="descricao" accesskey="">Habilidade:</label>
<select name="descricao" id="descricao">
<option value="descricao"> >> Selecione </option>
<?php
Banco::conecta();
//clausula sql
$sql = "SELECT especialidade.cod_especialidade,especialidade.descricao FROM especialidade ORDER BY especialidade.descricao";
//executa a clausula sql
$executar = mysql_query($sql)or die("Falha na execução da instrução SQL! ");
//Verifica se a busca retornou resultado!
while($row = mysql_fetch_array($executar))
{
echo "<option value='".$row['cod_especialidade']."'>".$row['descricao']."</option>";
}
?>
</select>
<button name="cadastrar" type="submit">Buscar</button>
</label>
</fieldset>
</form>
<?php
if (isset($_POST['cadastrar'])) {
$sql1 = "SELECT pessoa.nome,pessoa.cod_pessoa,pessoa.ativo,pessoa.data_cadastro,especialidade.descricao
FROM pessoa INNER JOIN artista ON pessoa.cod_pessoa=artista.pessoa_cod_pessoa INNER JOIN artista_has_especialidade
ON artista.cod_artista=artista_has_especialidade.artista_cod_artista INNER JOIN especialidade ON artista_has_especialidade.especialidade_cod_especialidade=especialidade.cod_especialidade
WHERE especialidade.descricao LIKE '%".$_POST['descricao']."%'order by 1";
// executa a query no banco de dados
$executar = mysql_query($sql1)or die ("Query failed: " . mysql_error() . " Actual query: " . $sql1);;
var_dump(mysql_query($sql1));
var_dump(mysql_num_rows($executar));
// conta o total de resultados encontrados
$total = mysql_num_rows($executar) or die(mysql_error());
// mensagem se o resultado for vazio
// define valores se o resultado não for vazio
echo $total;
// gera o loop com os resultados
echo"<table id=\"horario\">";
echo"<caption>";
echo"Resultados da busca.";
echo"</caption>";
echo"<thead>";
echo"<tr id=\"horizontal\">";
echo"<th>Nome</th>";
echo"<th scope=\"col\">Código</th>";
echo"<th scope=\"col\">Detalhes</th>";
echo"</tr>";
echo" </thead>";
echo" <tfoot>";
echo"<tr>";
echo" <td colspan=\"6\">Resultados da busca.</td>";
echo" </tr>";
echo"</tfoot>";
echo"<tbody>"; // provavelmente o while começa aqui
$i=0;
$codigocarregaartista=array();
while ($linha = mysql_fetch_array($executar)) {
var_dump($linha);
echo $linha['nome']." ".$linha['cod_pessoa'];
$i++;
echo" <tr>";
echo" <th scope=\"row\">".$linha['nome']."</th>";
echo" <td>".$linha['cod_pessoa']."</td>";
$codigocarregaartista[$i]=$linha['cod_pessoa'];
echo" <td><a href=\"layoutartista.php?cod=".$codigocarregaartista[$i]."\">Detalhes/Altera</a></td>";
// link dinamico para alteracliente.php
echo" </tr>";
}
echo" </tbody>";
echo"</table>";
}
?>
</div>
<!-- ListBox stuff == .js + SpryValidationSelect.css(integrated estiloformulario.css)-->
<script type="text/javascript">
var spryselect1 = new Spry.Widget.ValidationSelect("spryselect1");
</script>
</body>
</html>