php+mysql 根据ID跨表php获取mysql数据数据

easyui框架--基础篇(一)--&数据表格datagrid(php与mysql交互)_PHP教程-织梦者
当前位置:&>&&>& > easyui框架--基础篇(一)--&数据表格datagrid(php与mysql交互)
easyui框架--基础篇(一)--&数据表格datagrid(php与mysql交互)
此篇文章将要介绍easyui框架--基础篇(一)--&数据表格datagrid(php与mysql交互)的文章,具体方法请看介绍
 easyui框架--本篇学习主要是 easyui中的datagrid(数据表格)框架。
本篇学习主要通过讲解一段代码加GIF图片学习datagrid(数据表格)中的一些常用属性,还有与之相关的dialog(对话窗)和texbobox(文本框)的一些常用属性,希望对读者有帮助。
本篇主要分为两个部分讲解:
  ① 前端PHP代码编写--框架搭建与数据调用  ② 数据库的数据内容与后台数据连接,后台数据传输到前台
以下所有代码HBuider中建立PHP文件实施。(前提php文件可以正常使用)
1、GIF效果图
图片:&&&&&&&&&&
  图 1.1 在HBuider中通过建立PHP文件使用easyui框架中的datagrid(数据表格)
图片:&&&&&&&&&&
图 1.1 通过点击datagrid(数据表格)中的每一列显示出dialog(对话窗)---&&&对话框内容用文本框(texbobox)写入。
数据库图片如下:
图 1.1 Navicat Premium中的mysql主机中的mydb数据库
2、前端php文件中的代码:注释有解析
1 &!DOCTYPE html&
&meta charset="UTF-8"&
&title&&/title&
&!--css与js代码植入--&
&link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"&
&link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"&
&script type="text/javascript" src="easyui/jquery.min.js"&&/script&
&script type="text/javascript" src="easyui/jquery.easyui.min.js"&&/script&
&script type="text/javascript" src="easyui/easyui-lang-zh_CN.js"&&/script&
&!--表格样式--&
&table id="dg" style="width:420height:250px" &
&!--field:字段名(mysql数据库中表的字段相同),easyui直接从后台取得字段:
后台传输过来的样式如下:
{"rows":[{"id":"31","username":"\u8d75\u516d","age":"22","sex":"\u7537"},
{"id":"30","username":"\u8d75\u4e94","age":null,"sex":"\u7537"},
{"id":"29","username":"\u8d75\u4e8c","age":"18","sex":"\u7537"},
{"id":"28","username":"\u8d75\u4e09","age":"19","sex":"\u7537"},
{"id":"27","username":"\u8d75\u4e00","age":"13","sex":"\u7537"},
{"id":"27","username":"\u8d75\u56db","age":"20","sex":"\u7537"},
{"id":"26","username":"\u8d75\u4e91","age":"122","sex":"\u5973"},
{"id":"25","username":"\u53f8\u9a6c\u5149","age":"122","sex":"\u5973"},
{"id":"24","username":"\u5c0f\u6dd8\u6c14","age":"23","sex":"\u5973"},
{"id":"23","username":"\u5f20\u4e00","age":"122","sex":"\u5973"}],"total":"19"}
&th data-options="field:'id',width:100,sortable:true,sortOrder:'desc'"&编码&/th&
&!--&sortable:如果为true,则允许列使用排序&
&sortOrder: 定义列的排序顺序,只能是'asc'(升序)或'desc'(降序)。 &--&
&th data-options="field:'username',width:100"&名称&/th&
&!--&sortable:如果为true,则允许列使用排序&
&sortOrder: 定义列的排序顺序,只能是'asc'(升序)或'desc'(降序)。& --&
&th data-options="field:'age',width:200,sortable:true,sortOrder:'desc',
styler:function(value,row,index){
if (value == null || value == ''){
return 'background-color:';
formatter:function(value,row,index){
if(value == null || value == ''){
return 'null';
return value +'岁';
}"&名称&/th&
&!--① &单元格styler(样式)函数 :也就是说这个函数改的是样式属性&
value:字段值。
row:行记录数据。
index: 行索引。
& 如果内容为null则背景色为yellow(黄色)&
② &单元格formatter(格式化器)函数
:也就是说这个函数改的是value值&
value:字段值。
row:行记录数据。
index: 行索引。
& 如果内容为null或者为""字符串,则返回null其他内容则在后面加入一个&岁&&
&th data-options="field:'sex',width:100,align:'right'"&价格&/th&
&!--&下面这个div属于一个Dialog(对话框)&--&
&div id="dd"&
&td&编号:&/td&
&!--设置每个input对应的id名,class内容为easyui-textbox(easyui的文本框)--&
&input type="text " name="id" id="id" class="easyui-textbox" style="width: 100"/&
&td&用户名:&/td&
&input type="text " name="username" id="username" class="easyui-textbox" style="width: 100"/&
&td&年龄:&/td&
&input type="text " name="age" id="age" class="easyui-textbox" style="width: 100"/&
&td&性别:&/td&
&input type="text " name="sex" id="sex" class="easyui-textbox" style="width: 100"/&
&script type="text/javascript"&
//&取到数据表格,添加属性&
$('#dg').datagrid({
//&url:一个URL从远程站点请求数据。&
url:'dodatagrade.php',
//&fitColumns:true,真正的自动展开/收缩列的大小,以适应网格的宽度,防止水平滚动。&
fitColumns:true,
//&pagination:boolean 如果为true,则在DataGrid控件底部显示分页工具栏。 &
pagination:true,
//&定义分页工具栏的位置。可用的值有:'top','bottom','both'。
//&pagePosition:"top",
//&rownumbers:boolean
如果为true,则显示一个行号列。
rownumbers:true,
//&singleSelect:boolean
如果为true,则只允许选择一行。
ctrlSelect:true,
//&pageSize:number 在设置分页属性的时候初始化页面大小。
pageSize:5,
//&pageList array 在设置分页属性的时候 初始化页面大小选择列表。
pageList:[5,10,15,20],
//&如果为true,当用户点击行的时候该复选框就会被选中或取消选中。
//checkOnSelect:true,
rowStyler function :
返回样式如'background:red'。带2个参数的函数:
index:该行索引从0开始
row:与此相对应的记录行。 */
rowStyler:function(index,row){
if(index%2 !=0){
return "background:skyblue";
return "background:#693";
},//&单行背景色为skyblue,双数行背景颜色为#693
/*& onDblClickRow:function
在用户双击一行的时候触发,参数包括:
index:点击的行的索引值,该索引值从0开始。
row:对应于点击行的记录。 */
onDblClickRow:function(index,row){
//& 取到dialog(对话框)中的各个input的id,通过texbox的setvalue给赋值点击行的内容
$("#id").textbox("setValue",row.id);
$("#username").textbox("setValue",row.username);
$("#age").textbox("setValue",row.age);
$("#sex").textbox("setValue",row.sex);
//& 取到dialog(对话框)整体的框架id,一开始是隐藏,加入closed:false,则消息框重新弹出。
$('#dd').dialog({
//属于点击之后弹出对话框
closed:false
//& 对话框的属性设置:
$('#dd').dialog({
width: 400,
height: 200,
//& 对话框设置隐藏
closed: true,
//&cache:boolean 如果为true,在超链接载入时缓存面板内容。
cache: false,
//我也不知道具体是什么意思,copy有,没敢乱删
// modal:boolean 定义是否将窗体显示为模式化窗口。
modal: true
171 &/html&
2、后台php中的代码:注释有解析
header("Content-Type:text/charset=utf-8");
//include_once("MySQL/mysql.php");
//&打开数据库,观看我的前一篇文章。
define("HOST", "1xx.0.0.x");  //ip地址
define("USERNAME", "root");
define("PASSWORD", "");
define("DBNAME", "mydb");
define("CHARSET", "utf8");
//@:取消错误提示
$conn = @mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME) or die("数据库连接失败&span style='color:'&".mysqli_connect_error()."&/span&");
@mysqli_set_charset($conn, CHARSET) or die("字符集编码设置无效");
//& datagrid使用了分页的话,其框架自身会向后台传递page、rows这个两个属性值。
//&接受由前端easyui传输过来的请求中所传递的page、rows这个两个属性值
$page =isset($_POST["page"])?$_POST["page"]:"1";
$rows =isset($_POST["rows"])?$_POST["rows"]:"10";
$start=$rows*($page-1);
$end=$rows*$
//&inset判断是否传值过来,如果出过来输出传入值,如果没有则为:后面的值
//&datagrid向后台传入sorttable 中的field值。
$sort=isset($_POST["sort"])?$_POST["sort"]:"id";
$order=isset($_POST["order"])?$_POST["order"]:"desc";
//&写入masql语法 查询语句,表tb1中的所有数据后面是判断条件(正序,逆序,每页多少数据)
$sql = &&&sql
select * from tb1 order by {$sort} {$order} limit {$start},{$rows}
//&执行masql语句
$res = mysqli_query($conn, $sql);
//&定义一个空数组
$arr = array();
//&遍历数据库中的内容,放入数组arr
while ($row = mysqli_fetch_assoc($res)) {
$arr[] = $
//&查询tb1中所有数据的数量
$getTotal=&&&total
select count(*) from tb1
//&执行mysql语句输出结果集
$count=mysqli_query($conn, $getTotal);
//处理结果集,返回一个索引数组。选第一个数据就是总数量
$total=mysqli_fetch_row($count)[0];
// datagrid接收的完整JSON格式为
// 简化版JSON:[{},{},{}]
// 完整版{"rows":[{},{},{}],"total":num}
$jsonArr=["rows"=&$arr,"total"=&$total];
$json = json_encode($jsonArr);
具体样式为:
{"rows":[{"id":"31","username":"\u8d75\u516d","age":"22","sex":"\u7537"},
{"id":"30","username":"\u8d75\u4e94","age":null,"sex":"\u7537"},
{"id":"29","username":"\u8d75\u4e8c","age":"18","sex":"\u7537"},
{"id":"28","username":"\u8d75\u4e09","age":"19","sex":"\u7537"},
{"id":"27","username":"\u8d75\u4e00","age":"13","sex":"\u7537"},
{"id":"27","username":"\u8d75\u56db","age":"20","sex":"\u7537"},
{"id":"26","username":"\u8d75\u4e91","age":"122","sex":"\u5973"},
{"id":"25","username":"\u53f8\u9a6c\u5149","age":"122","sex":"\u5973"},
{"id":"24","username":"\u5c0f\u6dd8\u6c14","age":"23","sex":"\u5973"},
{"id":"23","username":"\u5f20\u4e00","age":"122","sex":"\u5973"}],"total":"19"}
学习时候的笔记,可能会有一些错误的地方,欢迎各位的批评指点。
反思,复盘,每天收获一点---------------------期待更好的自己
多多关注织梦者,我们将为您收集更多的php相关文章.
这些内容可能对你也有帮助
更多可查看PHP教程列表页。
猜您也会喜欢这些文章PHP 和 AJAX MySQL 数据库实例
PHP 和 AJAX MySQL 数据库实例
AJAX 可用来与数据库进行交互式通信。
AJAX 数据库实例
在下面的 AJAX 实例中,我们将演示网页如何使用 AJAX 技术从 MySQL 数据库中读取信息。
在下拉列表中选择一个名字 (测试说明:该实例功能未实现)
Select a User:
Peter Griffin
Lois Griffin
Joseph Swanson
Glenn Quagmire
在此列出用户信息。
此列由四个元素组成:
MySQL 数据库
简单的 HTML 表单
JavaScript
将在本例中使用的数据库看起来类似这样:
Piano Teacher
Police Officer
上面的例子包含了一个简单的 HTML 表单,以及指向 JavaScript 的链接:
&script src=&selectuser.js&&&/script&
Select a User:
&select name=&users& onchange=&showUser(this.value)&&
&option value=&1&&Peter Griffin&/option&
&option value=&2&&Lois Griffin&/option&
&option value=&3&&Glenn Quagmire&/option&
&option value=&4&&Joseph Swanson&/option&
&div id=&txtHint&&&b&User info will be listed here.&/b&&/div&
例子解释 - HTML 表单
正如您看到的,它仅仅是一个简单的 HTML 表单,其中带有名为 &users& 的下拉列表,这个列表包含了姓名,以及与数据库的 &id& 对应的选项值。
表单下面的段落包含了名为 &txtHint& 的 div。这个 div 用作从 web 服务器检索到的信息的占位符。
当用户选择数据时,执行名为 &showUser()& 的函数。该函数的执行由 &onchange& 事件触发。
换句话说:每当用户改变下拉列表中的值,就会调用 showUser() 函数。
JavaScript
这是存储在 &selectuser.js& 文件中的 JavaScript 代码:
var xmlHttp
function showUser(str)
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
alert (&Browser does not support HTTP Request&)
var url=&getuser.php&
url=url+&?q=&+str
url=url+&&sid=&+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open(&GET&,url,true)
xmlHttp.send(null)
function stateChanged()
if (xmlHttp.readyState==4 || xmlHttp.readyState==&complete&)
document.getElementById(&txtHint&).innerHTML=xmlHttp.responseText
function GetXmlHttpObject()
var xmlHttp=
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
//Internet Explorer
xmlHttp=new ActiveXObject(&Msxml2.XMLHTTP&);
xmlHttp=new ActiveXObject(&Microsoft.XMLHTTP&);
return xmlH
例子解释:
stateChanged() 和 GetXmlHttpObject 函数与
那一节中的相同,您可以参阅其中的相关解释。
showUser() 函数
假如下拉列表中的项目被选择,函数执行:
调用 GetXmlHttpObject 函数来创建 XMLHTTP 对象
定义发送到服务器的 URL(文件名)
向 URL 添加带有下拉列表内容的参数 (q)
添加一个随机数,以防服务器使用缓存的文件
当触发事件时调用 stateChanged
通过给定的 URL 打开 XMLHTTP 对象
向服务器发送 HTTP 请求
由 JavaScript 调用的服务器页面,是名为 &getuser.php& 的简单 PHP 文件。
该页面用 PHP 编写,并使用 MySQL 数据库。
其中的代码执行针对数据库的 SQL 查询,并以 HTML 表格返回结果:
$q=$_GET[&q&];
$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
die('Could not connect: ' . mysql_error());
mysql_select_db(&ajax_demo&, $con);
$sql=&SELECT * FROM user WHERE id = '&.$q.&'&;
$result = mysql_query($sql);
echo &&table border='1'&
&th&Firstname&/th&
&th&Lastname&/th&
&th&Age&/th&
&th&Hometown&/th&
&th&Job&/th&
while($row = mysql_fetch_array($result))
echo &&tr&&;
echo &&td&& . $row['FirstName'] . &&/td&&;
echo &&td&& . $row['LastName'] . &&/td&&;
echo &&td&& . $row['Age'] . &&/td&&;
echo &&td&& . $row['Hometown'] . &&/td&&;
echo &&td&& . $row['Job'] . &&/td&&;
echo &&/tr&&;
echo &&/table&&;
mysql_close($con);
例子解释:
当查询从 JavaScript 被发送到这个 PHP 页面,会发生:
PHP 打开到达 MySQL 服务器的连接
找到拥有指定姓名的 &user&
创建表格,插入数据,然后将其发送到 &txtHint& 占位符博客分类:
吼吼,刚学,记录一下~
1.首先新建数据库,在里面新建数据表test,任意插进去了两条记录如图所示
2.新建php文件。
连接数据库的代码:
$conn=mysql_connect("localhost","root","");//连接数据库服务器
if (!$conn){
die('Could not connect: ' . mysql_error());
mysql_select_db("mytest",$conn);//选择数据库mytetst
mysql_query("set names utf8");//设置编码格式
mysql_connect(servername,username,password);
servername
可选。规定要连接的服务器。默认是 "localhost:3306"。
可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
可选。规定登录所用的密码。默认是 ""。
3.执行数据库的语句,例如查询语句
$arr=mysql_query("select * from test",$conn);
输出查询结果
while($row = mysql_fetch_array($arr)){
echo $row['id'] . " " . $row['num'];
echo "&br /&";
————————————————————————————————————————
实现结果:
当点击查找全部时,显示: 按id查找时,输入1显示: 完整代码:
&style type="text/css" &
text-align:
border-collapse:
#result td{
width: 100
&/style&&/head&
&form action="" method="post" name="form"&
&table align="center"&
&tr&&td colspan="2"&
&input type="submit" value="查找全部" name="select_all"&
&/td&&/tr&
按id号查找:&input type="text" value="" name="select_index"&
&input type="submit" vaue="确认" name="select_sure"&
&/td&&/tr&
$conn=mysql_connect("localhost","root","");
if (!$conn)
die('Could not connect: ' . mysql_error());
mysql_select_db("mytest",$conn);
mysql_query("set names utf8");
echo "&table id='result' &";
echo "&tr&&td&id&/td&&td&num&/td&&td&name&/td&&td&sex&/td&&td&bithday&/td&&/tr&";
if(isset($_POST['select_all'])){
$arr=mysql_query("select * from test",$conn);
while($row = mysql_fetch_array($arr)){
echo "&tr&&td&{$row['id'] }&/td&&td&{$row['num']} &/td&&td&{$row['name']} &/td&&td&{$row['sex']} &/td&&td&{$row['birthday']}&/td&&/tr&";
// echo $row['id'] . " " . $row['num'];
// echo "&br /&";
}else if (isset($_POST['select_sure'])) {
$id=$_POST['select_index'];
$arr=mysql_query("select * from test where id=$id",$conn);
if($row=mysql_fetch_assoc($arr)){
//如果查询的到
echo "&tr&&td&{$id}&/td&&td&{$row['num']} &/td&&td&{$row['name']} &/td&&td&{$row['sex']} &/td&&td&{$row['birthday']}&/td&&/tr&";
echo "&/table&";
mysql_close($conn);
浏览: 2044 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'在php连接数据库中,怎么获取某一个表的某个列的id号?_百度知道
在php连接数据库中,怎么获取某一个表的某个列的id号?
我有更好的答案
include_once('connect.php');$result = mysql_query(&SELECT id from catalog WHERE title='PHP'&);$res = mysql_fetch_assoc($result);echo $res['id'];
采纳率:46%
你的数据库是mysql么,你的给出查询条件,大家才能帮你$result = mysql_query(&SELECT id from 表 WHERE 条件&);$res = mysql_fetch_assoc($result);$id = $res['id']这样就得到了 id 了
本回答被提问者和网友采纳
刚插入数据到MySQL数据库中,如何获得该数据的的ID呢?这里提供一个获取该ID的方法,需要用到AUTO_INCREMENT,因为没有的话,mysql_insert_id()返回 0。定义和用法mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0。语法mysql_insert_id(connection)参数描述connection
可选。规定 MySQL 连接。如果未规定,则使用上一个连接。
说明mysql_insert_id() 返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 connection ,则使用上一个打开的连接。提示和注释注释:如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id()。例子&?php$con = mysql_connect(&localhost&, &hello&, &321&);if (!$con)
die('Could not connect: ' . mysql_error());
}$db_selected = mysql_select_db(&test_db&,$con);$sql = &INSERT INTO person VALUES ('Carter','Thomas','Beijing')&;$result = mysql_query($sql,$con);echo &ID of last inserted record is: & . mysql_insert_id();mysql_close($con);?&输出类似:ID of last inserted record is: 5
你是要取字段值呢?还是最后一个id值,不明白select
mysql_insert_id();
//获取最后一条新插入的id值
select id from table where xx=yywhere 后面加个一些可以指定某个列的条件
根据WHERE条件查询
其他3条回答
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。php实现mysql两个数据库中表的数据同步
时间: 20:35
来源:未知 | 作者:我爱学习网
| 本文已影响
有两个不同mysql数据库,数据表名字也不同,但数据表的结构相同,这两个数据库都在同一台服务器上。php怎么实现这两个不同数据库表的数据同步?
1、建立数据库连接,localhost为主机名,root即mysql用户登录名,root2为数据密码。
$conn = mysql_connect(&localhost&,&root&,&root2&);
mysql_select_db(&database1&);
2、清空database1数据库table1表的内容,以便和导入的database2数据库中table2的数据一致.
mysql_query(&truncate table table1&);
3、导入操作
$sql=&insert into database1.table1(`id`, `uid`, `yz`, `url`) select &`id`, `uid`, `yz`, `url` from&
database2.table2 &;&
$result= mysql_query($sql);
if($result){
echo &&font color='green' &恭喜您,数据同步成功!&/font&&;
echo &&font color='red' &数据同步出错,请检查!&/font&&;
需要注意的是,同步前,被同步的database1和表table1要存在,否则同步会出错。
(责任编辑:我爱学习网)
我爱学习网精心筛选编辑,将最精华的学习资料奉献给大家!
记忆力学习
教你如何高效背单词
脑龄测试题,测测你的脑龄是多少
IQ智商大挑战(FLASH)
php导出内容到txt并自动弹出下载文件...
Tipask问答系统模板二次开发时,当我们要在问题列表中显示问题所属用户的头像时,可以...

我要回帖

更多关于 php访问mysql数据库 的文章

 

随机推荐