Jump to content
Fórum Script Brasil
  • 0

Array em PHP


tlima

Question

alguém poderia me ajudar?

$sql = mysql_query("SELECT count(id) as quantidade, setor from equipamentos where patrimoniado = 1
              grop by setor");
Resultado quantidade | setor 7 | financeiro 11 | Recursos Humanos 12 | Informatica
$i = 0;
    while ($row = mysql_fetch_array($sql)){
        $valores = array();
        $valores[$i] = $row['quantidade'];    
        $i++;
    }

Gostaria de armazenar o setor e a quantidade em uma variavel para que eu possa usa-lo ao longo do meu codigo,

pois desta forma ao imprimir a variavel $valor[$i] eu so teria a quantidade.

Queria que saisse algo como

financeiro = 7

recursos humanos = 11

Como posso fazer isso?

Edited by tlima
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Você pode fazer

while ($row = mysql_fetch_array($sql)){
        $valores[$row['setor']] = $row['quantidade'];    
    }
Assim, para acessar a quantidade do setor de informatica, por exemplo, seria
$valores['informatica']

O mesmo vale para os outros setores.

Edited by mJi
Link to comment
Share on other sites

  • 0

O array $row contem uma coleção de arrays com índices associativos, você não precisa fazer isso:

$valores[$i] = $row['quantidade'];
Faça uma iteração sobre o array $row e para cada iteração adicione no array $valores. Então o array $valores está contido de todas as linhas retornadas pela consulta SQL.
$valores[] = $row;
Tenta assim:
<?php

$valores = array();

while ($row = mysql_fetch_array($sql)){
    $valores[] = $row;    
}

if(!$valores) {
    exit();
}

echo '<tr><td>Quantidade</td><td>Setor</td></tr>';
foreach($valores AS $arrList) {
    sprintf('<tr><td>%s</td><td>%s</td></tr>',$arrList['quantidade'],$arrList['setor']);
}

Link to comment
Share on other sites

  • 0
Você pode fazer

while ($row = mysql_fetch_array($sql)){
        $valores[$row['setor']] = $row['quantidade'];    
    }
Assim, para acessar a quantidade do setor de informatica, por exemplo, seria
$valores['informatica']
O mesmo vale para os outros setores.
Perfeito... desse jeito ficou mais facil... Muito Obrigado... tinha feito assim que também funcionou... porem tenho que usar um foreach toda hora
while ($row = mysql_fetch_array($sql)){
        
    
        $valores[$row['setor']][] .= $row['quantidade'];
        

    }
    
    
    foreach($valores['informatica'] as $valor){
        echo $valor;
    }

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...