josedasilva @ 15:57

Sex, 27/05/05

Quando nos referimos a um grande projecto ninguém pensa que vamos usar ficheiros de texto para guardar dados, sem sistemas de indexação ordenados. O método usado é virado para o uso de bases de dados, existem muitos sistemas de bases de dados que se podem interligar com a linguagem PHP no entanto neste pequeno introdutório vamo-nos focar apenas no SGBD MYSQL.

Para quem nunca lidou com bases de dados pode parecer um assunto assustador e até complicado, o objectivo deste pequeno tutorial e desmistificar esse conceito.

Alguns paramentros que assumimos.
1º o servidor de mysql encontra-se no servidor localhost
2º a base de dados está criada com o nome nome_da_minha_bd
3º foram criadas permissões para o utilizador com nome = utilizador através da senha minhasenha

O primeiro passo a dar é executar uma conexão á base de dados:

Do manual retiramos a seguinte função:

resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]])

A função devolve o Id do resource em caso de sucesso ou FALSE em caso de não se conseguir conectar.

Como usamos a função??
(1)
< ?
$con = mysql_connect(“localhost”,”utilizador”,”minhasenha”) or die (“Impossivel Criar a conexão”);
?>
Ok, este ponto está definido, e foi fácil.

O segundo passo é pensar, “ok, já me conectei ao servidor, mas a qual base de dados?”.

Sim é verdade, vamos ter de direccionar a ligação criada para uma base de dados especifica, isto é conseguido através do seguinte comando.

bool mysql_select_db ( string database_name [, resource link_identifier])

Esta função retorna TRUE em caso de sucesso e FALSE no caso de não se conseguir conectar.

Vamos agora usar a função:
(2)
< ?
$db = mysql_select_db(“nome_da_minha_db”,$con);
?>

Repare ao 2 argumento da função, reporta-se ao identificador do recurso conseguido através da conexão á base de dados em (1), este argumento apenas é necessário no caso de estarmos a usar conexões a múltiplas bases de dados.

Ponto da Situação, já nos conectamos ao servidor e á base de dados especifica, agora queremos tirar dados das tabelas existentes.

Vamos supor que a seguinte tabela foi criada com o comando :

CREATE TABLE tvd_dicionario (
id int(11) NOT NULL auto_increment,
pt varchar(255) default NULL,
eng varchar(255) default NULL,
ita varchar(255) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;


Onde podemos observar os seguintes campos, id, pt, eng, ita, ger, fr, es.

Um exemplo da tabela preenchida seria:

dicionário


Como já deu para perceber é um dicionáro, o objectivo é tirar da tabela a lista de todas as palavras existentes.

Para tirar algo da base de dados temos de fazer um pedido, isso é conseguido através do comando:

resource mysql_query ( string query [, resource link_identifier [, int result_mode]])

O resultado devolve o recurso ou FALSE em caso de Sucesso ou Insucesso respectivamente, apenas é necessário o uso do 2º argumento caso estejas a usar multiplas conexões, no entanto para ser coerente vamos usar o parâmetro.

Como usamos a função??
(3)

< ?
$pergunta = “SELECT id,pt,eng,ita FROM dicionario order by pt”;
$res = mysql_query($pergunta,$con);
// Vamos verificar se teve sucesso
if($res)
echo “Pergunta com sucesso”;
?>

Já conseguimos perguntar ao servidor de mysql o que queremos, mas para perguntar usámos algo que pode ser novo “SELECT id,pt,eng,ita FROM Dicionario order by pt” Isto é a linguagem SQL, que se usa na conversação com a base de dados, neste caso estamos a perguntar o seguinte , em português corrente:

“Selecciona os campos id,pt,eng,ita da Base de dados Dicionário e ordena por ordem crescente o campo pt”.
Pode parecer difícil, mas num próximo dia tentarei explicar esta linguagem em pormenor, continuando com o nosso objectivo, agora que temos a pergunta á base de dados efectuada, temos de retirar os dados e imprimi-los.

Antes de retirar os dados do recurso é necessário formatar esses dados, sobre a forma que desejamos usar, para isso efectuei o seguinte comando:


object mysql_fetch_object ( resource result)

O objectivo é ficar com o recurso transformado num objecto em que posso aceder a todos os campos através de simples passos, como por exemplo $objecto->id para aceder ao id retornado.

Vamos então usar o comando:
(4)
< ?
// temos o $res com sucesso
if($res)
$objecto = mysql_fetch_object($res);

echo $objecto->id;
?>

O resultado seria a escrita do número 2 no output.

Pensemos agora num pormenor, mas nós queremos todas as linhas de um dicionário e não só a 1ª, ok para isso basta-nos efectuar um ciclo na criação do objecto.
(4)
< ?
// temos o $res com sucesso
if($res)
while($objecto = mysql_fetch_object($res))
echo $objecto->id.” – “.$objecto->pt.” – “.$objecto->eng.”
”;

?>

O resultado deste pequeno pedaço de código está á vista:

2 – Cão – Dog
1 – homem – man

Vamos agora juntar todos os pedaços numa peça só e ficar com o nosso pequeno script completo.

< ?
//(1)
$con = mysql_connect(“localhost”,”utilizador”,”minhasenha”) or die (“Impossivel Criar a conexão”);
//(2)
$db = mysql_select_db(“nome_da_minha_db”,$com);
//(3)
$pergunta = “SELECT id,pt,eng,ita,ger,fr,es FROM Dicionario order by pt”;
$res = mysql_query($pergunta,$con);
// Vamos verificar se teve sucesso
if($res) //(4)
while($objecto = mysql_fetch_object($res))
echo $objecto->id.” – “.$objecto->pt.” – “.$objecto->eng.”
”;
mysql_close($con);
?>

Esta última linha destina-se a fechar a conexão á base de dados, e libertar o link.

Espero que tenha sido bastante explicito e detalhado

Tags:

lexington law firm @ 12:17

Ter, 31/07/07

 

houston home mortgage rate (http://www.1onlineloan.info/phorum/houston-home-mortgage-rate.html) [url=http://www.1onlineloan.info/phorum/houston-home-mortgage-rate.html]houston home mortgage rate[/url] http://www.1onlineloan.info/phorum/houston-home-mortgage-rate.html fontaine bac plante (http://www.fr-flower.info/1/fontaine-bac-plante.php) [url=http://www.fr-flower.info/1/fontaine-bac-plante.php]fontaine bac plante[/url] http://www.fr-flower.info/1/fontaine-bac-plante.php new immigration law (http://www.fr-law.info/tools/1458) [url=http://www.fr-law.info/tools/1458]new immigration law[/url] http://www.fr-law.info/tools/1458 procuratore avvocato cerca lavoro studio legale (http://www.law-court-it.info/procuratore-avvocato-cerca-lavoro-studio-legale.asp) [url=http://www.law-court-it.info/procuratore-avvocato-cerca-lavoro-studio-legale.asp]procuratore avvocato cerca lavoro studio legale[/url] http://www.law-court-it.info/procuratore-avvocato-cerca-lavoro-studio-legale.asp bubba shot the juke box lyric (http://www.1-gift-baskets.info/5/bubba-shot-the-juke-box-lyric.html) [url=http://www.1-gift-baskets.info/5/bubba-shot-the-juke-box-lyric.html]bubba shot the juke box lyric[/url] http://www.1-gift-baskets.info/5/bubba-shot-the-juke-box-lyric.html debt consolidation firm london (http://www.autoloan-1.info/latest/1221.php) [url=http://www.autoloan-1.info/latest/1221.php]debt consolidation firm london[/url] http://www.autoloan-1.info/latest/1221.php carole bouquet bond (http://www.1-livraisonfleurs.info/news/1571.html) [url=http://www.1-livraisonfleurs.info/news/1571.html]carole bouquet bond[/url] http://www.1-livraisonfleurs.info/news/1571.html 9th wedding anniversary gifts (http://www.1cadeaux-noel.info/1521.html) [url=http://www.1cadeaux-noel.info/1521.html]9th wedding anniversary gifts[/url] http://www.1cadeaux-noel.info/1521.html cardboard suggestion box (http://www.1giftboxes.info/tag/1392.html) [url=http://www.1giftboxes.info/tag/1392.html]cardboard suggestion box[/url] http://www.1giftboxes.info/tag/1392.html demanda planta vivero cipres (http://www.es-comprar-flores.info/4/1051.php) [url=http://www.es-comprar-flores.info/4/1051.php]demanda planta vivero cipres[/url] http://www.es-comprar-flores.info/4/1051.php

car louis st insurance @ 00:35

Dom, 29/07/07

 

car louis st insurance...

scans Heidegger unending nicking smelts cravat:...

Alice @ 18:02

Ter, 31/07/07

 

...

haha nice one! :p...

terling silver charm bracelet @ 03:43

Qui, 02/08/07

 

fine india jewelry (http://www.bijoux-fr.info/tag/fine-india-jewelry) [url=http://www.bijoux-fr.info/tag/fine-india-jewelry]fine india jewelry[/url] http://www.bijoux-fr.info/tag/fine-india-jewelry batteria cellulare samsung (http://www.prezzicellulari.info/6/batteria-cellulare-samsung.php) [url=http://www.prezzicellulari.info/6/batteria-cellulare-samsung.php]batteria cellulare samsung[/url] http://www.prezzicellulari.info/6/batteria-cellulare-samsung.php precio de celular motorola (http://www.mensajes-celulares.info/5/1243.php) [url=http://www.mensajes-celulares.info/5/1243.php]precio de celular motorola[/url] http://www.mensajes-celulares.info/5/1243.php telephone mobile motorola v80 (http://www.wireless-cellphones-fr.info/cat/1724.html) [url=http://www.wireless-cellphones-fr.info/cat/1724.html]telephone mobile motorola v80[/url] http://www.wireless-cellphones-fr.info/cat/1724.html cell phones debt consolidation (http://www.handyshop-de.info/cell-phones-debt-consolidation.html) [url=http://www.handyshop-de.info/cell-phones-debt-consolidation.html]cell phones debt consolidation[/url] http://www.handyshop-de.info/cell-phones-debt-consolidation.html vendita gioiello perla saronno (http://www.fashion-jewelry-ita.info/docs/vendita-gioiello-perla-saronno.asp) [url=http://www.fashion-jewelry-ita.info/docs/vendita-gioiello-perla-saronno.asp]vendita gioiello perla saronno[/url] http://www.fashion-jewelry-ita.info/docs/vendita-gioiello-perla-saronno.asp gold cup 2007 etat unis (http://www.123bijoux.info/1014.asp) [url=http://www.123bijoux.info/1014.asp]gold cup 2007 etat unis[/url] http://www.123bijoux.info/1014.asp 1871 arts bracelet cool friendship leisure stuff (http://www.1jewellerybox.info/1871-arts-bracelet-cool-friendship-leisure-stuff.html) [url=http://www.1jewellerybox.info/1871-arts-bracelet-cool-friendship-leisure-stuff.html]1871 arts bracelet cool friendship leisure stuff[/url] http://www.1jewellerybox.info/1871-arts-bracelet-cool-friendship-leisure-stuff.html chaine cheville bracelet cheville (http://www.fr-indian-jewellery.info/info/chaine-cheville-bracelet-cheville.html) [url=http://www.fr-indian-jewellery.info/info/chaine-cheville-bracelet-cheville.html]chaine cheville bracelet cheville[/url] http://www.fr-indian-jewellery.info/info/chaine-cheville-bracelet-cheville.html reverse phone (http://www.1cell-phones.info/2006/reverse-phone.asp) [url=http://www.1cell-phones.info/2006/reverse-phone.asp]reverse phone[/url] http://www.1cell-phones.info/2006/reverse-phone.asp

Cheap phentermine free shipping....

Buy prozac phentermine online free shipping cheap. Cheap phentermine free shipping. Cheap free phentermine shipping....

Blog pessoal de José Silva. Sou programador informático, nos últimos anos dedicado quase exclusivamente ao PHP.
Maio 2005
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6
7

8
9
10
11
12
13
14

15
16
17
18
19
20
21

22
23
24
25
26
28

29
30


Pesquisar
 
blogs SAPO