Jump to content
kokin

Preencher array

Recommended Posts

kokin

Bom dia,  tenho uma grande dúvida de como preencher Arrays vindos os dados de uma base de dados "Mysql".

O problema que me deparei é do género, queria preencher somente o campo nome de todos os utilizadores numa somente array.

exemplo: array("nome1", "nome2", "nome3", "nome4");

Se alguem me poder esclarerecer  :P

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Olá kokin,

Para eu te poder esclarecer terei que perceber melhor o que pretendes... (Se outro perceber, força :P )...

Quando dizes:

Bom dia,  tenho uma grande dúvida de como preencher Arrays vindos os dados de uma base de dados "Mysql".

Significa que já consegues obter os dados, só não sabes preencher o array?

Vou dar um exemplo, depois tu trabalhas o código ok?

<?php
# ligação ao servidor da base de dados:
mysql_connect('localhost','user','password') or die("Não foi possível ligar à base de dados");

# ligação à base de dados
mysql_select_db('nome_da_base_de_dados') or die("Não foi possível encontrar a base de dados");

# obter um resultado do mysql
$resultado = mysql_query('SELECT * FROM tabela');

# verificar se o resultado é válido:
if( is_resource( $resultado ) )
{
    # É válido, vamos ver quantas linhas o resultado contém:
    if( mysql_num_rows( $resultado ) > 0 )
    {
        # Sabemos que o resultado tem registos, vamos obter os registos do resultado, um a um:
        while( $registo = mysql_fetch_object( $resultado ) )
        {
            # Vamos, por exemplo, mostrar o valor do campo 'campo' no registo.
            # Se quiséssemos mostrar o campo 'nome', bastaria alterar onde está campo, para nome....
            echo $registo->campo . "<br/>";
        }
    }
    else # Não contém linhas nenhumas, vamos dizer que não achámos linhas:
    {
        echo "Não foram encontrados registos.";
    }
}
else
{
    # Mostramos um erro detalhado do que aconteceu
    die( "Ocorreu um erro na execução do SQL!<br/>Código do erro:" . mysql_errno() . "<br/>Descrição: " . mysql_error() ); 
}

?>

Este é o código de obtenção de registos de uma base de dados mysql....

Agora um exemplo de preenchimento de um array:

<?php
# Primeiro, inicializamos a variável como 'array vazio'... Convém inicializar as variáveis antes de as usarem
# previne problemas como a variável conter valores indeterminados (às vezes deixado por outros programas na memória)
# bem como casos em que a propriedade register_globals está activa, etc...
$variavel = array();

# Agora vamos adicionar um valor no array
$variavel[] = "Valor";

# Agora vamos adicionar outro valor
$variavel[] = "Valor2";

# ... e outro
$variavel[] = "Valor3";

# E agora vamos mostrar o conteúdo do array, só para ver o que ele tem:
# (Também podiam usar a função var_dump() para ver o conteúdo).
print_r($variavel);
?>

Agora usas uma combinação de ambos os códigos e terás uma maneira de preencheres arrays com dados da base de dados...

Fui claro?

Share this post


Link to post
Share on other sites
kokin

$resultado = mysql_query('SELECT id_utilizador, utilizador FROM utilizador') or die ($ErroDB);

while ($linha = mysql_fetch_array($resultado)) {

$ID = $linha["id_utilizador"];

$Nome = $linha["utilizador"];

        $string =$Nome ;

$array  = explode(',', $string);

}

O exemplo que tenho em cima esta totalmente errado aparte da array, o que pretendo é carregar os valores todos que vem da query para dentro de um array mas somente o nome do utilizador.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

$resultado = mysql_query('SELECT id_utilizador, utilizador FROM utilizador') or die ($ErroDB);

while ($linha = mysql_fetch_array($resultado)) {

$ID = $linha["id_utilizador"];

$Nome = $linha["utilizador"];

        $string =$Nome ;

$array  = explode(',', $string);

}

O exemplo que tenho em cima esta totalmente errado aparte da array, o que pretendo é carregar os valores todos que vem da query para dentro de um array mas somente o nome do utilizador.

-.-' Eu por acaso pensei que tinha sido bastante claro ... bem, segue o plano B:

Se olhares para o meu 2º exemplo, verás que apenas terias que fazer:

#inicializar a variável:
$array = array();

# Obtens o resultado.... aqui tudo bem...
$resultado = mysql_query('SELECT id_utilizador, utilizador FROM utilizador') or die ($ErroDB); 

# Obtens os registos, um a um (neste caso em modo array).... tudo bem....
while ($linha = mysql_fetch_array($resultado))
    $array[] = $linha['utilizador']; # Aqui, para cada registo, vais inserir na variável:

# Para confirmares se a variável tem os dados todos, fazes:
print_r($array);

Abraço

Share this post


Link to post
Share on other sites
kokin

-.-' Eu por acaso pensei que tinha sido bastante claro ... bem, segue o plano B:

Se olhares para o meu 2º exemplo, verás que apenas terias que fazer:

#inicializar a variável:
$array = array();

# Obtens o resultado.... aqui tudo bem...
$resultado = mysql_query('SELECT id_utilizador, utilizador FROM utilizador') or die ($ErroDB); 

# Obtens os registos, um a um (neste caso em modo array).... tudo bem....
while ($linha = mysql_fetch_array($resultado))
    $array[] = $linha['utilizador']; # Aqui, para cada registo, vais inserir na variável:

# Para confirmares se a variável tem os dados todos, fazes:
print_r($array);

Abraço

Muito obrigado totalmente esclarecido ajudaste me imenso.. Arrays é algo que ainda me faz imensa confusão ter de estudar mais isto..

Abraço

Share this post


Link to post
Share on other sites
moreiraGT

É possível fazer o preenchimento de um array em php com dados introduzidos pelo utilizador?

Como?

Obrigado.

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

<?php
if (isset($_POST['numeros'])) {
    echo array_sum($_POST['numeros']);
}

?>

<form method="POST">
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="submit" value="add"/>
</form>

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
moreiraGT
18 horas atrás, apocsantos disse:

Boa tarde,


<?php
if (isset($_POST['numeros'])) {
    echo array_sum($_POST['numeros']);
}

?>

<form method="POST">
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="submit" value="add"/>
</form>

Cordiais cumprimentos,

Apocsantos

Bom dia.

Ok Obrigado.

Assim funciona mas a minha intenção era exatamente fazer o carregamento do vetor, valor a valor, introduzido pelo utilizador.

Será que podemos colocar o formulário com um ciclo?

Assim:

<FORM action=""  method="POST">
<?php
$i;
$vetor=array();
for ($i=0;$i<=10;$i++)
 {
 echo "Introduza o valor do elemento: ";
 ?>
 <INPUT type="text" name="vetor" align="left"> <br>
 <?php
 }
?>
<INPUT type="submit" name="enviar" value="Carregar" >
</FORM>
<?PHP
foreach ($vetor as $value) {
  echo $value;
  }
?> 

Tenho dúvidas...

Obrigado.

moreiraGT

Share this post


Link to post
Share on other sites
apocsantos

Bom dia,

Duvido que funcione.


<?php
$arr(); //declara o array uma unica vez.
?>

<?php
if (isset($_POST['numeros'])) {
    array_push($arr, $_POST['NUMEROS']); //adiciona os elementos ao array
}
?>

<form method="POST">
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="number" name="numeros[]"/>
<input type="submit" value="add"/>
</form>

Creio que algo parecido com isto te resolva o problema. Quando chamado o $_POST adiciona os valores ao array.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.