Ir para conteúdo
Fórum Script Brasil

elossio

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre elossio

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

elossio's Achievements

0

Reputação

  1. elossio

    Contadores em PHP MySQL

    Pessoal, consegui resolver o problema graça às sugestões dos colegas, a do wash principalmente no comando SQL. A seguir o código com as alterações propostas. Devo mais tarde aprimorá-lo com o uso de objetos: <?php $Inscritos = array(); $Inscritos['AC'] = 0; $Inscritos['AL'] = 0; $Inscritos['AM'] = 0; $Inscritos['AP'] = 0; $Inscritos['BA'] = 0; $Inscritos['CE'] = 0; $Inscritos['DF'] = 0; $Inscritos['ES'] = 0; $Inscritos['GO'] = 0; $Inscritos['MA'] = 0; $Inscritos['MG'] = 0; $Inscritos['MS'] = 0; $Inscritos['MT'] = 0; $Inscritos['PA'] = 0; $Inscritos['PB'] = 0; $Inscritos['PE'] = 0; $Inscritos['PI'] = 0; $Inscritos['PR'] = 0; $Inscritos['RJ'] = 0; $Inscritos['RN'] = 0; $Inscritos['RO'] = 0; $Inscritos['RR'] = 0; $Inscritos['RS'] = 0; $Inscritos['SC'] = 0; $Inscritos['SE'] = 0; $Inscritos['SP'] = 0; $Inscritos['TO'] = 0; $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'laser'; $conec = mysqli_connect($host, $user, $pass, $db) or die ('Não foi possível conectar: ' .mysqli_error()); if ($conec) { $stgsql = "SELECT COUNT(UF) as QUANT, UF from inscrito GROUP BY UF" ; $res = mysqli_query($conec, $stgsql) ; $linhas = mysqli_num_rows($res) ; $linhas; $linhasini = 1 ; $dados = mysqli_fetch_array($res) ; while ($linhasini <= $linhas) { $quant = $dados[0] ; $uf = $dados[1]; if (array_search($uf, $Inscritos)) { // echo "Linhasini = $linhasini - UF = $uf - QUANT = $quant<br>"; $Inscritos[$uf] = $quant; } $dados = mysqli_fetch_array ($res); $linhasini++; } // var_dump($Inscritos); $total = 0; foreach ($Inscritos as $valor) { $total = $total + $valor; } mysqli_close($conec) ; } ?>
  2. elossio

    Contadores em PHP MySQL

    Prezado Wash, Preciso apresentar um subtotal por UF. Isto é, o número de registros do Estado do Acre (AC) ao Estado de Tocantins (TO) do banco de dados. Por isso, decidi criar dois array $Estado e $Incritos. O primeiro, cada elemento é identificado pela string da UF. O segundo array, o elemento armazena o número de ocorrências pretendido. É neste segundo array que os contadores devem ser salvos. Posteriormente, após varredura completa no banco de dados, apresento um $total geral. Conforme citado pelo colega Berardo, acredito que o problema esteja na condição do comando if ($dados <> $insc). Estou revendo o código e a lógica. Aliás, o ambiente e script já está atualizado (PHP 7.0.2 e MySQLi) conforme recomendação do Berardo. Contudo, o problema persiste. Sigo em frente na revisão do código. Se alguém puder ajudar, fico muito agradecido!
  3. elossio

    Contadores em PHP MySQL

    Olá Beraldo, Vou seguir sua recomendação considerando que há uma séries de scripts pela frente. Ambiente todo novo1 Quanto ao conteúdo da tabela inscritos, a que você se refere, trata-se de uma lista de associados na Associação Brasileira da Classe Laser cujo o portal web roda numa velha plataforma Joomla 1.15 com alguns scripts ASP embutidos, dentre os quais a lista de associados http://www.laser.org.br/abcl/index.php?option=com_wrapper&view=wrapper&Itemid=58&lang=pt, cujo o ambiente de produção está sob o Windows Server 2003 com ASP/VBscript. Neste momento, estou convertendo o ASP script do Mapa de Associados http://www.laser.org.br/abcl/index.php?option=com_wrapper&view=wrapper&Itemid=58&lang=pt para um script PHP (o script objeto deste post). Acho que você terá uma ideia mais precisa que é criar totalizadores por Estado. Estou aberto a sugestões! Fico bastante agradecido. Vou atribuir novamente a constante 0 ao array $Inscritos. Atenciosamente,
  4. elossio

    Contadores em PHP MySQL

    Olá lowys, bom dia! Você entendeu certo. Preciso contabilizar o numeros de inscritos em cada Estado. Cheguei a navegar pelos arrays usando os comandos foreach, next, current e reset, mas continuo não tendo o resultado esperado de poder substituir os valores iniciais do array $Inscritos pelo valor do $contador. Estou usando um servidor local de teste com o Xampp for Linux 5.6.15-1. Cheguei a usar o código abaixo, um pouco modificado, ainda sem sucesso: <?php $Estado = array(); $Estado[0]="AC"; $Estado[1]="AL"; $Estado[2]="AM"; $Estado[3]="AP"; $Estado[4]="BA"; $Estado[5]="CE"; $Estado[6]="DF"; $Estado[7]="ES"; $Estado[8]="GO"; $Estado[9]="MA"; $Estado[10]="MG"; $Estado[11]="MS"; $Estado[12]="MT"; $Estado[13]="PA"; $Estado[14]="PB"; $Estado[15]="PE"; $Estado[16]="PI"; $Estado[17]="PR"; $Estado[18]="RJ"; $Estado[19]="RN"; $Estado[20]="RO"; $Estado[21]="RR"; $Estado[22]="RS"; $Estado[23]="SC"; $Estado[24]="SE"; $Estado[25]="SP"; $Estado[26]="TO"; //print_r($Estado); $Inscritos = array(); $Inscritos[0]='0'; $Inscritos[1]='0'; $Inscritos[2]='0'; $Inscritos[3]='0'; $Inscritos[4]='0'; $Inscritos[5]='0'; $Inscritos[6]='0'; $Inscritos[7]='0'; $Inscritos[8]='0'; $Inscritos[9]='0'; $Inscritos[10]='0'; $Inscritos[11]='0'; $Inscritos[12]='0'; $Inscritos[13]='0'; $Inscritos[14]='0'; $Inscritos[15]='0'; $Inscritos[16]='0'; $Inscritos[17]='0'; $Inscritos[18]='0'; $Inscritos[19]='0'; $Inscritos[20]='0'; $Inscritos[21]='0'; $Inscritos[22]='0'; $Inscritos[23]='0'; $Inscritos[24]='0'; $Inscritos[25]='0'; $Inscritos[26]='0'; reset($Inscritos); //var_dump($Inscritos); $conec = mysql_connect('localhost:3306', 'root') or die ('Não foi possível conectar: ' .mysql_error()); if ($conec) { $bco = mysql_select_db('laser',$conec) or die ('Não foi possível localizar o banco de dados: ' .mysql_error()); if ($bco) { $stgsql = "SELECT UF from inscrito ORDER BY UF" ; $res = mysql_query($stgsql, $conec) ; $linhas = mysql_num_rows($res) ; $linhasini = 1 ; $dados = mysql_fetch_array($res) ; $insc = "oo" ; $est = 0; $contador = 0 ; while ($linhasini <= $linhas) { $contador = $contador + 1; // echo "Linhasini = $linhasini<br>"; If ($dados <> $insc) { $contador = 1 ; reset($Estado); $chave = key ($Estado); // echo "Chave: $chave<br>"; While ($chave < 27) { $valor = current($Estado); echo "Chave: $chave<br>"; echo "Valor: $valor<br>"; if ($valor = $dados) { $Inscritos[$chave] = $contador; $est = $chave; $chave = count($Estado); break; // valor } else { next($Estado); $chave = key ($Estado); } $chave++; // chave } // } else { $Inscritos[$est] = $contador; } $insc = $dados; $dados = mysql_fetch_array ($res); $linhasini++; // } $Inscritos[0] = 0; // print_r($Inscritos); $total = 0; for ($i = 0; $i <= 26; $i++) { $total = $total + $Inscritos[$i]; } } mysql_close($conec) ; } ?> Não estou enxergando o óbvio no código. Por isso, peço ajuda dos especialistas. Obrigado.
  5. Pessoal, boa tarde! Tenho um banco de dados em MySQL contendo tabela "inscrito" referente a um cadastro de clientes. Preciso de um PHP script para agrupar contadores por campo "UF". Estou com dificuldade de alterar os valores iniciais de uma array de contadores ($Inscritos). Como posso fazer isso? Segue abaixo, meu script de teste. obrigado pela atenção. <?php $Estado = array(); $Estado[0]="AC"; $Estado[1]="AL"; $Estado[2]="AM"; $Estado[3]="AP"; $Estado[4]="BA"; $Estado[5]="CE"; $Estado[6]="DF"; $Estado[7]="ES"; $Estado[8]="GO"; $Estado[9]="MA"; $Estado[10]="MG"; $Estado[11]="MS"; $Estado[12]="MT"; $Estado[13]="PA"; $Estado[14]="PB"; $Estado[15]="PE"; $Estado[16]="PI"; $Estado[17]="PR"; $Estado[18]="RJ"; $Estado[19]="RN"; $Estado[20]="RO"; $Estado[21]="RR"; $Estado[22]="RS"; $Estado[23]="SC"; $Estado[24]="SE"; $Estado[25]="SP"; $Estado[26]="TO"; $Inscritos = array(); $Inscritos[0]=0; $Inscritos[1]=0; $Inscritos[2]=0; $Inscritos[3]=0; $Inscritos[4]=0; $Inscritos[5]=0; $Inscritos[6]=0; $Inscritos[7]=0; $Inscritos[8]=0; $Inscritos[9]=0; $Inscritos[10]=0; $Inscritos[11]=0; $Inscritos[12]=0; $Inscritos[13]=0; $Inscritos[14]=0; $Inscritos[15]=0; $Inscritos[16]=0; $Inscritos[17]=0; $Inscritos[18]=0; $Inscritos[19]=0; $Inscritos[20]=0; $Inscritos[21]=0; $Inscritos[22]=0; $Inscritos[23]=0; $Inscritos[24]=0; $Inscritos[25]=0; $Inscritos[26]=0; $conec = mysql_connect('localhost:3306', 'root') or die ('Não foi possível conectar: ' .mysql_error()); if ($conec) { $bco = mysql_select_db('laser',$conec) or die ('Não foi possível localizar o banco de dados: ' .mysql_error()); if ($bco) { $stgsql = "SELECT UF from inscrito ORDER BY UF" ; $res = mysql_query($stgsql, $conec) ; $linhas = mysql_num_rows($res) ; $linhasini = 1 ; $dados = mysql_fetch_array($res) ; $insc = "oo" ; $est = 0; $contador = 0 ; while ($linhasini <= $linhas) { $contador = $contador + 1; echo "Linhasini = $linhasini<br>"; If ($dados[0] <> $insc) { $contador = 1 ; for ($i = 0; $i <= 26; $i++) { if ($Estado[$i] = $dados[0]) { $Inscritos[$i] = $contador ; $est = $i; echo "<font color='#FF0000'></font>$dados[0] É DIFERENTE DE $insc<br>"; echo "Valor de i: $i - Estado: $Estado[$i] - Valor de est: $est - Inscritos: $Inscritos[$est] - Contador: $contador<br>"; break; } } } else { $Inscritos[$est] = $contador; echo "<font color='#FF5000'></font>$dados[0] é igual a $insc<br>"; echo "Valor de i: $i - Estado: $Estado[$i] - Valor de est: $est - Inscritos: $Inscritos[$est] - Contador: $contador<br>"; } } $insc = $dados[0]; $dados = mysql_fetch_array ($res); $linhasini++; } $total = 0; for ($i = 0; $i <= 26; $i++) { $total = $total + $Inscritos[$i]; } } mysql_close($conec) ; } ?>
×
×
  • Criar Novo...