Php
PHP - ce este PHP?, sintaxa de baza PHP, lucrul cu formulare in PHPIntroducereCe este PHP?
|
|
<html>
<body>
<?php
for ($i=1; $i<=5; $i++)
?>
</body>
</html>
Parcurge in bucla un array returnat de un parametru. La fiecare parcurgere, valoarea elementului curent este asignata variabilei $value iar pointerul din array este incrementat – astfel la urmatoarea parcurgere, se va retine urmatorul element.
foreach (array as value)
Sau
foreach (array as key => value)
Exemplu
<html>
<body>
<?php
$arr=array('one', 'two', 'three');
foreach ($arr as $value)
?>
</body>
</html>
Cand se trateaza formulare HTML si cod PHP este important de retinut ca orice element al formularului din pagina HTML va fi disponibil in codul PHP.
Exemplu:
<html>
<body>
<form action='welcome.php' method='POST'>
Enter your name: <input type='text' name='name' />
Enter your age: <input type='text' name='age' />
<input type='submit' />
</form>
</body>
</html>
Avem doua campuri de imput si un buton de Submit. Cand utilizatorul introduce date si apasa butonul este apelat fisierul 'welcome.php', care arata astfel:
<html>
<body>
Welcome <?php echo $_POST['name']; ?>. <br />
You are <?php echo $_POST['age']; ?> years old!
</body>
</html>
Variabilele $_POST['name'] si $_POST['age'] sunt setate automat de PHP.
Administrarea se face prin CPanel si cu PHPMyAdmin se poate lucra direct pe baza de date.
E indicat sa folosim PHPMyAdmin pentru ca este o interfata excelenta pentru administrarea bazei de date MySql.
Editati un fisier cu continutul urmator:
<?php
echo “Hello, World!”;
?>
salvati fisierul ca hello.php, uploadati-l pe server in directorul propriu si rulati-l. Functioneaza?
Conectarea la baza de
date:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die ('Error connecting to mysql');
$dbname = 'companie444AA';
mysql_select_db($dbname);
?>
(!!!) Segmentul de mai sus
poate fi salvat ca opendb.php si il vom include de fiecare data cand avem
nevoie de o interogare.
Cand terminati interogarea
unei baze de date folositi
mysql_close();
Se foloseste functia mysql_query()
<?php
include 'opendb.php';
$query = 'CREATE DATABASE
companie445AA';
$result = mysql_query($query);
include 'closedb.php';
?>
Pentru a crea tabele in
baza de date se face un lucru similar cu crearea bazei de date. Se scrie o
interogare SQL care creaza tabela si apoi se executa cu functia mysql_query().
<?php
include 'config.php';
include 'opendb.php';
$query = 'CREATE DATABASE
companie445AA ';
$result = mysql_query($query);
mysql_select_db(' companie445AA ') or die('Cannot select database');
$query = 'CREATE TABLE contact( '.
'cid INT NOT NULL
AUTO_INCREMENT, '.
'cname VARCHAR(20) NOT
NULL, '.
'cemail VARCHAR(50) NOT
NULL, '.
'csubject VARCHAR(30) NOT
NULL, '.
'cmessage TEXT NOT NULL,
'.
'PRIMARY KEY(cid))';
$result = mysql_query($query);
include 'closedb.php';
?>
Ca si la crearea unei baze de date, este de preferat sa se foloseasca mysql_query() si sa se execute SQL DROP DATABASE in loc de mysql_drop_db().
<?php
include 'config.php';
include 'opendb.php';
// secventa de cod
$query = 'DROP DATABASE
companie445AA ';
$result = mysql_query($query);
// alta secventa de cod
include 'closedb.php';
?>
Acest lucru se face
folosind mysql_query() pentru a executa query-ul INSERT. Atentie, nu trebuie ca
query-ul folosit sa se incheie cu “;”. Iata un exemplu de inserare a unei noi
inregistrari intr-un tabel in baza de date. Se considera ca avem tabela user in
care vom adauga datele unui nou utilizator in baza de date companie445AA :
(exemplul presupune
crearea in prealabil in baza de date companie445AA a tabelei user cu 2 campuri
username si password)
<?php
include 'library/config.php';
include 'library/opendb.php';
mysql_select_db($companie445AA);
$query = 'INSERT INTO user ( user, password) VALUES ( '
user1_companie445AA ', PASSWORD('mypass'))';
mysql_query($query) or die('Error, insert query failed');
include 'closedb.php';
?>
In exemplul de mai sus mysql_query() a fost urmat de die(). Daca query-ul nu reuseste, atunci va fi emis un mesaj de eroare si executia scriptului este terminata. Se poate folosi die() cu orice functie care ar putea sa nu se execute cum trebuie. Se poate astfel asigura faptul ca programul nu isi continua executia dupa inregistrarea erorii.
PHP ofera o serie de
functii care in combinatie cu sintaxa SQL duc la obtinerea unor date dintr-o
baza de date.
Prima este mysql_fetch_object() care aduce ca rezultat un rand dintr-un tabel.
Iata un exemplu in care se
arata cum se extrag date dintr-un tabel cu 3 coloane: nume, subiect si mesaj.
<?php
include 'config.php';
include 'opendb.php';
$query = 'SELECT
name, subject, message FROM contact';
$result = mysql_query($query);
while($row =
mysql_fetch_object($result))
include 'closedb.php';
?>
Bucla while() returneaza date sub forma de randuri pana cand functia mysql_fetch_object() returneaza FALSE, adica nu mai exista date care sa fie returnate. Continutul randurilor este asignat variabilei $row iar valorile din row sunt afisate.
PHP mai ofera functiile mysql_fetch_array() si mysql_fetch_assoc() – care returneaza un rand ca pe un array asociativ:
<?php
include 'config.php';
include 'opendb.php';
$query = 'SELECT
name, subject, message FROM contact';
$result = mysql_query($query);
while($row =
mysql_fetch_assoc($result))
<br>' .
'Subject :
<br>' .
'Message :
<br><br>';
}
include 'closedb.php';
?>
Se poate folosi constanta MYSQL_NUM, ca un al doilea argument in mysql_fetch_array().
<?php
include 'config.php';
include 'opendb.php';
$query = 'SELECT
name, subject, message FROM contact';
$result = mysql_query($query);
while($row =
mysql_fetch_array($result, MYSQL_NUM))
<br>' .
'Subject :
<br>' .
'Message :
<br><br>';
}
include 'closedb.php';
?>
Folosirea lui MYSQL_NUM impreuna cu mysql_fetch_array() duce la acelasi rezultat ca si mysql_fetch_row().
Mai exista o modalitate de a obtine valori dintr-un rand. Se poate folosi list() pentru a asigna o lista de variabile intr-o operatie.
<?php
include 'config.php';
include 'opendb.php';
$query = 'SELECT
name, subject, message FROM contact';
$result = mysql_query($query);
while(list($name,$subject,$message)=
mysql_fetch_row($result))
include 'closedb.php';
?>
In exemplul de mai sus
list() asigneaza valorile din array-ul returnat de mysql_fetch_row() in variabilele
$name, $subject si $message.
Se mai poate face si astfel:
<?php
include 'config.php';
include 'opendb.php';
$query = 'SELECT
name, subject, message FROM contact';
$result = mysql_query($query);
while($row =
mysql_fetch_row($result))
include 'closedb.php';
?>
Probleme:
sa se creeze un fisier de tip “hello world” si sa se ruleze.
sa se creeze baza de date “companie” cu structura identica celei create in MsSQL Server.
sa se populeze baza de date creata (minim 2 linii de date)
sa se interogheze baza de date si sa se returneze si afiseze toate datele din tabela « departament »
Contact |- ia legatura cu noi -| | |
Adauga document |- pune-ti documente online -| | |
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| | |
Copyright © |- 2024 - Toate drepturile rezervate -| |
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
Documente online pe aceeasi tema | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||