将MySQL中的多行存储在单独的变量中
问题描述:
我正在用PHP编写一个Web应用程序,它将存储员工数据并生成员工ID卡到PDF。我正在使用FPDF创建PDF,并且工作正常。我在显示MySQL数据库结果时遇到问题。将MySQL中的多行存储在单独的变量中
我必须用4个员工ID卡来生成PDF,我不确定如何从数据库中获取它们。到目前为止,我在查询中使用LIMIT选项来获得只有4个结果,我将有一个基于mysql.php?id = 1 id的if语句,它将定义限制。这有点凌乱,但不会有超过80名员工。
这是我的代码:
$id = $_GET['id'];
if ($id == 1) {
$limit_start = 0;
$limit_end = 4;
}
$result=mysql_query("SELECT users.tajemnik, users.dateCreated, users.showmeID,
users.workerName, users.dateCreated, users.workerPlace, users.workerSID, uploads.userID, uploads.data, uploads.filetype
FROM users INNER JOIN uploads ON users.showmeID = uploads.userID ORDER BY workerName DESC LIMIT $limit_start, $limit_end") or die (mysql_error());
mysql_query("SET NAMES 'utf8'") or die('Spojení se nezdařilo');
while($row = mysql_fetch_array($result)){
$workerName = $row["workerName"];
$workerPlace = $row["workerPlace"];
$workerSID = $row["workerSID"];
$tajemnik = $row["tajemnik"];
$showmeID = $row["showmeID"];
$mysqldatetime = strtotime($row['dateCreated']);
$image = $row["data"];
$phpdatetime = date("d.m.Y",$mysqldatetime);
}
这将让我从查询的第一个结果。我需要从所有4行中获取信息,并将它们存储在像$ workerName1,$ workerName2等变量中。我希望这有助于我正在尝试做什么。
谢谢你的回复! 五
答
我需要得到像$ workerName1,$ workerName2变量等
不,你不知道。
你实际上需要一个数组。
因此,首先,让自己的功能
function sqlArr($sql){
$ret = array();
$res = mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
if ($res) {
while($row = mysql_fetch_array($res)){
$ret[] = $row;
}
}
return $ret;
}
然后编写代码
mysql_query("SET NAMES 'utf8'") or die('Spojení se nezdařilo');
$sql = "SELECT users.tajemnik, users.dateCreated, users.showmeID, users.workerName,
users.dateCreated, users.workerPlace, users.workerSID, uploads.userID,
uploads.data, uploads.filetype
FROM users
INNER JOIN uploads ON users.showmeID = uploads.userID
ORDER BY workerName DESC LIMIT $limit_start, $limit_end";
$data = sqlArr($sql);
现在你有$data
阵列中的所有数据。
所以,你可以像
echo $data[0]['tajemnik'];
或
foreach($data as $row) {
//do whatever you want with database row
echo $row['tajemnik'];
}
+0
谢谢!完美的作品。我希望能有一个解决方案!再次感谢! – Vojtech 2012-04-29 13:03:33
环比,或访问单一的价值观你只是想先取4个笔记吗?如果是这样,“限制4”就足够了。 – Leri 2012-04-29 10:49:00
请停止使用古老的'mysql_ *'函数编写新代码。他们不再被维护,社区已经开始[弃用流程](http://news.php.net/php.internals/53799)。相反,您应该了解准备好的语句并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你关心学习,[这里是一个很好的PDO相关教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 – 2012-04-29 11:02:30
@Truth感谢您的阅读,我当然很在意并且想要学习新东西! :) – Vojtech 2012-04-29 13:02:44