0

従業員データを保存し、従業員 ID カードを PDF に生成する Web アプリケーションを PHP で作成しています。PDF の作成に FPDF を使用していますが、問題なく動作します。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 などの変数に格納する必要があります。

返信ありがとうございます。V.

4

1 に答える 1

0

$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'];
}
于 2012-04-29T10:51:41.583 に答える