Home > Backend Development > PHP Tutorial > PHP Mysql jQuery query and list box selection operation example explanation_php skills

PHP Mysql jQuery query and list box selection operation example explanation_php skills

WBOY
Release: 2016-05-16 20:06:12
Original
1127 people have browsed it

This article explains how to query mysql data through ajax, and display the returned data in the selection list, and then finally add the options to the selected selection through selection. It can be used in many backend management systems. The operation of the list box in this article relies on the jquery plug-in.

HTML

<form id="sel_form" action="post.php" method="post"> 
  <p><input type="text" name="keys" id="keys" value="输入姓名或手机号码" onclick="this.value=''" /> 
  <input type="button" id="searchOption" value="搜索" /> <span id="msg_ser"></span></p> 
  <div id="sel"> 
  <select name="liOption[]" id='liOption' multiple='multiple' size='8'> 
  </select> 
  </div> 
  <input type="submit" value="提 交" /> 
</form> 
Copy after login

Explanation, the HTML content is a form, which contains a query input box, a list box, and related buttons.

MYSQL data table structure

CREATE TABLE IF NOT EXISTS `t_mult` ( 
 `id` int(11) NOT NULL auto_increment, 
 `username` varchar(32) NOT NULL, 
 `phone` varchar(20) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
Copy after login

Table t_mult is a contact information table, including name and mobile phone number fields.

CSS

<link rel="stylesheet" type="text/css" href="jquery.multiselect2side.css" /> 
Copy after login

In this example, only the style files required by the Multiselect plug-in are loaded. You can design other CSS by yourself.
JAVASCRIPT
First you need to reference the two js files required for this example.

 
 
<link rel="stylesheet" type="text/css" href="jquery.multiselect2side.css" /> 
Copy after login

Then let’s call the Multiselect plug-in.

$("#liOption").multiselect2side({ 
  selectedPosition: 'right', 
  moveOptions: false, 
  labelsx: '待选区', 
  labeldx: '已选区' 
}); 
Copy after login

Then let’s write a search button to perform Ajax query data.

$("#searchOption").click(function(){ 
  var keys=$("#keys").val(); 
  $.ajax({ 
     type: "POST", 
     url: "action.php", 
     data: "title="+keys, 
     success: function(msg){ 
      if(msg==1){ 
        $("#msg_ser").show().html("没有记录!"); 
      }else{ 
        $("#liOptionms2side__sx").html(msg); 
        $("#msg_ser").html(""); 
      } 
     } 
  }); 
  $("#msg_ser").ajaxSend(function(event, request, settings){ 
    $(this).html(""); 
  }); 
}); 
Copy after login

Explain that when the search button is clicked, an Ajax asynchronous operation is performed. JAVASCRIPT will pass the input value of the search box obtained to the background program action.php in POST mode for processing. After processing, different results will be returned to JAVASCRIPT. If 1 is returned, the HTML page will prompt "No record". Otherwise, the result will be output to the left list box (to be selected): liOptionms2side__sx. NoteThe key point is here, Why is the list box not XHTML's liOption, but liOptionms2side__sx? This starts with the Multiselect plug-in. The Multiselect plug-in actually replaces a list box with two left and right list boxes for related operations. It is not difficult to find by looking at the plug-in code. The name of the list box on the left is: liOptionms2side__sx , the right list box (selected) is named: liOptionms2side__dx, which will be used later.

PHP

First let’s look at the processing of action.php.
The first step is to connect to the database.

$conn=mysql_connect("localhost","root",""); 
mysql_select_db("demo",$conn); 
mysql_query("SET names UTF8"); 
Copy after login

The second step is to read the data and output it. Construct different SQL statements by detecting the value passed by the search box, and return the data for output. The code is as follows:

$keys=trim($_POST['title']); 
$keys=mysql_real_escape_string($keys,$conn); 
if(!empty($keys)){ 
   $sql="select * from t_mult where username like '%$keys%' or phone='$keys'"; 
}else{ 
   $sql="select * from t_mult"; 
} 
$query=mysql_query($sql); 
$count=mysql_num_rows($query); 
if($count>0){ 
  while($row=mysql_fetch_array($query)){ 
    $str.="<option value='".$row['id']."'>".$row['username']."-".$row['phone']."</option>"; 
  } 
  echo $str; 
}else{ 
  echo "1"; 
} 
Copy after login

Finally there is a submission operation, the background post.php program to obtain the value of the final submitted item.

$selID=$_POST['liOptionms2side__dx']; 
if(!empty($selID)){ 
  $str=implode(",",$selID); 
  echo $str; 
}else{ 
  echo "没有选择任何项目!"; 
} 
Copy after login

Note that what we get is the value of liOptionms2side__dx of the right list box, not the value of liOption.
An example of query and operation has been implemented, but there is still a little flaw. When adding items to the selected area, how to judge and control that the items that have been added cannot be added again. This is left to everyone to think about. Give it a try. What a good solution.

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template