Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将3个文件合并到一个表中?_Php_Mysql_Text Files - Fatal编程技术网

Php 如何将3个文件合并到一个表中?

Php 如何将3个文件合并到一个表中?,php,mysql,text-files,Php,Mysql,Text Files,我有一个测试脚本,可以生成包含答案的txt文件。并有2个正确答案的txt文件。我想: 1) 将所有文件合并到一个表中,如: <table> <tr> <td>№ of question</td> <td>data from file 1</td> <td>data from file 2</td> <td>data from file 3</td> </tr> ..

我有一个测试脚本,可以生成包含答案的txt文件。并有2个正确答案的txt文件。我想: 1) 将所有文件合并到一个表中,如:

<table>
<tr>
<td>№ of question</td>
<td>data from file 1</td>
<td>data from file 2</td>
<td>data from file 3</td>
</tr>
...
</table>
其中第一个数字-是问题的id,第二个是答案的变体

我开始编码,但不知道如何包含文件中的数据:

// Slect from DB
$qsel=mysql_query("SELECT `qid`, `qtext` from `questions` ORDER BY `qid`");

// Open file 1 
$key1=fopen("data/test_1_key1.txt", "r");
$k1=explode("/r/n", $key1);

// Open file 2 
$key2=fopen("data/test_1_key2.txt", "r");
$k2=explode("/r/n", $key2);

$rtable='<table border="1" cellspacing="0" cellpadding="3">
    <tr>
      <th width="40%">Q</th>
      <th width="20%">A 1</th>
      <th width="20%">A 2</th>
      <th width="20%">NAME</th>
    </tr>';
  while($q=mysql_fetch_row($qsel))
  {

    $rtable.='<tr><td><b>'.$q['1'].'</b></td>'; 
    $rtable.='<td>data from file 1</td>'; 
    $rtable.='<td>data from file 2</td>'; 
    $rtable.='<td></td>'; 
  }
  echo '</table>'.$rtable;
//从数据库中删除
$qsel=mysql\u查询(“从`questions`中选择`qid`,`qtext`,按`qid`排序”);
//打开文件1
$key1=fopen(“data/test_1_key1.txt”,“r”);
$k1=分解(“/r/n”,$key1);
//打开文件2
$key2=fopen(“数据/test_1_key2.txt”,“r”);
$k2=爆炸(“/r/n”,$key2);
$rtable=
Q
A 1
A 2
名称
';
而($q=mysql\u fetch\u row($qsel))
{
$rtable.=''.$q['1'].';
$rtable.='文件1中的数据';
$rtable.='来自文件2的数据';
$rtable.='';
}
回声“”。$rtable;

我首先获取文本文件并将其转换为索引数组:

$tmp1 = file('text1.txt');
$data1 = array();
foeach($tmp1 as $line)
{
    list($key1, $val1) = explode("|", $line);
    $data1[$key1] = $val1;
}
while($q=mysql_fetch_row($qsel))
{

    $rtable.='<tr><td><b>'.$q['1'].'</b></td>'; 
    $rtable.='<td>' . ( isset( $data1[ $q['0'] ] ) ? $data1[ $q['0'] ] : '' ) . '</td>'; 
    $rtable.='<td>data from file 2</td>'; 
    $rtable.='<td></td>'; 
}
然后,在mysql fetch循环中,只需使用索引数组:

$tmp1 = file('text1.txt');
$data1 = array();
foeach($tmp1 as $line)
{
    list($key1, $val1) = explode("|", $line);
    $data1[$key1] = $val1;
}
while($q=mysql_fetch_row($qsel))
{

    $rtable.='<tr><td><b>'.$q['1'].'</b></td>'; 
    $rtable.='<td>' . ( isset( $data1[ $q['0'] ] ) ? $data1[ $q['0'] ] : '' ) . '</td>'; 
    $rtable.='<td>data from file 2</td>'; 
    $rtable.='<td></td>'; 
}
while($q=mysql\u fetch\u row($qsel))
{
$rtable.=''.$q['1'].';
$rtable.=''(isset($data1[$q['0']])?$data1[$q['0']]]:'');
$rtable.='来自文件2的数据';
$rtable.='';
}

我首先获取文本文件并将其转换为索引数组:

$tmp1 = file('text1.txt');
$data1 = array();
foeach($tmp1 as $line)
{
    list($key1, $val1) = explode("|", $line);
    $data1[$key1] = $val1;
}
while($q=mysql_fetch_row($qsel))
{

    $rtable.='<tr><td><b>'.$q['1'].'</b></td>'; 
    $rtable.='<td>' . ( isset( $data1[ $q['0'] ] ) ? $data1[ $q['0'] ] : '' ) . '</td>'; 
    $rtable.='<td>data from file 2</td>'; 
    $rtable.='<td></td>'; 
}
然后,在mysql fetch循环中,只需使用索引数组:

$tmp1 = file('text1.txt');
$data1 = array();
foeach($tmp1 as $line)
{
    list($key1, $val1) = explode("|", $line);
    $data1[$key1] = $val1;
}
while($q=mysql_fetch_row($qsel))
{

    $rtable.='<tr><td><b>'.$q['1'].'</b></td>'; 
    $rtable.='<td>' . ( isset( $data1[ $q['0'] ] ) ? $data1[ $q['0'] ] : '' ) . '</td>'; 
    $rtable.='<td>data from file 2</td>'; 
    $rtable.='<td></td>'; 
}
while($q=mysql\u fetch\u row($qsel))
{
$rtable.=''.$q['1'].';
$rtable.=''(isset($data1[$q['0']])?$data1[$q['0']]]:'');
$rtable.='来自文件2的数据';
$rtable.='';
}

您已经做了什么?文件中的行是否已排序?是否有丢失的文件?是的,所有文件都按第一个id排序。没有丢失。我不知道,如何开始生成一个表与td从3x文件…请,帮助我!我更新帖子!你已经做了什么?文件中的行是否已排序?是否有丢失的文件?是的,所有文件都按第一个id排序。没有丢失。我不知道,如何开始生成一个表与td从3x文件…请,帮助我!我更新帖子!抱歉,此行中有个小错误
$data1=array()。另外,通过不显示,它是只显示没有数据的表头还是根本没有输出?我猜是数组,但不工作(表显示没有我们想要显示的
$data1[$q['qid']]的问题)
为什么要输出行?需要文件中的一行!您需要文件中的一行,但是哪一行?如果您看得足够近,
$data1
是索引数组,索引取自行文件的第一部分(ID,如上所述)。要获得正确的数据,您需要知道我现在正在查找的ID,因此
$data1[$q['qid']]
。哦,顺便说一句,这是免费服务,我帮你不用付钱。小心感叹号。对不起,这行中有一个小错误
$data1=array();
。另外,没有显示任何内容,它是只显示没有数据的表头还是根本没有输出?我猜是数组,但不是工作(表中没有显示我们想要显示的
$data1[$q['qid']]]
为什么要输出行?需要文件中的一行!需要文件中的一行,但是哪一行?如果仔细看,
$data1
是索引数组,索引取自行文件的第一部分(ID,如上所述)。要获得正确的数据,您需要知道我现在正在查找的ID,因此
$data1[$q['qid']]]
。哦,顺便说一句,这是免费服务,我可以帮助您而不必付费。小心感叹号。