-
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
-
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) ; } ?>
- 7 respostas
-
- array
- contadores
-
(e %d mais)
Tags:
-
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!
- 7 respostas
-
- array
- contadores
-
(e %d mais)
Tags:
-
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,
- 7 respostas
-
- array
- contadores
-
(e %d mais)
Tags:
-
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.
- 7 respostas
-
- array
- contadores
-
(e %d mais)
Tags:
-
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) ; } ?>
- 7 respostas
-
- array
- contadores
-
(e %d mais)
Tags: