Jump to content


Guilherme Ajax

Member Since 28/06/2007
Offline Last Active 09/10/2007, 11:59
-----

Posts I've Made

In Topic: Problema Com Lógica

02/08/2007, 08:52

isso ai vai estar m um banco ou em uma seção?

bom de qualquer maneira, cria uam estrutura (em banco ou em uma array) que tenha 2 campos: local e visitas

a primeira coisa é verificar se o tal local existe, se sim incremente no campo visitas deste local, +1, se não, crie o campo local com o campo visitas zerado, ou com 1...


Antes de tudo, obrigado pela resposta ^^...

Então, está no banco. Eu crei uma array como vc disse; Ai o que eu fiz, listei todos os campos "Vou postar aqui está na linguagem PHP, desculpe-me por postar no subforum de logica"

Este aqui é o processo completo - Não finalizado, o que ele faz é listar todos os locais ( terminais ) Vou separa-lo para explica-lo;

<?php
$status = $_GET['status'];
$dtini = $_GET['dtini'];
$dtfim = $_GET['dtfim'];
$es = $_GET['es'];

function formata_data_bd($data_ant){
	$data_nova = explode("/",$data_ant);
	$data_n = $data_nova[2]."-".$data_nova[1]."-".$data_nova[0];
	return $data_n;
}

function pesquisa($dtini, $dtfim){
	$cons_rel = mysql_query("SELECT * FROM relatorio WHERE dtcom >= '$dtini' AND dtcom <= '$dtfim'");	
	return $cons_rel;
}

function criaArray($cons_rel){
	$x = 1;
	while( $row_rel = mysql_fetch_array($cons_rel, MYSQL_ASSOC)){
		$terminal[$x] = $row_rel['terminal'];
		$tecnico[$x] = $row_rel['tecnico'];
		for($y=1;$y<=$x;$y++){
			$term .= $terminal[$y] . " VARIAVEL X = " . $x . "<br>";		
		}
		$x += 1;
	}
	return $term;
}	

if($status == 1){
	$dtini = formata_data_bd($dtini);
	$dtfim = formata_data_bd($dtfim);
	$cons_rel = pesquisa($dtini, $dtfim);
	$term = criaArray($cons_rel);
	echo $term;
}			
?>

Eu faço uma verificação no banco dependendo das datas digitas anteriormente;

function pesquisa($dtini, $dtfim){
	$cons_rel = mysql_query("SELECT * FROM relatorio WHERE dtcom >= '$dtini' AND dtcom <= '$dtfim'");	
	return $cons_rel;
}

E aqui crio a array terminal que passa por um loop que verifica a sua posição e as anteriores. O problema desse tipo de verificação ja deve estar claro. MUITO lento por que lista todos os itens varias vezes. Exemplo se for a primeira, verifica uma vez, segunda duas, terceira tres, 26.520 26.520 vezes. =[

E ainda por cima não obtive o resultado desejado ainda, que apos eu verificar se existe um terminal igual antes adicionar 1 para o determinado tecnico.

function criaArray($cons_rel){
	$x = 1;
	while( $row_rel = mysql_fetch_array($cons_rel, MYSQL_ASSOC)){
		$terminal[$x] = $row_rel['terminal'];
		$tecnico[$x] = $row_rel['tecnico'];
		for($y=1;$y<=$x;$y++){
			$term .= $terminal[$y] . " VARIAVEL X = " . $x . "<br>";		
		}
		$x += 1;
	}
	return $term;
}

In Topic: Certo Em Ff Errado Em Ie

24/07/2007, 09:00

Criei uma página desta maneira.

<?php
header("Content-type: text/html; charset=iso-8859-1");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
<?php session_start(); ?>
<?php include("topo.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR...l4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Consulta Telefonica</title>
<link href="estilo.css" rel="stylesheet" type="text/css">
<link href="div.css" rel="stylesheet" type="text/css">
&lt;script language="JavaScript" type="text/javascript" src="edt.js"></script>
&lt;script language="JavaScript" type="text/javascript" src="editar.js"></script>
&lt;script language="JavaScript" type="text/javascript">
function criarurl(){
var relote, dataprog, id_lote_prog, url;
relote = "";
dataprog = "";
id_lote_prog = "";
url = "";
relote = document.getElementById("relote").value;
dataprog = document.getElementById("dataprog").value;
id_lote_prog = document.getElementById("id_lote").value;
url = "edt_mod.php?relote=" + relote + "&dataprog=" + dataprog + "&id_lote_prog=" + id_lote_prog;
edtar(url);
}
</script>
<?php
if(empty($_SESSION['auth']) or empty($_SESSION['uid']) or empty($_SESSION['nivel'])){
echo "Você não tem autorização para visualizar este documento";
echo "<br><a href=\"index.php\" class=\"semlinha\" target=\"_parent\">Login</a></body></html>";
die(" ");
}
?>
</head>
<body>
<div id="conteudo">
<table>
<tr>
<td> LOTES PROGRAMADOS </td>
</tr>
</table>

<div align="center" id="div_limp">
<table id="tab_limp" align="center" border="1" width="70%">
<tr>
<td> POS </td> <td> ES </td><td> LOTE </td> <td>RE</td> <td> NOME </td> <td> TERMINAIS </td> <td> TIPO </td><td> DATA </td>
</tr>
<?php
include("sel_lote_limp_tel.php");
?>
</table>
</div>
<br><br><br>
<div id="div_lado">                           </div>
<div align="center" id="div_prog">
<table id="tab_prog" align="center" border="1" width="70%">
<tr>
<td> POS </td> <td> ES </td><td> LOTE </td> <td>RE</td> <td> NOME </td> <td> TERMINAIS </td> <td> TIPO </td><td> DATA </td>
</tr>

<?php
include("sel_lote_prog_tel.php");
?>

</table>
</div>
</div>
<?php include("menu_n.php"); ?>
</body>
</html>


Esta página chama duas páginas, e a segunda página "include("sel_lote_prog_tel.php") e a que estou com problemas.

Ela é a seguinte

<?php
include("conexao.php");
?>
<?php
$pos = 0;
$sql_lote_prog = mysql_query("SELECT * FROM limp_lote_prog WHERE status='0'");
while( $row2 = mysql_fetch_assoc($sql_lote_prog) ){
$id_lote_prog = $row2['id'];
$idlote = $row2['idlote'];
$idtipo = $row2['idtipo'];
$sql_tipo = "SELECT tipo FROM limp_tipo WHERE id='$idtipo'";
$qry_tipo = mysql_query($sql_tipo);
$row_tipo = mysql_num_rows($qry_tipo);
if($row_tipo){
$tipo = mysql_result($qry_tipo, 0, "tipo");
}
$re = $row2['re'];
$data_prog = $row2['data'];
$sql_lote = "SELECT * FROM limp_lote WHERE id = '$idlote' ";
$qry_lote = mysql_query($sql_lote);
$row_lote = mysql_num_rows($qry_lote);
if($row_lote){
$lote = mysql_result($qry_lote, 0, "lote");
$terminais = mysql_result($qry_lote, 0, "terminais");
// $tipo = mysql_result($qry_lote, 0, "tipo");
$ides = mysql_result($qry_lote, 0, "ides");
$sql_es = "SELECT es FROM limp_es WHERE id='$ides'";
$qry_es = mysql_query($sql_es);
$row_es = mysql_num_rows($qry_es);
if($row_es){
$es = mysql_result($qry_es, 0, "es");
}
else{
$es = "Não encontrado";
}
$pos += 1;
$linha = "<tr>";
$linha .= "<td> $pos </td>";
$linha .= "<td> $es </td>";
$linha .= "<td><a href=\"#\" onclick=\"edita('edt_lote_prog.php?id_lote_prog=$id_lote_prog')\" > $lote </a></td>";
$linha .= "<td> $re </td>";
$sql_re = "SELECT nome FROM funcionarios WHERE matr='$re'";
$qry_re = mysql_query($sql_re);
$row_re = mysql_num_rows($qry_re);
$linha .= "<td>";
if($row_re){
$nome = mysql_result($qry_re, 0, "nome");
$linha .= $nome;
}
else
{
$nome = "Não Registrado";
$linha .= $nome;
}

$linha .= "</td>";
$linha .= "<td> $terminais </td>";
$linha .= "<td> $tipo </td>";
$linha .= "<td> $data_prog </td>";
$linha .= "</tr>";
echo $linha;

}
}
mysql_close($conexao);
?>


Nesta página Crio uma tabela com os dados recebidos do banco, e crio um link que envia o id para um .js

function edita(url){
if(window.XMLHttpRequest){
xmlhttp6 = new XMLHttpRequest;
xmlhttp6.onreadystatechange = verifica6;
xmlhttp6.open("GET", url, true);
xmlhttp6.send(null);
}else if(window.ActiveXObject){
xmlhttp6 = new ActiveXObject("Msxml2.XMLHTTP");
if(xmlhttp6){
xmlhttp6.onreadystatechange = verifica6;
xmlhttp6.open("GET", url, true);
xmlhttp6.send();
}
}
}
function verifica6(){
if(xmlhttp6.readyState == 4 && xmlhttp6.status == 200){
document.getElementById("div_lado").innerHTML = "";
document.getElementById("div_lado").innerHTML = xmlhttp6.responseText;
}
}


E esta pagina retorna

<?php
header("Content-type: text/html; charset=iso-8859-1");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
<?php
include("conexao.php");
?>
<?php
$id_lote_prog = $_REQUEST['id_lote_prog'];
$sql_lote_prog = "SELECT * FROM limp_lote_prog WHERE id='$id_lote_prog'";
$qry_lote_prog = mysql_query($sql_lote_prog);
$row_lote_prog = mysql_num_rows($qry_lote_prog);
$re = "";
$data_prog = "";
$id_lote = "";
if($row_lote_prog){
$re = mysql_result($qry_lote_prog, 0, "re");
$data_prog = mysql_result($qry_lote_prog, 0, "data");
$idlote = mysql_result($qry_lote_prog, 0, "idlote");
$sql_lote = "SELECT * FROM limp_lote WHERE id='$idlote'";
$qry_lote = mysql_query($sql_lote);
$row_lote = mysql_num_rows($qry_lote);
if($row_lote){
$lote = mysql_result($qry_lote, 0, "lote");
}
}
$sql_lote_prog2 = "SELECT * FROM limp_lote_prog WHERE id='$id_lote_prog'";
$qry_lote_prog2 = mysql_query($sql_lote_prog2);
$row_lote_prog2 = mysql_num_rows($qry_lote_prog2);
if($row_lote_prog2){
$re2 = mysql_result($qry_lote_prog2, 0, "re");
$data_prog2 = mysql_result($qry_lote_prog2, 0, "data");
$idlote2 = mysql_result($qry_lote_prog2, 0, "idlote");
}



$div = "<div id=\"alt\" class=\"transparencia\">";
$div .= "<form id=\"formdiv\">";
$div .= "<table>";
$div .= "<tr>";
$div .= "<td>RE:</td><td><input type=\"text\" id=\"relote\" name=\"relote\" size=\"10\" value=\"$re2\"/></td>";
$div .= "</tr>";
$div .= "<tr>";
$div .= "<td>Data:</td><td><input type=\"text\" id=\"dataprog\" name=\"dataprog\" size=\"10\" value=\"$data_prog\"/></td>";
$div .= "</tr>";
$div .= "<tr>";
$div .= "<td><input type=\"button\" id=\"edt\" name=\"edt\" value=\"Editar\" onclick=\"criarurl()\"/></td>";
$div .= "<td><input type=\"button\" id=\"vis\" name=\"vis\" value=\"Visualizar\" onclick=\"window.location='lote_img.php?id_lote_prog=$id_lote_prog&lote=$lote&re=$re&terminais=$terminais&es=$es&data=$data_prog&t=e'\"/></td>";
$div .= "<td><input type=\"button\" id=\"volt\" name=\"volt\" value=\"Voltar\"/></td>";
$div .= "<td><input type=\"hidden\" id=\"id_lote\" name=\"id_lote\" value=\"$id_lote_prog\"></td>";
$div .= "</tr>";
$div .= "</table>";
$div .= "</form>";
$div .= "</div>";
echo $div;
?>


Está div que é retornada, é utlizada para confirma a edição da tabela, sem ser necessario o carregamento da pagina.

Quando clico no botao editar ele atualiza a tabela normal, porém os dados quando abro novamente a div para edição retorna os dados da primeira vez que foi aberta a pagina. Ele não esta retornando o ultimo valor. Já no FF funcionando corretamente =[ . Ajudem plz rsrs.

Me desculpem se não fui claro. Qualquer coisa estarei postando mais coisas.

Obrigado

In Topic: Problemas Com Uma Variavel

29/06/2007, 11:23

Sim sim, este não é o que estou montando, esse é um tutorial que tinha na internet.

Usei ele para ver como funcionava, mas acabou não funcionando.

Mas tudo bem, agora meio que entendi o pq, entao queria fazer outra pergunta.

O que estou fazendo estou tendo problemas na hora de criar "campos" para chamar o arquivo XML.

Exemplo

Fiz uma pagina que conecta com o banco assim.:

<?php
header("Content-type: text/xml; charset=ISO-8859-1");
echo'<?xml version="1.0" encoding="ISO-8859-1"?>';
?>
<?php
$conexao = mysql_connect("127.0.0.1,"","") or die(mysql_error());
$banco = mysql_select_db("check",$conexao) or die(mysql_error());
?>
<ret>
<?php
$nome = "";
$nome = $_GET['nome'];
mysql_query("INSERT INTO nome(nom) VALUES('$nome')");
$sql = "SELECT * from nome";
$qry = mysql_query($sql);
$reg = mysql_num_rows($qry);
if($reg){
for($i=0;$i<$reg;i++){
$nomes = mysql_result($qry, $i, "nom");
echo"<nomec>$nomes</nomec>\n";
}
}
mysql_close($conexao);
?>
</ret>


Queria perguntar se está maneira esta certa.

E se caso estiver, como trabalho com a informação que é retornada.

In Topic: Problemas Com Uma Variavel

28/06/2007, 13:09

Vlw... mas como ainda sou newbie...

Queria saber se tem como fazer para funcionar utilizando esses codigos, pois nao sei como trabalhar com frameworks =[...


Flw

In Topic: Problemas Com Uma Variavel

28/06/2007, 12:00

Então deixa eu explicar melhor né rsrsrs, mals.

Eu utilizo uma pagina "php" - (ela apenas tem a ext .php porem nenhuma funcionalidade com o banco). Com um form, e em um dos combo(que vai atualizar o outro), criei um evento onChange, nesse evento chamei a funcao ajaxComboBox(), e usei como parametros a url de uma pagina php, e o id da comboBox que ira ser atualizada.

Entao ficou assim na pagina "php"

______________________________________________________________________________________________________

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Teste AJAX</title>
<script type="text/javascript" src="02.js"></script>
</head>

<body style="margin:20px;">
<h2>Selecione uma cidade</h2>
<form>
<select name="estados" id="estados" onChange="ajaxComboBox('01_cidades.php','cidades')">
<option selected="selected" value="NDA">-- Estados --</option>
<option value="MT">Mato Grosso</option>
<option value="SP">São Paulo</option>
</select>
<select name="cidades" id="cidades">
<option>-- Escolha um Estado --</option>
</select>
</form>
<div id="conteudo"></div>
</body>
</html>

______________________________________________________________________________________________________

E a pagina do banco... assim

______________________________________________________________________________________________________

<?php
header("Content-type: text/xml; charset=ISO-8859-1");
print '<?xml version="1.0" encoding="ISO-8859-1"?>';
?>
<cidades>
<?php
$link = mysql_pconnect("127.0.0.1", "root", "squirrel")
or die("Não pude conectar: " . mysql_error());
mysql_select_db('checklist2', $link) or die ('Não foi possível usar db: ' . mysql_error())
$result = mysql_query("SELECT cidades.id,cidades.nome FROM estados,cidades WHERE
estados.sigla = '{$_GET['uf']}' AND estados.id = cidades.id_estado
ORDER BY cidades.nome"
or die("Query invalida: " . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("<nome id=\"%d\">%s</nome>\n", $row[0],$row[1]);
}
mysql_close($link);
?>
</cidades>

_______________________________________________________________________________________________________


vlw, pela atençao ^^

IPB Skin By Virteq