需求:从数据库提取需要数据,在业务模块内处理数据,前台提取数据并反映到界面。
MySQL语句:
$sql = "
SELECT
`TDC_PlanningHC`,`TDC_EntryHC`,`TDC_ExitHC`,`Priority_num`,`Priority_char` FROM rmk ORDER BY
CASE
when `Priority_char` = 'Highest' THEN 1
WHEN `Priority_char` = 'High' THEN 2
when `Priority_char` = 'Medium' THEN 3
WHEN `Priority_char` = 'Low' THEN 4
END,
`Priority_num` DESC";
SELECT后面是呈现的表单项目,order by case,可以按照字符需求排列筛选项目值的顺序,逗号是并列同时筛选的意思,并不是完成再做下一步指令。
WHERE是过滤数据,order by是检索数据。
SELECT `TDC_PlanningHC`,`TDC_EntryHC`,`TDC_ExitHC`
FROM `rmk`
WHERE `Priority_char` = "Highest"
ORDER BY `Priority_num` DESC
只显示Highest的数据,并倒序排列。
同时可以设置set @rownum=0;变量可以对呈现的表单项目进行再编辑,但是语句是否可以被php执行仍然不确定。
''单引号 php会把它里面的内容当成字符串来处理。
""双引号 php会根据里面的值来处理。比如里面有变量 那么变量的值就会把变量替换。
php中二维数组的基本操作:
取值:$arr[1],修改相同$arr[1]
删除:unset($arry['user'])
$arr = array(array(1,2,3),array(1,2,3));
echo Array([0] => Array([0]=>1),[1] => Array([0]=>1))
取值:$arr[0][0],取值为1
php 数组对象之间的转换
PHP原生提供json_encode()和json_decode()函数,编码和解码
json_encode($arr)对象转json数组
$obj->body = 'another post';
$obj->id = 21;
$obj->approved = true;
$obj->favorite_count = 1;
$obj->status = NULL;
echo json_encode($obj);
输出:
{
"body":"another post",
"id":21,
"approved":true,
"favorite_count":1,
"status":null
}
由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
索引数组:$arr = Array('one', 'two', 'three');
关联数组:$arr = Array('1'=>'one', '2'=>'two', '3'=>'three');
json_encode()后:数据格式从"[]"(数组)变成了"{}"(对象)。
如果你需要将"索引数组"强制转化成"对象",可以这样写:
json_encode( (object)$arr );
或
json_encode ( $arr, JSON_FORCE_OBJECT );
如是php类,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。所以只能是public的类( public $public_ex = 'this is public';)。
json_decode()该函数用于将json文本转换为相应的PHP数据结构, 结果就是生成一个PHP对象: 如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:
var_dump(json_decode($json,true)); 结果就生成了一个关联数组:
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
第一种转换方式:
(int) (bool) (float) (string) (array) (object)需要新对象来装载。
第二种转换方式:
intval() floatval() strval()不需要新对象来装载。
第三种转换方式:$flg=settype($num4,"int");
for循环输出
//定义数组
$arr = array(
array('北京','上海','深圳','广州'),
array('黑龙江','吉林','辽宁','江苏')
);
for($i = 0; $i < count($arr); $i++) {
for($j = 0; $j < count($arr[$i]); $j++) {
echo $arr[$i][$j]."<br />";
}
}