Chọn ngẫu nhiên trong Mysql

Cách đơn giản nhất để lựa chọn những bản ghi(record) 1 cách ngẫu nhiên trong 1 bảng(table) trong Mysql là sử dụng “ORDER BY RAND()” trong câu truy vấn.

Có 1 số giải pháp như sau:

1. Giải pháp 1:

[SQL]
SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;
Read the rest of this entry »

Share This Post

Drupal

webware_winner DrupalGần đây drupal đã được rất nhiều công ty và tổ chức để ý đến để sử dụng làm công cụ phát triển các ứng dụng lớn trên internet. Ở Việt Nam tiêu biểu là tầm tay .vn đã xây dựng mạng xã hội dựa trên nền Drupal và đạt được sự hiểu quả nhất định.

Ngày 21/4/2008 vừa qua tạp chí CNET đã trao giải thường “CNET Webware 100 Award” của năm 2008 giành cho những website 2.0, dịch vụ và ứng dụng trên web.
Read the rest of this entry »

Share This Post

Blitz Templates

Một template engine nhanh và mạnh cho những dữ án lớn với 3 đặc điểm chính:

- 1 template mạnh được viết trên C và được dịch thành 1 phần mở rộng của PHP
- có cấu trúc đơn giản và rõ ràng
- làm mã nguồn trở nên dễ đọc dễ support ngay cả với những dự án có login phức tạp
Read the rest of this entry »

Share This Post

Convert Joomla 1.0 to Drupal 6

 joomla2drupal, Chỉ mới test với Joomla! 1 và Drupal 6:
- Chỉ chạy trên bản Drupal cài đặt mới, chưa có module nào ngoài các module đi kèm trong bản cài
- Giữ toàn bộ bài viết (kể cả chưa publish), thành viên. ID của bài viết giữ nguyên.
- Chỉ chuyển các bình luận không bị đánh dấu spam
- Chuyển toàn bộ các section category vào một Vocabulary mới, section -> term, category -> sub term.
- Hỗ trợ các tính năng multi/cross section/category của bài viết (chỉ có tại TTCN)
- Support only Jom Comment
- Support mosimage
- Support SOBI2.

joomla2drupal phát triển từ http://joomla2drupal.teodorani.com/ thì ko support D6
joomla2drupal phát triển từ ttp://www.borber.com/en/projects/wp2drupal  chỉ support D4.7.

Module này do bạn jcisio viết, các bạn có thể vào SVN  http://svn.jcisio.net/wsvn/TTCN/joomla2drupal/
và download tại http://svn.jcisio.net/wsvn/TTCN/joomla2drupal/?op=dl&rev=0&isdir=1

Share This Post

[Ebooks] PHP in Practice và PHP Advance.

Đây là hai Ebooks mà mình thấy khá hay, mọi người down về đọc xem sao :D

http://y3u.li/files/PHP.5.in.practice.zip
http://y3u.li/files/PHP5%20Advance.zip

Share This Post

Nên dùng Template Engine nào?

templateengine Nên dùng Template Engine nào?

Gần đây có nhiều tranh cãi về việc dùng Template Engine này cho việc phát triển Web trên PHP. Ảnh trên là chụp từ ddth.com. Có rất nhiều tranh luận khác nhau và mình thấy là ai cũng có ý riêng của mình.
Read the rest of this entry »

Share This Post

Thử hack nhé

Cái này 1 người bạn đã gửi cho mình thử từ năm 2006, nay mình dựng lại cho mọi người vào vui chơi tí nhé.

Tập hack tí nhé, hãy click vào link dưới đây để bắt đầu:

http://www.phpvn.info/hack

Chú ý: phân tích HTML, decode JS, CSS ^_^

Share This Post

Các hàm validate sử dụng RegExp

Kiểm tra là 1 xâu là chỉ gồm chữ hoặc số?function isAlphabetNumber($st){
if (ereg('^[a-z|A-Z|0-9]+$', $st)){
return 1;
}else{
return 0;
}
}

Kiểm tra 1 xâu có phải là dạng URL hay không?

function isUrl($url, $maxlen = 256){
if (strlen($url) > $maxlen) {
return 0;
}
if(ereg("(h{0,1}t{0,2}p{0,1}:{0,1}/{0,1}/{0,1})(w{0,3}\.{0,1})([aA-zZ]+)?\.{1}([aA-zZ]{2,3})(.*)", $url)){
return 1;
}
return 0;
}

Read the rest of this entry »

Share This Post

Xoá comment = Regular Expression

Xoá HTML Comment


preg_replace('/<!--(.|\s)*?-->/', '', $buffer);

Xoá PHP Comment


$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);

Share This Post

Tự viết hàm nén file gzip

<?php
function gzip($src, $level = 5, $dst = false){
if($dst == false){
$dst = $src.”.gz”;
}
if(file_exists($src)){
$filesize = filesize($src);
$src_handle = fopen($src, “r”);
if(!file_exists($dst)){
$dst_handle = gzopen($dst, “w$level”);
while(!feof($src_handle)){
$chunk = fread($src_handle, 2048);
gzwrite($dst_handle, $chunk);
}
fclose($src_handle);
gzclose($dst_handle);
return true;
} else {
error_log(”$dst already exists”);
}
} else {
error_log(”$src doesn’t exist”);
}
return false;
}
?>

Share This Post

Giải quyết bài SUDOKU sử dụng PHP

Dưới đây là các hàm xử lý giải quyết bài toán SUDOKU
Sau khi thêm giao diện để người dùng nhập dữ liệu đầu vào (input) ta có một trang ví dụ: http://www.g8soft.com/~anhtt/antiquizland.php

(Thank to Anhtt nhé ^_^)
<?php
// Đặt thời gian chạy tối đa là 300s
set_time_limit(300);

define(MAX,9); // điền các số từ 1..9
define(NUM,3); // kích thước ô vuông nhỏ 9=3×3

$found = false; // đã tìm thấy kết quả hay chưa?

$R = array(); // mảng lưu trữ kết quả điền được

/**
section: MAIN PROGRAM
**/

/**
section: FUNCTIONS
**/

// Functions

function sudoku_run() {

Read the rest of this entry »

Share This Post

Chuyển đổi tiếng Việt có dấu sang không dấu

Thực ra điều này có vẻ đơn giản bằng vệc bạn chỉ việc tạo 1 mảng các kí tự có dấu và ko dấu tương ứng rồi replace chúng. Tuy nhiên trong trường hợp tiếng Việt được viết dưới dạng HTML Iso8859:

Iso8859: Xin được làm quen với bạn

Đoạn trên thì dù để encoding ở dạng utf8 hay iso thì đều hiển thị đươc câu “Xin được làm quen với bạn“.

Hàm dưới đây mình viết sẽ sử lý được cả 2 dạng tiếng việt viết là utf8 và iso8859. Thuật toán như sau:

- Chuyển dạng utf8 về dạng iso8859 như trên

- Lập 1 mảng rồi thay thế

Chi tiết như sau:

Read the rest of this entry »

Share This Post

Một đoạn code khá hay

“Bóc tem” cho category này bằng một đoạn code thú vị mà mình mới để ý thấy sau 4 năm làm việc với PHP *_*

for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>

Kết quả ra là:

2

chứ ko phải

0
1
3
4

Xem ra khá thú vị phải không nào?

^_^

Share This Post