Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal,
tudo bem com vcs, tomara que sim.
estou fazendo um trabalho de graduação para informatização de uma biblioteca, e estou re-aprendendo PHP/MySQL e JavaScript, porém estou com a seguinte duvida:
Graças ao William que me ajudou mt na parte de JavaScript tenho uma função para validar inputs toda vez que o botao é clicado:
locacao.html (pagina do formulario de locação)
<html>
<head>
<title>LOCAÇÃO</title>
<script type="text/javascript" src="funcs.js"></script>
</head>
<body>
Locação de Acervo
<br><br>
<form name="cadastro" method="POST" action="locacao_vai.php">
<table border="0">
<tr>
<td>codigo do cliente:</td>
<td><input name="codcliente" id="codcliente" type="text" size="40" maxlength="40" onblur="validarDados('codcliente', document.getElementById('codcliente').value);" /></td>
<td><div id="campo_codcliente"></div></td>
</tr>
<tr>
<td>codigo 1:</td>
<td><input name="codacervo1" type="text" size="40" maxlength="40" id="codacervo1" onblur="validarDados('codacervo1', document.getElementById('codacervo1').value);" /></td>
<td><div id="campo_codacervo1"></div></td>
</tr>
<tr>
<td>codigo 2:</td>
<td><input name="codacervo2" type="text" size="40" maxlength="40" id="codacervo2" onblur="validarDados('codacervo2', document.getElementById('codacervo2').value);" /></td>
<td><div id="campo_codacervo2"></div></td>
</tr>
<tr>
<td>codigo 3:</td>
<td><input name="codacervo3" type="text" size="40" maxlength="40" id="codacervo3" onblur="validarDados('codacervo3', document.getElementById('codacervo3').value);" /></td>
<td><div id="campo_codacervo3"></div></td>
</tr>
<tr>
<td>codigo 4:</td>
<td><input name="codacervo4" type="text" size="40" maxlength="40" id="codacervo4" onblur="validarDados('codacervo4', document.getElementById('codacervo4').value);" /></td>
<td><div id="campo_codacervo4"></div></td>
</tr>
<tr>
<td><font face="verdana" size="1">codigo 5:</font></td>
<td><input name="codacervo5" type="text" size="40" maxlength="40" id="codacervo5" onblur="validarDados('codacervo5', document.getElementById('codacervo5').value);" /></td>
<td><div id="campo_codacervo5"></div></td>
</tr>
<tr>
<td colspan="2">
<input class="botao1" name="incluir" type="submit" value="cadastrar" />
<input class="botao1" name="limpar" type="reset" value="Limpar" />
</td>
</tr>
</table>
</form>
</body>
</html>
funcs.js
// Variável que receberá o objeto XMLHttpRequest
var req;
function validarDados(campo, valor) {
// Verificar o Browser
// Firefox, Google Chrome, Safari e outros
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
}else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
// Aqui vai o valor e o nome do campo que pediu a requisição.
var url = "validacao.php?campo="+campo+"&valor="+valor;
// Chamada do método open para processar a requisição
req.open("Get", url, true);
// Quando o objeto recebe o retorno, chamamos a seguinte função;
req.onreadystatechange = function() {
// Exibe a mensagem "Verificando" enquanto carrega
if(req.readyState == 1) {
document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
}
// Verifica se o Ajax realizou todas as operações corretamente (essencial)
if(req.readyState == 4 && req.status == 200) {
if( req.responseText=='<img src="erro.PNG">' )
{
var codigo = document.getElementById(campo)
codigo.style.borderWidth = '1px';
codigo.style.borderColor = '#fb8171';
codigo.style.borderStyle = 'solid';
}if( req.responseText=='<img src="ok.PNG">' ){
var codigo = document.getElementById(campo)
codigo.style.borderWidth = '1px';
codigo.style.borderColor = '#79cc6c';
codigo.style.borderStyle = 'solid';
}if( req.responseText=='<img src="alerta.PNG">' ){
var codigo = document.getElementById(campo)
codigo.style.borderWidth = '1px';
codigo.style.borderColor = '#fad04a';
codigo.style.borderStyle = 'solid';
}
// Resposta retornada pelo validacao.php
var resposta = req.responseText;
// Abaixo colocamos a resposta na div do campo que fez a requisição
document.getElementById('campo_'+ campo +'').innerHTML = resposta;
}
}
req.send(null);
}
onde as imagens: ok.png = Confirmação, erro.png = Negação.
validacao.php (pagina de consulta ao BD MySQL, para validação dos campos)
<?php
// oculta erros do PHP
ini_set('display_errors', 0 );
error_reporting(0);mysql_select_db("banco");
$ok='<img src="ok.PNG">';
$erro='<img src="erro.PNG">';
$alerta='<img src="alerta.PNG">';if ($campo == "codcliente") {
if ($valor!=0){
$sql = "SELECT * FROM aut_usuarios WHERE codigo=".$valor;//monto a query
$q = mysql_query( $sql );//executo a query
$n = mysql_num_rows( $q );
for ($i=0;$i<$n;$i++)}else{$n=0;}
if ($valor == "") {
} elseif ($valor == 0) {
echo $erro;
} elseif( $n > 0 ){//se retornar algum resultado
echo $ok;
}else{
echo $erro;
}
}
// Verificando o campo codacervo1, no caso é o codigo do acervo informado na input
elseif (($campo == "codacervo1") or ($campo == "codacervo2") or ($campo == "codacervo3") or ($campo == "codacervo4") or ($campo == "codacervo5")) {
$sql = "SELECT * FROM acervo WHERE codigo=".$valor;//monto a query
$q = mysql_query( $sql );//executo a query
$n = mysql_num_rows( $q );
if ($valor == "") {
} elseif( $n > 0 ){//se retornar algum resultado
echo $ok;
}else{
echo $erro;
}
}
header("Content-Type: text/html; charset=ISO-8859-1",true);
?>
bom, essas paginas fazem a função de: quando o usuario digitar o codigo do cliente no primeiro input, e esse cliente esta cadastrado, ele retorna ok e deixa o input com a borda verde, caso não, retorna erro e deixa o input vermelho. Locação de no maximo 5 acervos para professor e 3 para aluno.
****
porém minha duvida é: em que parte acrescento um código que inclui a quantidade de inputs igual ao valor da variavel $locacao, e como é a logica desse código, pois gostaria que, ao digitar o codigo do cliente, fizesse a consulta no BD e retornasse os inputs para ele fazer a locação, pois fica estranho ter 5 inputs na tela se o usuario aluno so puder alugar 3, ou se ele ja tiver alugado 2 e for alugar só 1
OBS: como vcs puderam ver, inclui uma imagem a mais na pagina PHP/JavaScript "alerta.PNG", e gostaria de fazer uma função em PHP que exibi ela quando o acervo digitado ja foi alugado, tentei incluir na parte do php, porém a variavel $campo muda de valor toda vez que um input entra em onblur na função javaScript. Para isso tem alguma função em JavaScript que armazena o valor do 1° input?
estou que nem uma loca estudando mas não conheço ninguem que entenda de javaScript para me dar uma ajuda. e a parte de lógica, em minha opnião, precisa ser transmitida na relação aluno/professor para ser entendida perfeitamente.
Se vcs puderem me ajudar eu agradeço mt.
Carregando comentários...