Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

PHP va Mysql

PHP và Mysql phần 2 

Thời gian gởi : 13:03 21-05-2005

Phần trước chúng ta đã biết lấy thông tin db , table . Giờ mình lấy field của table :)

================
PHP và Mysql phần 2
================
Phần trước chúng ta đã biết lấy thông tin db , table . Giờ mình lấy field của table :)

Code :

$fields = mysql_list_fields("$db", "$tab", $link); // $db là tên csdl , $tab là tên table , $link là kết qủa kết nối ( xem phần 01 )

$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++)
{
    echo mysql_field_name($fields, $i) . "
"; // hiển thị thông tin field có được
}

Ngoài ra các bạn có thể nghiên cứu những hàm khác trong php như mysql_field_flags , mysql_field_len , mysql_field_type .

Như vậy  kết hợp với những cái khác liên quan thì ... chắc các bạn làm 1 cai như phpmyadmin ... :)

  Lấy thông tin chung từ 2 table ở cùng 1 DB

 

Thời gian gởi : 22:22 11-08-2005

Trong bài viết này tôi sẽ trình bày cách lấy thông tin chung từ 2 table ở cùng 1 database (Đối với MySQL), hiểu được vấn đề này bạn sẽ tăng thêm được một kinh nghiệm về cách lấy dữ liệu.

Giả sử bạn có 1 table tên là users, trong đó bao gồm các fileds: id, name, password, email. Và 1 table tên là users_info, trong đó bao gồm các fields: user_id, user_group, user_address, user_phone.

* Các dòng của table users và table users_info trùng nhau. Tức là bên table users có 2 dòng thì ở table users_info cũng có 2 dòng.

Trong table users có:

id | name | password | email
1 | lyhuuloi | 123456 | [email protected]
2 | loihuuly | 654321 | [email protected]



Trong table users_info có:

user_id | user_group | user_address | user_phone
1 | admin | soctrang | 079 123 456
2 | minad | trangsoc | 970 321 654



* Bây giờ chúng ta sẽ tiến hành lấy thông tin của 2 field (trường): user_address, user_phone trong table users_info. Câu lệnh để lấy thông tin của user có id bằng 1 trong table users và table users_info:

SELECT U.*, UI.* FROM users AS U, users_info AS UI WHERE U.id='1' AND U.id = UI.user_id



Đầu tiên ta sẽ đặt tên khác cho table usersUusers_infoUI bằng cách sử dụng lệnh AS, đặt tên khác cho nó mục đích là nhằm giảm bớt sự phức tạp của câu lệnh.

Tiếp đến kiểm tra lại lệnh SELECT, điền tên field cần lấy thông tin (Dùng "*" để lấy tất cả các fields có trong table). Trong câu lệnh trên thay vì ta sẽ viết là "SELECT users.*, users_info.UI", nhưng ở phần sau (Sau lệnh FORM) đã đặt tên lại cho 2 tables này nên sẽ viết thành "SELECT U.*, UI.*".

Cuối cùng là lệnh WHERE nhằm xác định lại id của người cần lấy, ở đây lấy user có id bằng 1 nên sẽ viết là "U.id='1'". Tiếp tục viết "U.id=UI.user_id" để tìm kiếm xem trong UI.user_id có U.id nào bằng 1 không (vì ta đặt U.id=1 trước đó rồi còn gì) và dùng "AND" để kết hợp 2 đứa nó lại - Nếu có thì sẽ trả về thông tin của 2 field user_addressuser_phone lần lượt là: soctrang và 079 123 456.

Sử dụng CSDL MySQL Phần 1

Thời gian gởi : 05:51 14-08-2005

CSDL là 1 phần quan trọng không thể thể thiếu được trong các ứng dụng web chuyên nghiệp. MySQL từ lâu đã là hệ CSDL được dùng phổ biến nhất với PHP vì tính gọn nhẹ, nhanh, miễn phí và được PHP hỗ trợ sẵn. Trong bài viết này chúng ta sẽ tìm hiểu cách kết nối vào CSDL MySQL, truy cập và lưu trữ dữ liệu với PHP.

KẾT NỐI VÀO MYSQL SERVER

PHP cung cấp hàm mysql_connect để kết nối vèo MySQL server. Cú pháp của hàm này như sau:

mysql_connect($server_address, $username, $password)

$server_address là địa chỉ của MySQL server, có thể là domain name hoặc IP address, các ví dụ trong bài viết này sẽ dùng giá trị "localhost" cho $server_address.
$username là tên account dùng để login vào MySQL server, các ví dụ trong bài viết sẽ sử dụng giá trị "root" cho $username.
$password là mật mã để kết nối vào MySQL server, các ví dụ trong bài viết sẽ sử dụng chuỗi rỗng "" làm mật mã.
Hàm mysql_connect sẽ trả về 1 kết nối đến MySQL server nếu như quá trình kết nối thành công, hoặc trả về giá trị FALSE nếu như kết nối không được.

Để đóng kết nối tới MySQL server, PHP cung cấp hàm mysql_close. Đoạn mã sau ví dụ quá trình kết nối vào MySQL server và đóng kết nối.

<?php $SERVER = "localhost"; $USERNAME = "root"; $PASSWORD = "";   $conn = mysql_connect($SERVER, $USERNAME, $PASSWORD); if( !$conn){       //Không kết nối được, thoát ra và báo lỗi       die("không nết nối được vào MySQL server"); }//end if   //đóng kết nối mysql_close($conn); ?>
Sử dụng CSDL MySQL Phần 2

Thời gian gởi : 05:53 14-08-2005

CHỌN CSDL ĐỂ LÀM VIỆC
Sau khi connet vào MySQL server, thao tác tiếp theo là chọn CSDL để làm việc. PHP cung cấp cho ta hàm mysql_select_db để làm việc này, cú pháp 

mysql_select_db($db_name[, $conn])

Với $db_name là tên CSDL cần chọn, $conn là kết nối được thực hiện qua lệnh mysql_connect. Các ví dụ trong bài viết này sẽ sử dụng CSDL có tên là test:

<?php $SERVER = "localhost"; $USERNAME = "root"; $PASSWORD = ""; $DBNAME = "test";   $conn = mysql_connect($SERVER, $USERNAME, $PASSWORD); if( !$conn){       //Không kết nối được, thoát ra và báo lỗi       die("không nết nối được vào MySQL server"); }//end if   //chọn CSDL để làm việc mysql_select_db($DBNAME, $conn);   //đóng kết nối mysql_close($conn); ?>
Sử dụng CSDL MySQL Phần 3

Thời gian gởi : 05:59 14-08-2005

Chúng ta sẽ truy vấn câu lệnh SELECT và lấy kết quả trả về. Việc lấy thông tin và sắp xếp chúng hết sức đơn giản và hiệu quả.

THỰC THI 1 CÂU LỆNH SELECT VÀ LẤY KẾT QUẢ TRẢ VỀ

PHP cung cấp cho ta 3 hàm hữu dụng để thực hiện công việc này:

$result = mysql_query($sql, $conn): thực hiện câu lệnh SQL được cung cấp qua tham số $sql và trả về 1 kết quả kiểu $result (hàm này trả về FALSE nếu như câu lệnh thực hiện không thành công). mysql_num_rows($result): hàm này trả về số lượng row lấy được qua câu lệnh SELECT (được thực thi bởi hàm mysql_query) trước đó. $row = mysql_fetch_row($result), $row = mysql_fetch_assoc($result): trả về dòng kết quả hiện thời của câu lệnh select và chuyển con trỏ tới dòng tiếp theo (như vậy lệnh gọi mysql_fetch_row hoặc mysql_fetch_assoc tiếp đó sẽ trả về dòng tiếp theo); hoặc giá trị FALSE nếu như không còn dòng nào để trả về nữa. Kết quả trả về từ 2 hàm này là 1 array. mysql_error($conn): trả về thông báo lỗi của MySQL server nếu như một lệnh trước đó có lỗi.

Để hiểu rõ hơn công dụng của các hàm trên, đồng thời phân biệt sự khác nhau giữa 2 hàm mysql_fetch_row và mysql_fetch_assoc, ta cung xem xét các ví dụ sau.

Các ví dụ của ta sẽ sử dụng table có tên là member.

Ví dụ 1: dùng mysql_fetch_row()

<?php $SERVER = "localhost"; $USERNAME = "root"; $PASSWORD = ""; $DBNAME = "test";   $conn = mysql_connect($SERVER, $USERNAME, $PASSWORD); if( !$conn){       //Không kết nối được, thoát ra và báo lỗi       die("không nết nối được vào MySQL server:
".mysql_error($conn)); }//end if   //chọn CSDL để làm việc mysql_select_db($DBNAME, $conn)       or die("Không thể chọn được CSDL:
 ".mysql_error($conn));   $sql = "SELECT * FROM member"; $result = mysql_query($sql, $conn); if( !$result)       die("Không thể thực hiện được câu lệnh SQL:
".mysql_error($conn));       echo"Số lượng row tìm được: ".mysql_num_rows($result)."

";   while($row = mysql_fetch_row($result)){       echo"Username = ".$row[0]."

";       echo"Password = ".$row[1]."

"; }//end while //nên luôn giải phóng bộ nhớ
mysql_free_result($result);   //đóng kết nối mysql_close($conn);   Hàm mysql_fetch_row() sẽ trả về 1 array mà phần tử thứ [0]
sẽ tương ứng với cột đầu tiên của table, phần tử thứ [1] sẽ
 tương ứng với cột thứ hai của table...
Chương trình trên sẽ in ra ra 4 dòng:
Username = abc Password = 123 Username = def Password = 456

Ví dụ 2: dùng mysql_fetch_assoc()

<?php $SERVER = "localhost"; $USERNAME = "root"; $PASSWORD = ""; $DBNAME = "test";   $conn = mysql_connect($SERVER, $USERNAME, $PASSWORD); if( !$conn){       //Không kết nối được, thoát ra và báo lỗi die("không nết nối được vào MySQL server:
 "
.mysql_error($conn)); }//end if   //chọn CSDL để làm việc mysql_select_db($DBNAME, $conn) or die("Không thể chọn được CSDL: ".mysql_error($conn));   $sql = "SELECT * FROM member"; $result = mysql_query($sql, $conn); if( !$result) die("Không thể thực hiện được câu lệnh SQL:
"
.mysql_error($conn));       echo"Số lượng row tìm được: ".mysql_num_rows($result)."

";   while($row = mysql_fetch_assoc($result)){       echo"Username = ".$row['username']."

";       echo"Password = ".$row['password']."

"; }//end while //nên luôn giải phóng bộ nhớ
mysql_free_result($result);   //đóng kết nối mysql_close($conn);   ?> Hàm mysql_fetch_assoc() sẽ trả về 1 array mà các phần tử
sẽ được truy cập qua tên, với tên được lấy từ tên các cột của
 table. Chương trình ví dụ 2 cũng sẽ in ra ra 4 dòng:
Username = abc Password = 123 Username = def Password = 456

Sử dụng CSDL MYSQL Phần 4

( 421 lượt xem )

Thời gian gởi : 06:11 14-08-2005

Phần trước chúng ta đã biết cách lấy thông tin, phần này qua bước cập nhật thông tin.

THỰC THI 1 CÂU LỆNH UPDATE, INSERT hoặc DELETE

Hàm mysql_query cũng được dùng để thực thi các câu lệnh DELETE, INSERT hoặc UPDATE, nhưng lúc này hàm sẽ trả về TRUE nếu câu lệnh thực hiện thành công và FALSE trong trường hợp ngược lại. Để lấy số lượng các row được chèn với lệnh INSERT hoặc bị thay đổi bởi lệnh UPDATE, PHP cung cấp cho ta hàm mysql_affected_rows. Ta hãy xem ví dụ sau:

<?php $SERVER = "localhost"; $USERNAME = "root"; $PASSWORD = ""; $DBNAME = "test";   $conn = mysql_connect($SERVER, $USERNAME, $PASSWORD); if( !$conn){       //Không kết nối được, thoát ra và báo lỗi die("không nết nối được vào MySQL server:
 ".mysql_error($conn)); }//end if   //chọn CSDL để làm việc mysql_select_db($DBNAME, $conn) or die("Không thể chọn được CSDL: ".mysql_error($conn));   $sql = "INSERT INTO member (username, password)
VALUES ('xyz', '000')"; $result = mysql_query($sql, $conn); //chèn thêm
1 dòng vào table
if( !$result) die("Không thể thực hiện được câu lệnh SQL:
 "
.mysql_error($conn));       echo"Số lượng row được chèn: "
.mysql_affected_rows($conn)."

"; // mysql_affected_rows sẽ trả về 1   $sql = "UPDATE member SET password='111' WHERE username='xyz'"; $result = mysql_query($sql, $conn);
//đổi password của accoutn xyz if( !$result) die("Không thể thực hiện được câu lệnh SQL:
 "
.mysql_error($conn));       echo"Số lượng row được thay đổi:
"
.mysql_affected_rows($conn)."

"; //mysql_affected_rows sẽ trả về 1   $sql = "DELETE FROM member"; $result = mysql_query($sql, $conn);
//xoá hết tất cả các account if( !$result) die("Không thể thực hiện được câu lệnh SQL:
"
.mysql_error($conn));       echo"Số lượng row được xoá:
 "
.mysql_affected_rows($conn)."

"; //mysql_affected_rows sẽ trả về 3   //đóng kết nối mysql_close($conn); ?>

 Một số cách xử lý chuỗi

 

Thời gian gởi : 09:50 22-06-2005

Bài viết sẽ hướng dẫn bạn một số cách xử lý chuỗi như: ký tự hoa -> thường, thường -> hoa, đếm kí tự nào đó đã lặp lại bao nhiêu lần, trích phần văn bản trước hay sau kí tự nào đó.

Bài viết sẽ hướng dẫn bạn một số cách xử lý chuỗi như: ký tự hoa -> thường, thường -> hoa, đếm kí tự nào đó đã lặp lại bao nhiêu lần, trích phần văn bản trước hay sau kí tự nào đó.

1. Cách chuyển đổi các chữ thường trong 1 chuỗi thành chữ hoa và ngược lại

Thường -> Hoa (Dùng strtolower()):

$str = "I LOVE YOU SO MUCH";
$str = strtolower($str);
echo $str; // I love you so much


Hoa -> Thường (Dùng strtoupper()):

$str = "I love you so much";
$str = strtoupper($str);
echo $str; // I LOVE YOU SO MUCH



2. Đếm kí tự nào đó đã lặp lại bao nhiêu lần

<?php

$data = "I love you.";

$result = count_chars($data, 0);

for ($i=0; $i < count($result); $i++) {
if ($result[$i] != 0)
echo "Có 4 $result[$i] ký t&#7921; "" , chr($i) , "" trong chu&#7895;i truy v&#7845;n.
";
}

/* K&#7871;t qu&#7843;:
Có 2 ký t&#7921; " " trong chu&#7895;i truy v&#7845;n.
Có 1 ký t&#7921; "." trong chu&#7895;i truy v&#7845;n.
Có 1 ký t&#7921; "i" trong chu&#7895;i truy v&#7845;n.
Có 1 ký t&#7921; "l" trong chu&#7895;i truy v&#7845;n.
Có 2 ký t&#7921; "o" trong chu&#7895;i truy v&#7845;n.
Có 1 ký t&#7921; "v" trong chu&#7895;i truy v&#7845;n.
Có 1 ký t&#7921; "e" trong chu&#7895;i truy v&#7845;n.
Có 1 ký t&#7921; "u" trong chu&#7895;i truy v&#7845;n.
*/

?>



3. trích phần văn bản trước hay sau kí tự nào đó

Bạn có thể dùng split() để lấy chuỗi trước và sau @, và dùng list() để liệt kê chúng ta thành danh sách:

$email = "[email protected]";

list($name, $domain) = split("@", $email);

echo $name; // Will be output: lyhuuloi_vn

echo $domain; // Will be output: @yahoo.com

 

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: #hai