Ir para conteúdo
Fórum Script Brasil
  • 0

script gerando variaveis


lamatta

Pergunta

Amigos, o meu caso é o seguinte...

eu tenho uma tabela sql com as seguintes informações, ID e NOME...

então exemplificando:

<?

$nome[1] = João;

$nome[2] = Maria;

$nome[3] = Raimunda;

echo "$nome[1]";

?>

no navegador vai aparecer o nome João...

porém eu quero em determinados pontos da pagina exibir outros nomes, mas sem fazer uma nova busca... tipo, no banco de dados eu sei que João recebe a id=1, Maria recebe a id=2 e Raimunda recebe a id=3... logo se eu escrever em qualquer lugar da pagina <? echo "$nome[3]"; ?> como já declarei a variavel $nome[3] = Raimunda; vai aparecer o nome raimunda... porém, eu tenho 100 nomes pra mostrar... não quero criar uma variael para cada nome, usarei apenas a variavel $nome[aqui dentro a id do nome]... Não sei se estou complicando voces com o que quero mas enfim, se puderem me ajudar o que eu quero é um script que gere aquelas variaveis $nome pra eu apenas modificar o valor dos [] e chamar o valor correspondente... Desde já, obrigado...

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Amigo, boa noite

Então se eu entendi sua dúvida é simples de resolver:

Supondo que você já sabe se conectar a um banco de dados e melhor ainda que já tem uma classe que faça isso para você vou explicar apenas o processo de mostrar os dados como você quer. Se ocorrer alguma dúvida por favor questione que a gente explica melhor.

Basta você fazer uma consulta no banco de dados assim:

$strsql = " SELECT id,
                            nome 
                   FROM SuaTabela 
                   ORDER BY id ";

$rsDados = mysql_query( $strsql, $conexao );
$dados = array();

while( $dados = mysql_fetch_assoc( $rsDados ) ){//aqui dentro você terá todos os valores do banco que você selecionou na query acima

         $dados[$dados[id]] = $dados[nome];
}

Assim você tem um array com o indice sendo o id e logo depois o nome.

Se os ids não forem sequenciais o array ficará com posições vazias mais aí é só tratar.

Qualquer coisa posta aew falou...

Link para o comentário
Compartilhar em outros sites

  • 0

Ok... Funcionou mas não funcionou

tenho um arquivo que faz a conexão com o banco nome-ei como conectdb.php

<?php

$hostname = 'localhost';

$username = 'root';

$senha = 'senha';

$banco = 'empresa';

$db = mysql_connect($hostname,$username,$senha);

mysql_select_db($banco,$db);

?>

e a minha pagina está assim com o seu codigo

<?php

require ("conectdb.php");

$strsql = " SELECT id, nome FROM tb_usuarios ORDER BY id ";

$rsDados = mysql_query( $strsql, $conexao );

$dados = array();

while( $dados = mysql_fetch_assoc( $rsDados ) )

{

$dados[$dados[id]] = $dados[nome];

}

?>

<hml>

<body>

<?

echo "$dados[1]";

?>

</body>

</html>

e não aparece nada....

só funciona se eu fizer as seguintes alteraçãoes

<hml>

<body>

<?php

require ("conectdb.php");

$strsql = " SELECT id, nome FROM tb_usuarios ORDER BY id ";

$rsDados = mysql_query( $strsql );

$dados = array();

while( $dados = mysql_fetch_assoc( $rsDados ) )

{

$dados[$dados[id]] = $dados[nome];

echo "$dados[1]";

}

?>

</body>

</html>

retirei o $conexao que não entendi e dei um echo dentro das {} mas não é isso que eu quero... Pois eu vou citar $dados[1]... $dados[2]... $dados[999] espalhadas pela pagina... tem como? obrigado por responder

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que eu vi a alguns erros

$rsDados = mysql_query( $strsql, $conexao );
Retire o $conexao ou coloque $db no lugar.
echo "$dados[1]";

Tire as aspas não presisa, so se fosse uma string já que é um array não presisa, para espalhar você retira o essa linha de dentro do while ecoloca onde você quiser na pagina.

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo desculpe foi erro meu...no script que eu te indiquei o array que é criado fora é exatamente igual ao array que é criado com o mysql_fetch_assoc().

O correto é:

<html>
<body>
<?php
require ("conectdb.php");

$strsql = " SELECT id, nome FROM tb_usuarios ORDER BY id ";
$rsDados = mysql_query( $strsql );
$dadosUsuario = array();//repare que antes esse array era exatamente igual ao array criado com o mysql_fetch_assoc()
while( $dados = mysql_fetch_assoc( $rsDados ) )
{
$dadosUsuario[$dados[id]] = $dados[nome];

}

echo "$dadosUsuario[1]";//pronto agora o array está completo e você consegue mostrar qualquer posição atravéz do id.
print_r($dadosUsuario);//aqui você verá o array completo.
?>
</body>
</html>
Qualquer coisa da um toque aew, agora acho que não tem mais problema com o script modificado acima. O lance do $conexão só para você entender é o seguinte: Eu uso esse arquivo externo que conecta no banco de dados:
<?php
$banco='nomeDoBanco';
$serverMySQL="servidorDoBanco";
$db_user="usuario";
$db_pass='senha';
$conexao=mysql_connect($serverMySQL,$db_user,$db_pass);

if($conexao){
    $autenticado=1;

    if($banco){
        $select_db=mysql_selectdb($banco,$conexao);
        if(!$select_db) exit("Problemas na conexão com o Banco de Dados $banco");
    }
}
else $autenticado=0;
?>

Então sempre que preciso me conectar ao banco é somente necessário dar um include desse script.

Agora está explicado o porque da conexão.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...