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

(Resolvido) Exibindo valores de consulta sql sem POST


Carlohcs

Pergunta

Olá amigos...Estou com um problema e peço ajuda...vamos lá...

tenho uma página que está me retornando uma consulta ao banco de dados SQL. Estou exibindo o id_usuario na tag "select".Ele está me retornando direitinho quantos usuários existem no BD. O que eu quero fazer,é poder exibir o restante dos dados em "inputs do tipo texto" quando eu clicar no select e selecionar algum id_usuario.

sabem como fazer isso?

está ae o código:

<?php 
$db = conecta();
$consulta = "SELECT * FROM usuarios";
$result = mysql_query($consulta);
$num_rows = mysql_num_rows($result);
if($num_rows>0){
}else{
echo "<p align=center><font color=#CC0000><strong>Nada Encontrado!</font></strong></p>";
}
?>

<p align="center"><font color="#00FF33"><strong>Id_usuários:

<select name="find">
<option value=""></option>
<?php 
while($row = mysql_fetch_array($result)){
echo "<option value=$row[0]>$row[0]</option>";
}

?>
</select></strong></font></p>

<center><font color="#00FF33"><strong>
<p>Nome: <input type="text" value="?????"></p>
<p>Login: <input type="text" value="?????"></p>
<p>Senha: <input type="text" value="?????"></p>

</strong></font></center>

Como dito antes,na consulta me retorna os id_usuarios normalmente. Estou confuso.Pois sei que se quero o valor de um usuário,na consulta SQL eu deveria especificar que usuário eu quero.Mas como eu expliquei,quero pegar o valor de todos os usuários quando clicado no select do id_usuario e exibir as informações restantes nos input text.

Até mais,e obrigado.

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0
Olha cara, a principio fazer isso é facil. Que dados a mais tu precisa mostrar nesses campos texto? Quantos e quais dados tu precisa mostrar? E como seriam mostrados em campos de texto? Precisa ser de texto mesmo? O usuario vai poder edita-los ou o que?

Aguardo respostas.

T+

Então Danilo...obrigado por tentar me ajudar...

Eu já fiz um curso de PHP...e sei que esses valores podem ser retornados através de objetos. O que eu quero seria assim:

Tenho uma página onde tenho um botão que seleciono o "id_usuario",este são apenas n°s.Consigo retornar certinho os numeros na ordem correta...(1,2,3...)E tenho caixas do tipo texto.O que eu queria,era que quando eu selecionasse o id_cliente ,os dados deste aparececem nas caixas correspondentes.No meu caso,seria o nome,o login, e a senha. E sim,ainda irei colocar um botão para poder editar e salvar estes valores.

Sei que isto é possivel pelo PHP.Mas estou quebrando a kbeça e até agora ainda n consegui resolver. Creio eu que talves seja na parte onde eu faço a consulta,onde eu pegaria todos os dados do cliente através de apenas o id_usuario.

($sql = "SELECT * usuarios";

ou

$sql = "SELECT nome,login,senha WHERE id_usuario = $id_usuário????; )

É um esquema q não é mt dificil,mas q estou a tentar e ainda n consegui.Se puder me ajudar,ficarei mt grato.

Até mais,falou.

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa ainda não poder responder, mas acho que ou eu não intendi a sua pergunta, ou você não intendeu a minha... Quais os campos do DB que tu quer mostrar quando selecionar um item do select? Onde você quer mostra-los? Logo abaixo do select?

E sobre como buscar do DB, poderias fazer assim:

O php montaria o select, e em cada propriedade value do option, tu coloca o id do usuario. Ex:

<select onchange="mostraForm(this.value)">
<option value="1000">Danilo Moraes</option>
<option value="1001">SK15</option>
<option value="1002">Jonathan Queiroz</option>
<option value="1003">Carlohcs</option>
<option value="1004">Fulano</option>
</select>

Descontando a parte dos nomes que eu roubei aqui do forum>_> hehehehehe

Veja que esse select teria que ser criado pelo php, e na mesma query que eu utilizo para por os nomes no select, eu já coloco os IDs.... Ai nesse caso eu estou usando a funcao mostraForm() pra chamar a pagina do servidor via ajax. Estou enviando pra essa funcao, o valor do option atual e essa funcao poderia enviar via get uma chamada pro servidor. Quando o php receber essa variavel por get, poderia realmente usar essa query que tu postou. Ela so tem um probleminha, não pode esquecer do FROM... hehehe Fica algo tipo assim:

$sql = "SELECT nome,login,senha FROM tabela WHERE id_usuario = " . $_GET['id_usuario'];

Ai so usar depois:

mysql_query($sql);

E depois usar a criatividade pra fazer o form... Pode ser via php, onde o php geraria todo o form usando por exemplo o mysql_fetch_array(mysql_query($sql)) e alguns echo pra fazer o form, ou tu poderia fazer um objeto JSON e enviar apenas o texto para o cliente e deichar que o javascript crie dinamicamente os campos...

Ai vai do teu gosto.

Se puderes explicar melhor, poderei ajudar melhor.

hhehehe

T+

Link para o comentário
Compartilhar em outros sites

  • 0

bom...acho q estamos no mesmo caminho...rsrsr...

é isso mesmo...quero exibir os dados do DB como nome, login e senha nos input de texto.Só que tipo,ainda n manjo ajax...e queria fazer com php puro...

E n sei se entendi mt,mas no caso que você me mostrou,eu montaria os usuários manualmente?

porque tipo,no curso q fiz...me lembro q fizemos um e-comerce(se for assim q escreve), e era do estilo de uma biblioteca. Mas o esquema é o mesmo. Tem uma página de cadastro,essa eu tenho e funciona corretamente, em outra página,existem todos os usuários listados corretamente. Agora tenho essa página,onde quero mostrar os id_usuários no select,e depois dele eu mostro os dados referentes ao id_usuário.Td isso automaticamente.Após isso,eu tenho uma função para excluir o usúario e edita-lo.

Entendeu agora?

Outra duvida: com o mysql_fetch_array ele já não retira todos os dados dos usuários? se ele já é um array,não poderiamos jogar os indices ou algo do genero nos inputs?não deve ser tão dificil...mas ta complicado....rsrsr

Vlw grande,até mais...

Link para o comentário
Compartilhar em outros sites

  • 0

Para fazer com PHP sem AJAX você precisará recarregar toda a página.

Não é possível modificar os dados que já foram carregados na página sem utilização de uma linguagem client-side (JS, por exemplo) que faça ligação com o servidor (geralmente com AJAX) e processe essas modificações a fim de alterar os dados contidos na página.

Link para o comentário
Compartilhar em outros sites

  • 0

mysql_fetch_array() coloca os campos de um determinado registro, no array... Pode tanto ser por numeros, que seria o proprio array como por mapas que seria com o nome do campo. Exe:

Campos do DB=

id | nome | senha

com mysql_fetch_array() tu pode acessar assim:

mysql_fetch_array(0)//vai retornar o id...

mysql_fetch_array("id")//vai retornar o id...

Olha, eu devo estar muito burro, mas literalmente não intendi o que tu quer =//

Faz o codigo, e então mostra pra que eu possa ter uma ideia... Faz ate onde tu conseguir, que se eu entender te ajudo a termina-lo.

T+

Link para o comentário
Compartilhar em outros sites

  • 0
Para fazer com PHP sem AJAX você precisará recarregar toda a página.

Não é possível modificar os dados que já foram carregados na página sem utilização de uma linguagem client-side (JS, por exemplo) que faça ligação com o servidor (geralmente com AJAX) e processe essas modificações a fim de alterar os dados contidos na página.

Então...porque tipo...pensei q eu poderia quando retornasse os dados no array dos contatos,que com algum tipo de referencia eu apenas pegasse ou exibisse o restante. Antes de fazer o tópico,pensei que seria possivel buscar os dados sem POST,por PHP mesmo...mas já que você diz q não é possivel,eu entendo...

Então o esquema q eu deveria fazer,era selecionar todos os campos do DB,e para exibi-los no select ou deveria usar JS ou AJAX?

Link para o comentário
Compartilhar em outros sites

  • 0

Danilo...esse esquema q você me mostrou pode dar certo. Só que tem um porém,na consulta a variavel "$sql" está com a query. e depois eu faço a consulta e exibo os resultados com o fetch_array passando o parametro da SQL. Eu teria de voltar a fazer o fetch_array só q usando o esquema q você passou?porque nos teste q eu fiz aki,dessa maneira q você me mostrou,n deu certo. porque ainda tenho q puxar os dados da query.

//aqui faço a consulta

$sql = "SELECT id_usuario, nome, login, senha FROM usuarios";
$query = $this->$sql;
$result = mysql_query($sql);

//aqui faço o fetch e exibo o resultado

while($row = mysql_fetch_array($result)){
echo "Id_usuário: $row[id_usuario]";
}

Como o Jonathan falou,se n der por PHP,me dem uma luz com js ou sei lá o que. Até mais,falou.

Link para o comentário
Compartilhar em outros sites

  • 0

Dá pra fazer facilmente em AJAX.

Trabalhando com AJAX você tem basicamente duas formas de fazer:

  1. Pegar todos os dados de uma vez e não fazer mais nenhuma requisição. Ou seja, todos os dados serão passados para o JS e você só irá manipular esses valores já carregados.
  2. Passar a quantidade de registro para o JS gerar o menu de seleção e, cada vez que o usuário selecionar algum registro, requisitar ao servidor informações mais detalhadas sobre aquele registro. É a melhor forma de se fazer, principalmente se a quantidade de dados for grande
Nas duas você irá modificar algum parâmetro do formulário (um input hidden, por ex.) a depender do ID do registro.

Recomendo que veja esse tópico: Lista de Cursos para a linguagem JavaScript.

Mais precisamente, esses links:

Link para o comentário
Compartilhar em outros sites

  • 0

O exemplo que passei não funcionou porque aquela funcao retorna um array... Voce tem que atribuir esse array pra alguma variavel: $variavel = mysql_fetch.....

E dessa maneira so vai pegar 1 registro, tu teria que colocar a funcao dentro de um loop pra pegr mais que um.

T+

Editado por Danilo Moraes
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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...