Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

[PHP] - Định hướng tạo chức năng "search" trong PHP

Chủ đề thuộc danh mục 'Hỏi đáp - Thảo luận về web' được đăng bởi Buu Tran, 12/1/16.

Lượt xem: 6,272

  1. Buu Tran Mới đăng kí

    Chào các bạn, mình muốn tìm hiểu để viết chức năng search bằng PHP thuần và MySQL, mong các bạn định hướng cách viết giúp mình, nếu ngại có thể inbox cho mình, cảm ơn các bạn rất nhiều.

    ...
  2. trungphucqndk

    trungphucqndk Mới đăng kí

    Có 2 kiểu để hiển thị search:
    1. Dựa vào Google Custom Search: Cái này dễ làm.
    2. Dựa vào truy vấn Mysql và PHP: Phải biết chút chút mới làm được, Web của bạn còn nhỏ hoặc không chuyên về tìm kiếm thì làm bình thường. Nếu Web lớn và dữ liệu nhiều bạn có thể tìm hiểu thêm Sphinx, có thể tìm hiểu ở Yabeow.com hoặc search google.
    Còn cách viết thì bạn biết Mysql cơ bản đã,
    Đẩu tiên kết nối mysql trước.
    $sql = mysqli_connect('ip host', 'name', 'mật khẩu', 'database name');
    mysqli_query($sql, "SET NAMES 'utf8'");
    GET từ khóa tìm kiếm khi nhấn Submit:
    $tukhoa = mysqli_real_escape_string($sql, $_GET['textform']);
    "textform là name của search text, mysqli_real_escape_string() để chống hack bằng cú pháp sql."
    Sử dụng hàm SELECT FROM "" WHERE "" LIKE "" để lấy dữ liệu từ bảng ra. Ví dụ:
    if (!isset($_GET['type']))
    $query = "SELECT SQL_CALC_FOUND_ROWS * FROM timkiemtailieu WHERE name LIKE ('%$tukhoa%')";
    Chuyển đổi thành array để echo dữ liệu cần:
    ketqua = mysqli_query($sql, $query);
    $soketqua = mysqli_fetch_array(mysqli_query($sql, "SELECT FOUND_ROWS()"));
    Sau đó echo ra:
    while ($ketqua2 = mysqli_fetch_array($ketqua)) echo ......................

    1 phần quan trọng nữa là phân trang nếu hiển thị nhiều kết quả, cái này bạn tìm hiểu trên mạng.
    Ah, còn 1 cái nữa là lọc dữ liệu(Filter) nếu chuyên về Search hay trang về sản phẩm. Cái này mình không rành.

    Mình cũng mới học PHP vs MYSQL nên chưa rành lắm, bạn dùng tham khảo thôi nhé.

Ủng hộ diễn đàn