1

私はつい最近、2 つの mysql データベースを比較し、情報を html テーブルに出力するスクリプトを作成する仕事のプロジェクトを与えられました。現在、各個人の名前でチェックボックスを挿入しようとしています。選択すると、その個人に関連する行がその人の名前の下に展開されます。私はこれを行うためにJavaScriptをスクリプトに組み合わせていますが、実際には経験がありません. 私が抱えている問題は、チェックボックスを選択すると、選択した1人の個人のみに関連する行ではなく、各個人のすべての行が展開されることです。

これまでの私のコードは次のとおりです。

PHP コード:

<?php

$link = mysql_connect ($server = "harris.lib.fit.edu", $username = "", $password =     "") or die(mysql_error());

$db = mysql_select_db ("library-test") or die(mysql_error());

$ids = mysql_query("SELECT * FROM `ifc_studylog`") or die(mysql_error()); //not single quotes (tilda apostrophy)

    $x=0;
    $n=0;

    while($row = mysql_fetch_array( $ids ))
    {           
        $tracksid1[$x] = $row['fitID'];
        $checkin[$x] = $row['checkin'];
        $checkout[$x] = $row['checkout'];

        $n++;
        $x++;
    }

$names = mysql_query("SELECT * FROM `ifc_users`") or die(mysql_error()); //not single quotes (tilda apostrophy)

    $x=0;

    while($row = mysql_fetch_array( $names ))
    {           
        $tracksnamefirst[$x] = $row['firstName'];
        $tracksnamesecond[$x] = $row['lastname'];
        $tracksid2[$x] = $row['fitID'];
        $tracksuser[$x] = $row['tracks'];

        $x++;           
    }           
$x=0;   

foreach($tracksid2 as $comparename)
{   
    $chk = strval($x);

?>      

JS コード:

$(window).load(function() {
    $('.varx').click(function() {
        $('.text').toggle(this.checked);
    });
});​                    

PHP コード:

<?php       
    echo '<td><input id = "<?=$chk?>" type="checkbox" class="varx" /></td>';
    echo '<td align="center">'.$comparename.'</td>';
    echo'<td align="center">'.$tracksnamefirst[$x].'</td>';
    echo'<td align="center">'.$tracksnamesecond[$x].'</td>';        

    $z=0;

    foreach($tracksid1 as $compareid)
    {
        $HH=0;
        $MM =0;
        $SS =0;

        if($compareid == $comparename)// && $tracks==$tracksuser[$x])
        {

            $SS = sprintf("%02s",(($checkout[$z]-$checkin[$z])%60));
            $MM = sprintf("%02s",(($checkout[$z]-$checkin[$z])/60 %60));
            $HH = sprintf("%02s",(($checkout[$z]-$checkin[$z])/3600 %24));

             //  echo'<td align="center">'.$HH.':'.$MM.':'.$SS.'</td>';

                    echo '</tr>';

             echo '<tr>';
               echo "<td id='txt' class='text' align='center' colspan='2' style='display:none'></td>";
               echo "<td id='txt' class='text' align='center' style='display:none'>".$checkin[$z]."</td>";

               echo  '</tr>';

        }
        echo '<tr>';
        $z++;
        echo  '</tr>';
    }       
$x++;
}           
}   
?>

私が主題についてあまりにも漠然としている場合は、どんな助けも高く評価され、謝罪します. セキュリティ上の理由から、ユーザー名とパスワードは省略されています。

4

0 に答える 0