php打印数据表 php 打印数据

php 输出数据表内容$sql="select * from 表名";
$result=mysql_query($sql)or die ('数据库查询失败!');
while($row=mysql_fetch_array($result))
{
echo $row['字段名'];
}
例如输出表student中的数据 , 其中包含字段name,age,address
$sql="select * from student";
$result=mysql_query($sql)or die ('数据库查询失败!');
while($row=mysql_fetch_array($result))
{
echo 'name:'.$row['name'];
echo 'age:'.$row['age'];
echo 'address:'.$row['address'];
echo 'br /';
}
dump方法打印表格【php打印数据表 php 打印数据】在多人合作项目中偶尔会遇到这样的情况:
现在在调试程序php打印数据表,从其他小伙伴提供的方法中取到的table类型数据报错php打印数据表了php打印数据表,此时我们想检查一下数据格式 。但是直接print又无法打印出来这个table的结构php打印数据表,真机测试时又不太方便在Lua中打断点 , 用for循环来输出又不能展开所有子table(有个dump工具该多好) 。
所以 , 如果想解决上面的问题,将整个table类型数据的结构输出到控制台,那就使用循环 递归的方式来输出数据吧 。
下面直接贴上代码以及测试用例:
感谢老司机Reyn在评论中提出的建议
--[[
print_dump是一个用于调试输出数据的函数,能够打印出nil,boolean,number,string,table类型的数据,以及table类型值的元表
参数data表示要输出的数据
参数showMetatable表示是否要输出元表
参数lastCount用于格式控制,用户请勿使用该变量
]]
function print_dump(data, showMetatable, lastCount)
if type(data) ~= "table" then
--Value
if type(data) == "string" then
io.write("\"", data, "\"")
else
io.write(tostring(data))
end
else
--Format
local count = lastCount or 0
count = count1
io.write("{\n")
--Metatable
if showMetatable then
for i = 1,count do io.write("\t") end
local mt = getmetatable(data)
io.write("\"__metatable\" = ")
print_dump(mt, showMetatable, count)-- 如果不想看到元表的元表,可将showMetatable处填nil
io.write(",\n")--如果不想在元表后加逗号 , 可以删除这里的逗号
end
--Key
for key,value in pairs(data) do
for i = 1,count do io.write("\t") end
if type(key) == "string" then
io.write("\"", key, "\" = ")
elseif type(key) == "number" then
io.write("[", key, "] = ")
else
io.write(tostring(key))
end
print_dump(value, showMetatable, count) -- 如果不想看到子table的元表,可将showMetatable处填nil
io.write(",\n")--如果不想在table的每一个item后加逗号 , 可以删除这里的逗号
end
--Format
for i = 1,lastCount or 0 do io.write("\t") end
io.write("}")
end
--Format
if not lastCount then
io.write("\n")
end
end
下面分别输出php打印数据表了nil,boolean,number,string,table类型的数据,测试代码如下:
print("---------------Test---------------")
local myData = https://www.04ip.com/post/nil
print_dump(myData)
print("-------------------")
myData = https://www.04ip.com/post/true
print_dump(myData)
print("-------------------")
myData = https://www.04ip.com/post/10086
print_dump(myData)
print("-------------------")
myData = "https://www.04ip.com/post/your name"
print_dump(myData)
print("-------------------")
myData = https://www.04ip.com/post/{
null = nil,
bool = true,
num = 20,
str = "abc",
subTab = {"111", "222"},
func = print_dump,
sunTab = {"sun_a", {"sun_1", "sun_2"}, {you = "god", i = "man"}}
}
local mt = {}
mt.__add = function(op1, op2) return 1000 end
mt.__index = {1,2}
setmetatable(myData, mt)
print_dump(myData, 1) -- 第二个参数不为空则打印元表
print("---------------End---------------")
dump输出的结果是这样的(因为内容太长,屏幕高度不够,所以分成了两张图):
上半部分输出.jpeg
下半部分输出.jpeg
如果不是有特殊需求,建议按照注释的提示,屏蔽子级table类型值的元表 。屏蔽子级table类型值的元表之后输出看起来清爽很多 。
屏蔽子级table的元表后的输出.jpeg
总结:
其实解决问题不难,需求是成长的直接动力 。
其实为了dump输出图上的效果,我还是花了一些时间去做微调 。最初末尾是没有换行的,也就是End那一行会紧接着上一行输出,虽然table的结构可以正常看到 , 但是如果dump的不是一个table,那就看着很奇怪了 。时间总是花在细节上 。
PHP如何将数据库表中的某列数据一个一个循环取出并打印一般我们为了减少数据库链接 , 取数据是一次取出所有想要的数据然后做循环处理,而不是一个个循环取出
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "aaaa";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
$conn-query('set names utf8');
$sql = "SELECT name FROM xiao ";//这里是查询xiao表的name列的所有数据
$result = $conn-query($sql);
if ($result-num_rows0) {
// 输出数据
while($row = $result-fetch_assoc()) {
//print_r($row);
echo "name: " . $row["name"]."br";//这里是循环打印
}
} else {
echo "没有查询到数据";
}
$conn-close();
php 怎么实现打印 功能啊 直接打印html中的table 而且为word格式 table里的内容是通过数据库获取出来的你的打印是不是编程语言里面说的打印,例如basic语言的print语句,如果是的话,在PHP里面使用echo语句打印内容,例如:
echo 'table border=1trtd1td2/table';
如果你是希望程序运行后在打印机上打印输出内容,那可能比较复杂,而且不是PHP的强项,需要编写许多查找打印机的代码,简单的做法是把数据送我特殊设备,可以使用file_put_contents函数 , 例如:
file_put_contents('PRN:', 'print test');
关于php打印数据表和php 打印数据的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读