wap-klub
Junior 2

Data inscrierii: 12/Noi/2010 Mesaje: 34
|
|
Interogarea MySQL cu ajutorul script-urilor PHP |
|
Crearea unei tabele cu PHP
CREATE TABLE nume_tabela {
nume_camp tip(marime) alte_informatii,
...
}
Presupunem ca exemplu, o agenda cu datele vizitatorilor unui site memorata in tabela agenda cu structura:
Nume Tip Lungime Descriere
id INT 6 Un identificator unic
first VARCHAR 15 Prenume
last VARCHAR 15 Nume
phone VARCHAR 20 Numarul de telefon
mobile VARCHAR 20 Numarul de mobil
fax VARCHAR 20 Numarul de fax
email VARCHAR 30 Adresa de email
web VARCHAR 30 Adresa de web
Pentru a crea aceasta tabela in PHP (explicatiile urmeaza):
<?
$user="nume";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Nu se poate deschide baza de date");
$query="CREATE TABLE agenda (id int(6) NOT NULL auto_increment,
first varchar(15) NOT NULL,
last varchar(15) NOT NULL,
phone varchar(20) NOT NULL,
mobile varchar(20) NOT NULL,
fax varchar(20) NOT NULL,
email varchar(30) NOT NULL,
web varchar(30) NOT NULL,
PRIMARY KEY (id),UNIQUE id (id),
KEY id_2 (id))";
mysql_query($query);
mysql_close();
?>
Acum sa pargurgem pasii necesari pentru a putea folosi acesta tabela.
Conectarea la baza de date:
$username="nume_utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
Deschiderea bazei de date:
@mysql_select_db($database) or die( "Mesaj in caz de eroare");
Executia unei comenzi se poate face direct sau atribuind comanda unei variabile (daca se asteapta un rezultat):
mysql_query($query);
Adaugarea de inregistrari
Informatiile urmatoare vor fi adaugate in agenda cu comanda: First: Cutarescu
Last: Cutarica
Phone: 01234 567890
Mobile: 00112 334455
Fax: 01234 567891
E-mail: cutarica@yahoo.com
Web: http://www.cutarica.go.ro
$query = "INSERT INTO agenda VALUES ('','Ion','Gheorghe','01234 567890','00112 334455','01234 567891','iongh@yahoo.com','http://www.iongh.go.ro')";
Formularele HTML
Iata cum ar putea sa arate un fomrular cu susținerea caruia se vor culege informatii despre vizitatori:
Codul este:
<form action="insert.php" method="post">
Prenume: <input type="text" name="first"><br>
Last Nume: <input type="text" name="last"><br>
Telefon: <input type="text" name="phone"><br>
Mobile: <input type="text" name="mobile"><br>
Fax: <input type="text" name="fax"><br>
E-mail: <input type="text" name="email"><br>
Site Web:<input type="text" name="web"><br>
<input type="Submit">
</form>
Creaza acum un fisier 'insert.php' cu urmatorul continut:
<?
$username="utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Nu se poate deschide BD");
$query = "INSERT INTO agenda VALUES ('','$first','$last',
'$phone','$mobile','$fax','$email','$web')";
mysql_query($query);
mysql_close();
?>
Afisarea inregistrarilor
$query="SELECT * FROM agenda";
$result=mysql_query($query);
Rezultatele sunt acum intr-un tablou ('result'). Pentru a-i afisa elementele, trebuie întrebuințat un ciclu:
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
COD PT AFISaRE
++$i;
}
In continuare, vom memora datele in variabile:
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
Script-ul final pentru afisarea rezultatului interogarii:
<?
$username="utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Nu se poate deschide baza de date");
$query="SELECT * FROM agenda";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
echo "<b><center>Rezultatul interogarii</center></b><br><br>";
$i=0;
while ($i < $num) {
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
echo "<b>$first $last</b><
br>Telefon: $phone<
br>Mobil: $mobile<
br>Fax: $fax<
br>E-mail: $email<
br>Site Web: $web<
br><hr><br>";
++$i;
}
?>
Fomatarea afisajului rezulatelor se poate face întrebuințând combinatii HTMl/PHP:
<font face="Arial, Helvetica, sans-serif"><? echo "$first $last";?></font*gt;
Interogarile se fac dupa urmatorul exemplu:
$query="SELECT * FROM agenda WHERE last='$searchlast'";
$result=mysql_query($query);
Actualizarea inregistrarilor
$id=$_GET['id'];
$username="utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
$query=" SELECT * FROM agenda WHERE id='$id'";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
Spatiu pentru cod
++$i;
}
Formularul HTML:
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
Prenumele: <input type="text" value="ud_first" value="<? echo "$first"?>"><br>
Numele: <input type="text" value="ud_last" value="<? echo "$last"?>"><br>
Ner. telefon: <input type="text" value="ud_phone" value="<? echo "$phone"?>"><br>
Nr. celular: <input type="text" value="ud_mobile" value="<? echo "$mobile"?>"><br>
Nr. fax: <input type="text" value="ud_fax" value="<? echo "$fax"?>"><br>
Adresa e-mail: <input type="text" value="ud_email" value="<? echo "$email"?>"><br>
Adresa Web: <input type="text" value="ud_web" value="<? echo "$web"?>"><br>
<input type="Submit" value="Actualizeaza">
</form>
Urmatorul pas este actualizarea propriu-zisa a bazei de date cu valorile introduse in formular:
$ud_id=$_POST['ud_id'];
$ud_first=$_POST['ud_first'];
$ud_last=$_POST['ud_last'];
$ud_phone=$_POST['ud_phone'];
$ud_mobile=$_POST['ud_mobile'];
$ud_fax=$_POST['ud_fax'];
$ud_email=$_POST['ud_email'];
$ud_web=$_POST['ud_web'];
$username="utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
$query="UPDATE agenda WHERE id='$ud_id'
SET first='$ud_first' last='$ud_last' phone='$ud_phone'
mobile='$ud_mobile'
fax='$ud_fax' email='$ud_email'
web='$ud_web'";
mysql_query($query);
echo "Inregistrare actualizata";
mysql_close();
Functiile PHP pentru lucrul cu MySQL
Functie Returneaza Actiune
mysql_connect([string int Deschide o conexiune la server
hostname[:port][:/path/to/
socket]] [, string
username] [, string
password])
mysql_pconnect([string int Deschide o conexiune persistenta
hostname[:port][:/path/ la serverul MySQL
to/socket]] [, string
username] [, string
password])
mysql_close([int link_ int Inchide o conexiune
identifier])
mysql_select_db(string int Selecteaza o baza de date MySQL
database_name [, int
link_identifier])
mysql_create_db(string int Creaza o baza de date
database_name [, int
link_identifier])
mysql_drop_db(string int Sterge o baza de date
database_name [, int
link_identifier])
mysql_query(string query int Trimite o interogare SQL
[, int link_identifier])
mysql_db_query(string int Trimite o interogare SQL
database_name, string
query [, int link_
identifier])
mysql_list_dbs([int int Lista bazelor de date de pe server
link_identifier])
mysql_list_tables(string int Lista tabelelor dintr-o baza de date
database_name [, int
link_identifier])
mysql_list_fields(string int Afiseaza campurile rezultat
database_name, string
table_name [, int link_
identifier])
mysql_error([int link_ string Afiseaza mesajul de eroare precedent
identifier])
mysql_errno([int link_ int Afiseaza numarul mesajului de eroare
identifier]) de la operatia precedenta
mysql_affected_rows([int int Preia numarul de inregistrari
link_identifier]) afectate de operatia precedenta
mysql_insert_id([int link_ int Preia auto_incrementul precedentei
identifier]) comenzi INSERT
mysql_result(int result, int Preia rezultatele interogarii
int row [, mixed field])
mysql_num_rows(int result) int Preia numarul inregistrarilor din rezultat
mysql_num_fields(int result)int Preia numarul campurilor din rezultat
mysql_fetch_row(int result) tablou Preia cate un rand din tabloul rezultat
mysql_fetch_object(int obiect Preia un rand ca obiect
result [, int result_type])
mysql_fetch_array(int tablou Preia un rand ca tablou
result [, int result_type])
mysql_data_seek(int result, int Muta pointerul intern al rezultatului
int row_number)
mysql_fetch_lengths(int tablou Preia marimea maxima a datelor
result) din fiecare camp din rezultat
mysql_fetch_field(int obiect Preia informatii despre campuri
result [, int field_offset])
mysql_field_seek(int result, int Muta pointerul rezultatului la un offset
int field_offset)
mysql_field_name(int string Preia numele campului specificat
result, int field_index)
mysql_field_table(int string Preia numele tabelei din care e campul
result, int field_offset)
mysql_field_len(int int Preia marimea acelui camp
result, int field_offet)
mysql_field_type(int string Preia tipul acelui camp
result, int field_offset)
mysql_field_flags(int string Preia flag-ul acelui camp
result, int field_offset)
mysql_free_result(int int Elibereaza memoria de rezultat
result)
|
|