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

(Resolvido) Como pegar dados do MySQL?


Clark Kent

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

simples:

$con = mysql_connect("local_aonde_esta_o_banco_de_dados","usuario","senha"); faz a conexão com o banco, e retorna a variavel $con se deu certo ou não.

if($con) // se $con é true, ou seja, conectou ao banco de dados, seleciona com qual banco você deseja trabalhar.

{

mysql_select_db("banco_de_dados"); //seleciona qual o banco

$query = "SELECT * FROM tabela"; //literalmente, seleciona tudo (*), de uma tabela chamada tabela, é claro que essa linha pode ser bem mais extensa, mais esse é o basico

$dados = mysql_query($query,$con); //executa seu pedido, o segundo argumento é a variavel que informa a conexão com o bd, é opcional... os dados resultantes são atribuidos a variavel $dados

while($row=mysql_fetch_array($dados,MYSQL_ASSOC) // é meio complicado explicar, mais é aqui que a data se torna acessivel, em modo associativo, você já vai entender.

{

// supondo que você tenha dentro da tabela tabela, 3 campos: nome, idade e sobrenome, e você tem tres entradas para cada campo, ou seja, 3 linhas:

// Rogerio 35 Pereira

//Alberto 20 Silva

//Alex 15 Cani

//a primeira vez que o loop é executado, a primeira linha é pega, Rogério 35.

echo $row["nome"]; //mostra o conteudo do campo nome, no caso do primeiro loop, Rogério, é ai que entra a parte do MYSQL_ASSOC, ele permite que você referencie os dados pelo nome do campo, no caso, o campo nome.

echo $row["idade"]; //mostra o conteudo do campo idade da linha atual, no caso da linha 1, 35, da linha 2, 20, e da linha 3, 15.

} //o loop termina, while checara se há mais dados para serem retirados, no caso, a linha seguinte, a linha 2, o processo ocorrera tudo de novo, e no caso da linha 2, a saida sera Alberto20

mysql_close($con); //fecha a conexão com o bd, na verdade é opcional, pois ao sair desta pagina, ela é automaticamente encerrada.

} //fim do if

else

{

echo "Não foi possivel conectar ao bd"; //obvio...

}

você tambem pode usar outro comando para coletar os dados, mysql_fetch_assoc($variavel_que_contem_dados);

essa função automaticamente já retorna valores do tipo associativo, que nem mysql_fetch_array() com o argumento MYSQL_ASSOC.

para outros tipos de argumentos, veja este link.

é claro que existem mais maneiras de coletar dados... cada um tem sua preferencia, eu prefiro mysql_fetch_assoc e mysql_fetch_array com MYSQL_ASSOC... você escolhe, mais o conceito principal é este...

mais exemplos:

$user = usuario;

$passwd = 123456;

$bd = testes;

$con = mysql_connect("localhost","$user","$passwd");

if($con) {

mysql_select_db(banco);

$query = "SELECT * FROM tabela WHERE 'sobrenome' = Pereira"; //seleciona todas as linhas da tabela tabela aonde os campos sobrenomes sejam Pereira.

$dados = mysql_query($query,$con);

$tem=mysql_num_rows($dados); //checa quantas linhas de resultado existem, e poe o valor na variavel tem.

if($tem>=1) //se tem 1 linhas ou mais de resultado

{

$i = 1;

while($row=mysql_fetch_assoc($dados)){

echo "Nome $i: $row["nome] $row["sobrenome"]";

}

}

//note que não tem else, se tem linhas, mostra-as e segue o código, se não tem, apenas segue o código

$query = "INSERT INTO tabela VALUES ('Roberto', '14', 'Silveira')"; //insere por ordem em que os campos aparecem no banco de dados, os valores Roberto, 14 e Silveira, ou seja, em sequencia, nome, idade e sobrenome, lembra? se o numero de valores passados é menor do que o numero de campos, vai dar errado, e se você poe muitos valores, para poucos campos, tambem.

mysql_query($query); //estamos apenas inserindo, intao não é necessario outra variavel

mysql_close($con);

}

else

{

echo "Não foi possivel conectar ao BD";

}

se você deseja adicionar valores a campos especificos, você usa o comando insert assim:

$query = "INSERT INTO tabela (campo1, campo5, etc) VALUES ('valor_para_o_campo1', 'valor_para_o_campo_5', 'valor_para_o_campo_etc')";

é isso ai manim, qlqr coisa pergunta

Editado por Scripter
Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado mesmo cara, agora estou precisando de outro tipo de ajuda, tipo, estou querendo criar um formulário com um EditBox, e um botão Submit... em que eu possa escrever nesse "EditBox" e quando eu apertar em submit, tudo o que eu escrever será salvo no servidor como: texto.html

Será que pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0

ya ^^ vo aproveita que to com tempo livre e vo explica tudim ^^

-----paginaDoForm.html-----

<html>

<head>

<title>Passando valores pra umas pagina php</title>

</head>

<body>

<form action=script.php method=post> <!-- inicia o formulario, quando ele for submetido, seus valores irao para a pagina script.php, pelo método post (existem apenas post e get) -->

<input type=text name=textinho> <!-- insere o campo de texto chamado textinho, só se preocupe com o nome dele na pagina PHP -->

<br>

<input type=submit value=Manda!> <!--o botão que manda... -->

</form>

</body>

</html>

-------script.php--------

<?php

$valor1 = $_POST["textinho"]; /* atribui a valor1, o valor da variavel textinho (lembra que era o nome do campo de texto?) da variavel global _POST, para pegar valores de forms de outra pagina, você primeiro deve saber de que modo os valores serao enviados, post ou get, no caso de post, a variavel global é $_POST, e get, é $_GET. após a variavel você coloca entre colchetes, o nome do campo html do qual você quer tirar a informação... ex $variavel1 = $_POST["campo"]; ou $variavel1 = $_GET["campo"] */

echo $valor1; //mostra o valor da variavel $valor1, que tem o valor do campo html, traduzindo, mostra o conteudo do campo html...

?>

agora você me pergunta, qual a diferença entre get e post?

simples, você já deve te observado nos links das paginas, apos o pagina.php, um ?e depois uma palavra, ex, o link deste tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=136457

showtopic é uma variavel sendo passada pelo metodo get, e sera recuperada por alguma outra pagina atraves de $_GET...

?showtopic=136457

variavel showtopic, com o valor 136457...

enquanto post, é passado, podemos dizer, discretamente, sem que ninguém veja explicitamente, apenas atraves da variavel $_POST...

o metodo get suporta, se eu não me engano, 255 caracteres apenas... ou seja, pequenos textos, valores de variaveis, nada mais, enquanto post suporta gigantescas quantidades de texto...

você tambem pode fornecer valores para uma outra pagina manualmente, atraves de get:

ex:

<a href=pagina.php?variavel1=valor1>Link</a> <!-- cria um link para a pagina.php, enviando no campo $_GET, a variavel variavel1, com o valor, valor1, para pegar esta informação na pagina php, você deve acessar a variavel $_GET[variavel1]...

e como faço para passar mais de um valor?? simples, usando & (e comercial)...

ex:

<a href=pagina.php?variavel1=valor1&variavel2=valor2&variavel3=valor3>Link</a>

lembando o limite de 255 caracteres...

infelizmente, com post iso não é possivel... (até onde eu saiba), só através de forms mesmo...

entendeu?

qlqr coisa posta ai colega

+++++++++ EDIT++++++++++++

ah eskeci da parte de salvar o arquivo...

bem, vamos la...

----script.php de novo-----

<?php

$valor1 = $_POST["textinho];

$arquivo = fopen("texto.html", a+); //pra maiores informações em como usar os modos do fopen (parametro no qual eu coloquei a+) visite este link

fwrite($arquivo,$valor1); //escreve em $arquivo, o conteudo de $valor1

fclose($arquivo); //fecha o handler do arquivo

?>

isso é claro é apenas um basicão, pra maiores informações visite este link, e este, e este.

--------

mais exemplos:

<?php

$valor = "Pindamonhangaba";

if(is_writeable(arquivo.txt)) //se o arquivo pode ser escrito...

{

if(!$arquivo = fopen("arquivo.txt","a+")){

echo "Não consegui abrir o arquivo...";

exit;

}

fwrite($arquivo,$valor);

fclose($arquivo);

}

else

{

echo "O arquivo não pode ser alterado...";

}

?>

Editado por Scripter
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...