Thứ Hai, 29 tháng 7, 2013

Một số kỹ thuật thông dụng trong MySQL

1. Sử dụng Regx trong truy vấn
Tìm ra tất cả các nhân viên có lastName bắt đầu bằng chữ M, B hoặc T
SELECT lastname,firstname
FROM employees
WHERE lastname REGEXP  '^(M|B|T)'
2. Sử dụng LIMIT
Để lấy ngẫu nhiên một dòng:
SELECT * FROM table  ORDER BY RAND()  LIMIT 1
lấy ngẫu nhiên n dòng:
SELECT * FROM table  ORDER BY RAND()  LIMIT n
Cách trên giải quyết tốt trên những bảng dữ liệu có kích cở nhỏ. Với những bảng lớn thì nó sẽ cho kết quả chậm do phải sắp xếp lại toàn bộ bảng rồi sau đó mới tiến hành lấy ngẫu nhiên. Để giải quyết vấn đề này, chúng ta giải quyết như sau:
·  Trước tiên, lấy ngẫu nhiên ID của một cột. Cột này nên là khóa chính và giá trị tăng tuần tự.
·   Sau đó, lấy ra các dòng dữ liệu dựa trên ID mà chúng ta đã chọn
SET @ID = FLOOR(RAND( )* N) + 1;
 SELECT *  FROM table  WHERE ID >= @ID LIMIT 1
Phân trang
SELECT *
FROM table_name
LIMIT page, limit
page: trang hiện tại
limit: số dòng hiển thị trên một trang

Regular Expressions in Javascript

Tham khảo tại:
http://www.w3schools.com/jsref/jsref_obj_regexp.asp
http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/
ví dụ:
yyyy-mm-dd:
/^(\d{4})-(\d{1,2})-(\d{1,2})$/
file đuôi .wav :
/(\.wav)$/
áp dụng:
re = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (frm.date.value != '' && !frm.date.value.match(re)) {
alert("Invalid date format: " + frm.date.value);
form.date.focus();
return false;
}

Thks & rgds!

Javascript - Chỉ cho phép nhập số vào textbox

Javascript code:
function isNumberKey(evt)
    {
       var charCode = (evt.which) ? evt.which : event.keyCode;
       if(charCode == 59 || charCode == 46)
        return true;
       if (charCode > 31 && (charCode < 48 || charCode > 57))
          return false;
       return true;
    }
HTML code:

Jquery - chọn tất cả các dòng trong một bảng

sử dụng Jquey để chọn tất cả các dòng trong bảng


 
 


 
ID Name

kết quả:
Xoá các dòng đã chọn
function del() {
  var elLength = document.frm.elements.length;
  var flag = false;
  for ( var i = 0; i < elLength; i++) {
   var type = frm.elements[i].type;
   var name = frm.elements[i].name;
   if (type == "checkbox" && frm.elements[i].checked && name == 'items') {
    flag = true;
    break;
   }
  }
  if (!flag) {
   alert("You not select any record!");
   return false;
  } else {
   var r = confirm("Are you sure delete records?");
   if (!r)
    return false;
   else
    return true;
  }
 }
HTML code:

Ở phía server xử lý là:
String a[] = request.getParameterValues("items"); // lấy về một mảng  id của các đối tượng
  if (a != null)
   dao.delete(a); // hàm xoá nhiều bản ghi ở lớp DAO

Ajax lấy về json data

Trang html






 
phía server xử lý trang dc gọi trong ajax sv.html là:
StudentDAO dao = new StudentDAO();
// lop thao tac voi bang sinh vien
String json = dao.getJson(int id)
// ham getJson(id) lay ve chuoi json data cua sinh vien co id dc truyen vao
PrintWriter out= response.getWriter();  
JSONObject json = JSONObject.fromObject(js);
out.print(json);
out.flush();
out.close();

Thứ Năm, 11 tháng 7, 2013

sử dụng JSON

kiến thức cơ bản về JSON:
Tiếng việt: http://www.qhonline.info/forum/showthread.php/4373-json-la-gi-json-lam-viec-nhu-the-nao-phan-1
w3school: http://www.w3schools.com/json/

Để sử dụng JSON trong java có thể dùng nhiều lib khác nhau như json.simple hoặc net.sf.json.
mình dùng cái thứ 2 net.sf.json. link : http://json-lib.sourceforge.net/
web hỗ trợ view json data online: http://www.jsoneditoronline.org/
ví dụ json data sau:
{
    "id": "s01",
    "name": "student1",
    "marks": [
        {
            "subject": "Toán",
            "mark": "9"
        },
        {
            "subject": "Hoá",
            "mark": "10"
        }
    ]
}
Parsing json data trên trong java:
String jsonStr = "{\"id\":\"s01\",\"name\":\"student1\",\"marks\":[{\"subject\":\"Toán\",\"mark\":\"9\"},{\"subject\":\"Hoá\",\"mark\":\"10\"}]}";
   JSONObject student = JSONObject.fromObject(jsonStr);
   System.out.println("ID: " + student.getString("id"));
   System.out.println("Name: " + student.getString("name"));
   System.out.println("Marks: ");
   JSONArray marks = student.getJSONArray("marks");
   Iterator it = marks.iterator();
   while(it.hasNext()) {
    JSONObject m = (JSONObject)it.next();
    System.out.println("subject: " + m.getString("subject"));
    System.out.println("mark: " + m.getString("mark"));
   }
Tạo một json data trong java:
JSONObject json = new JSONObject();
  json.put("id", "s01");
  json.put("name", "student1");
  System.out.println(json);
Nếu hiển thị trên web thì sử dụng javascript để phân tích json là tốt nhất. Javascript xem một json data là một object, và trong object đó có sẽ có nhiều object khác được định nghĩa.
 function start(temp){
  document.write(createTemplate(temp));
 }
 function doClick(id,obj) {
  getJson(id,obj); 
  $(obj).attr('onclick','expand(this)');
  $(obj).attr('src','images/minus.jpg');  
 
 }
 function expand(obj)
 {  
  if ($(obj).parent().find("ul").length>0) {   
   if($(obj).hasClass("expanded")) {
    $(obj).parent().children("ul").show();
    $(obj).removeClass("expanded");
    $(obj).attr('src','images/minus.jpg');
   } 
   else {
    $(obj).parent().children("ul").hide();
    $(obj).addClass("expanded");
    $(obj).attr('src','images/plus.png');
   }
  }
 }

 function createTemplate(temp) {
  var html;
  html = "
  • id: " + temp.id + ""; for ( var act in temp.actions) { html += "
    • action: " + temp.actions[act].action + "
    • "; html += "
    • type: "+ temp.actions[act].type +"
    • "; html += "
    • params
        "; for(var pa in temp.actions[act].params) { html += "
      • name: " + temp.actions[act].params[pa].name + "
      • "; html += "
      • data: " + temp.actions[act].params[pa].data + "
      • "; } html += "
    • "; } for ( var lnk in temp.links) { var x = temp.links[lnk].linkId; if(temp.links[lnk].hasOwnProperty("params") && temp.links[lnk].params.length > 0){ html += "
    • " + temp.links[lnk].params[0].name + ": " + temp.links[lnk].params[0].data; html += "
    •  link: " + x + "
    • "; } else{ html += "
    •  link: " + x + "
    • "; } } html += "
    "; return html; } function setId(id1,id2) { if(id1 == id2) return "none"; else return id2; }