Problema Com atualização em massa
Ola, estou com um problema para gerar uma atualização massiva, segue meu codigo
<?php
$lis = new ListaClientes;
$lis->PegaInfo();
$lis->Exibe();
class ListaClientes{
public $Serv;
public $User;
public $Pass;
public $Bd;
function Exibe() {
$ConStr = mysql_connect($this->Serv, $this->User, $this->Pass) or die ("Não foi possivel se conectar ao banco de dados!");
mysql_select_db($this->Bd, $ConStr) or die ("Não foi possivel selecionar o banco de dados!");
$kery = "SELECT fantasia FROM Clientes GROUP BY fantasia;";
$busca = mysql_query($kery) or die ("Nao pode executar a query");
$num_result = mysql_num_rows($busca) or die ("Nao pode determinar as linhas afetadas");
echo "Todos os clientes tem seus campos separados pelas tabelas HTML\n<br />Os clientes são listados um por linha.<br /><br />\n";
$Valores;
echo "<table border=\"1\">\n";
for($j = 0; $j<$num_result;$j++)
{
$Res = mysql_fetch_array($busca, MYSQL_ASSOC);
echo "<dl>";
echo "<dt>".$Res['fantasia']." | ";
echo "<input name=\"".$Res['fantasia']."\" type=\"radio\" value=\"0\"/> Em Débito\n<input name=\"".$Res['fantasia']."\" type=\"radio\" value=\"1\"/>Pago</dt>\n";
echo "</dl>";
}
echo "</table>\n";
echo "<br /><hr />Hoje existem '$num_result' Clientes cadastrados<br />"
}
function PegaInfo()
{
include_once "PHPPegaDadosBd.php";
$Informacoes = new PegaDados();
$this->Serv = $Informacoes->Retorna_Servidor();
$this->User = $Informacoes->Retorna_Usuario();
$this->Pass = $Informacoes->Retorna_Senha();
$this->Bd = $Informacoes->Retorna_Bd();
}
}
?>
Esse codigo lista todos os clientes cadastrados no banco e gera respectivos radiobuttons de Pagante/Não pagante.
<?php
$atua = new AtualizacaoMassiva();
$atua->PegaInfo();
$atua->PegaLinas();
$atua->GeraAtualizacao();
class AtualizacaoMassiva
{
public $busca;
public $num_result;
private $Serv;
private $User;
protected $Pass;
private $Bd;
private $Valores;
function PegaLinas() {
$ConStrg = mysql_connect($this->Serv, $this->User, $this->Pass) or die ("Não foi possivel se conectar ao banco de dados!");
mysql_select_db($this->Bd, $ConStrg) or die ("Não foi possivel selecionar o banco de dados!");
$keryy = "SELECT fantasia FROM Clientes GROUP BY fantasia;";
$this->busca = mysql_query($keryy) or die ("Nao pode executar a query");
$this->num_result = mysql_num_rows($this->busca) or die ("Nao pode determinar as linhas afetadas");
$Varloop = $this->num_result;
for($c = 0; $c < $Varloop; $c++)
{
$Res = mysql_fetch_array($this->busca, MYSQL_ASSOC);
$gerenciado = $Res['fantasia'];
echo $gerenciado; //para debug
$Atual = $_POST['$gerenciado'];
echo $Atual; //para debug
$this->Valores = $this->Valores.$Atual;
}
mysql_close($ConStrg);
}
function GeraAtualizacao() {
$ConStr = mysql_connect($this->Serv, $this->User, $this->Pass) or die ("Não foi possivel se conectar ao banco de dados!");
mysql_select_db($this->Bd, $ConStr) or die ("Não foi possivel selecionar o banco de dados!");
$kery = "SELECT fantasia FROM Clientes GROUP BY fantasia;";
$this->busca = mysql_query($kery) or die ("Nao pode executar a query");
$this->num_result = mysql_num_rows($this->busca) or die ("Nao pode determinar as linhas afetadas");
$Val = str_split($this->Valores);
foreach ($Val as &$valor){
$Res = mysql_fetch_array($this->busca, MYSQL_ASSOC);
mysql_query("UPDATE clientes SET statusfinanc = '$valor' where fantasia = '".$Res['fantasia']."';");
}
mysql_close($ConStr);
}
function PegaInfo() {
include_once "PHPPegaDadosBd.php";
$Informacoes = new PegaDados();
$this->Serv = $Informacoes->Retorna_Servidor();
$this->User = $Informacoes->Retorna_Usuario();
$this->Pass = $Informacoes->Retorna_Senha();
$this->Bd = $Informacoes->Retorna_Bd();
}
}
?>
Esse é o codigo que deveria atualizar meu banco de dados.
Algem tem alguma ideia de qual seja meu erro?(e se possivel, alguma dica de performance extra, por favor ^^)
Obrigado
Discussão (1)
Carregando comentários...