-1

わかりました、これを説明するのは難しいようですが、私は今限界に来ています。そこに行って、それをしましたが、これを機能させることができません。ここにあります。

passengers次のデータを持つ名前のテーブルがあります。

ここに画像の説明を入力

この表形式で次のデータを選択しようとしています。

ここに画像の説明を入力

このコードを使用して:

<?php
require("aacfs.php");
$ac=mysql_query("select distinct fquo_id as 'fquo_id' from passengers where reservno = '0000188'") or die(mysql_error());
echo "<table><tr>";
while($bd=mysql_fetch_array($ac))
{
    $eg=$bd['fquo_id'];
    $w=mysql_query("select * from passengers where fquo_id = '$eg'") or die(mysql_error());
    $no=1;
    while($x=mysql_fetch_array($w))
    {
        $y=$x['pass_name'];

        echo "<tr><td colspan=2>$no. <input type=text name='pass1_".$no."' value='$y'></td><td>$no. <input type=text name='pass2_".$no."' value='$y'></td></tr>";
        $no++;
    }
}

echo"</tr></table>";

?>

しかし、それは次のようになります。

ここに画像の説明を入力

私は自分が何か間違ったことをしていることを知っていますが、これをしばらく修正してきたと信じていますが、それでも思い通りにはできません。これは、目的の出力に最も近いものです。テーブルを垂直に正しく印刷するにはどうすればよいですか? 次のようなコードは知っていますSELECT * FROM tbl \Gが、PHP では機能しません。私を助けてください。ありがとう。

4

4 に答える 4

0

私があなたが望むものを正しく理解したと仮定すると、以下はうまくいくはずです

<?php
...
    $no=1;
    while($x1 = mysql_fetch_assoc($w))
    {
        $y1 = $x1['pass_name'];
        $y2 = "";
        if($x2 = mysql_fetch_assoc($w))
           $y2 = $x2['pass_name'];            

        echo "<tr><td colspan=2>$no. <input type=text name='pass1_" . $no . "' value='" . $y1 . "'></td><td>$no. <input type=text name='pass2_" . $no . "' value='" . $y2 . "'></td></tr>";
        $no++;
    }
...

?>
于 2013-01-31T08:57:19.503 に答える
0

このDEMOが役立つかどうかを確認してください。そうであれば、コードを次のように変更する必要があります。

<?php
require("aacfs.php");
$ac=mysql_query("select distinct fquo_id as 'fquo_id' from passengers where reservno = '0000188'") or die(mysql_error());
echo "<table>";
while($bd=mysql_fetch_array($ac))
{
    $eg=$bd['fquo_id'];
    $w=mysql_query("select * from passengers where fquo_id = '$eg'") or die(mysql_error());

    $n = 2;
    $i = 0;
    while($x=mysql_fetch_array($w))
    {
       $i++;
       if($n % 2 == 0){
        echo  "<tr>";
       }
       $y=$x['pass_name'];

       echo "<td colspan=2>$no. <input type=text name='pass1_".$no."' value='$y'></td>";
       if($n % 2 == $n){
        echo  "</tr>";
       }
       $n++;
    }
}

echo"</table>";

?>
于 2013-01-31T09:21:54.273 に答える
0
<?php
require("aacfs.php");
$ac         =   mysql_query("SELECT * FROM passengers WHERE reservno = '0000188' ORDER BY fquo_id, pass_id") or die(mysql_error());
$temp_array = array();
while($row  = mysql_fetch_assoc($ac)){
    $temp_array[$row['fquo_id']][] = $row;
}

$td_count   = count($temp_array);
$tr_count   = 1;
$fquo_id    = array();

foreach($temp_array as $key=>$val){
  if($tr_count < count($val)){$tr_count = count($val);}
  $fquo_id[]= $key;
}
$tr_count   = 8; // if you want to display 8 rows;
echo "<table>";
for($i=0; $i<$tr_count; $i++){
    echo "<tr>";
    $no  = $i+1;
    for($j=0; $j<$td_count; $j++){
        echo "<td>";
        if(array_key_exists($i,$temp_array[$fquo_id[$j]])){
            echo $no.". <input type=text name='pass1_".$no."' value='".$temp_array[$fquo_id[$j]][$i]['pass_name']."'>";
        }
        else{
            echo $no.". <input type=text name='pass1_".$no."' value=''>";
        }
        echo "</td>";
    }
    echo "</tr>";
}
echo "</table>";

?>

ここに画像の説明を入力

于 2013-01-31T09:56:11.640 に答える
0
$ac=mysql_query("select distinct fquo_id as 'fquo_id' from passengers where reservno ='0000188'") or die(mysql_error());
while($bd=mysql_fetch_array($ac))
{echo "<table>";
    $eg=$bd['fquo_id'];
    $w=mysql_query("select * from passengers where fquo_id = '$eg'") or die(mysql_error());
    $no=1;
    while($x=mysql_fetch_array($w))
    {
        $y=$x['pass_name'];

  echo "<tr><td>$no. <input type=text name='pass1_".$no."' value='$y'></td></tr>";
        $no++;
    }
</table>
}

これを試してみてください..:P

于 2013-01-31T09:34:15.030 に答える