-1

MySQL TABLE を Excel としてエクスポートする方法を知っています。しかし、私の問題は、複数の MySQL テーブルからデータを取得し、それらを HTML テーブル出力に配置できる複雑なシナリオがあることです。私の質問は、このデータ出力を Excel として取得するにはどうすればよいですか?

これが私のコードです

<?php 
include(".../dbconnect.txt");

$result = mysql_query("select * from main_table where jobid='".$_GET['jobid']."'") or die(mysql_error());
?>

<table width='1450'>
<tr>
<td>S/N</td>
<td>Job Title</td>
<td>Applicant</td>
<td>Date</td>
<td>Expe</td>
<td>Course</td>
<td>Email</td>
<td>Quali</td>
<td>Age</td>
<td>Gender</td>
</tr>
<?php
$cnt =1;
while($row = mysql_fetch_array($result)){
$count = $cnt; $cnt++;
?>
<tr>
<td>
<?php echo $count; ?>
</td>
<td>
<?php
$re = mysql_query("select * from table1 where id='".$_GET['jobid']."'") or die(mysql_error());
$rw = mysql_fetch_array($re);
echo $rw['title'];
?>
</td>
<td> 
<?php
$re1 = mysql_query("select * from table2 where email='".$row['email']."'") or die(mysql_error());
$rw1 = mysql_fetch_array($re1);

echo ucwords($rw1['fname']); 
echo "&nbsp;";
echo ucwords($rw1['lname']);
?>
</td>
<td><?php echo $row['date']; ?></td>
<td>
<?php 
$re2 = mysql_query("select * from table3 where email='".$row['email']."'") or     die(mysql_error());
$rw2 = mysql_fetch_array($re2);
echo $rw2['years'];
?>
</td>
<td>
<?php 
$re3 = mysql_query("select * from table4 where email='".$row['email']."'") or die(mysql_error());
$rw3 = mysql_fetch_array($re3);
echo ucwords($rw3['course']);
?>
</td>
<td>
<?php echo $row['email']; ?>
</td>
<td> 
<?php 
echo $rw3['quali'];
?>
</td>
<td>
<?php echo $rw1['age']; ?>
</td>
<td>
<?php echo $rw1['gender']; ?>
</td>
</tr>
<?php } ?>
</table>

HTML の結果は次のようになります。

S/N Job Title   Applicant   Date    Expe    Course  Email   Quali   Age    Gender
1    Program Officer - Clinical Services     Username Surname   Wed 31, Jul, 2013    1       Agricultural Engineering    useremail@yahoo.com     BEng    24  Male
2    Program Officer - Clinical Services     Username Surname   Wed 31, Jul, 2013    3       Political Science   useremail@gmail.com     BSc     33  Male
3    Program Officer - Clinical Services     Username Surname   Wed 31, Jul, 2013    1   Microbiology    useremail@yahoo.com     HND     25  Female

代わりにこのテーブルを Excel で出力するにはどうすればよいですか?

4

1 に答える 1

0

これは、すべてのクエリを、HTML または Excel に渡すことができる適切な配列に変換する方法の例です。しばらくすると飽きてしまったので、いくつかのクエリしか入力しませんでした。しかし、ここからできるはずです。

$rows = mysql_query("select * from main_table where jobid='".$_GET['jobid']."'") or die(mysql_error());
$items = array();

while($row = mysql_fetch_array($result))
{
    $item = array();

    // Master stuff
    $item['date'] = $row['date'];

    // Title
    $re = mysql_query("select * from table1 where id='".$_GET['jobid']."'") or die(mysql_error());
    $rw = mysql_fetch_array($re);
    $item['title'] = $rw['title'];

    // Names
    $re1 = mysql_query("select * from table2 where email='".$row['email']."'") or die(mysql_error());
    $rw1 = mysql_fetch_array($re1);

    $item['name'] = ucwords($rw1['fname']) . ' ' . ucwords($rw1['lname']);

    // ... rest of queries

    // Add to list
    $items[] = $item;
}

SQL の左結合操作に少し慣れることをお勧めします。クエリの数を大幅に減らすことができます。1つまで可能です。

于 2013-08-18T21:24:15.083 に答える