1

我最近刚刚获得了一个项目来编写一个脚本来比较两个 mysql 数据库并将信息打印到一个 html 表中。目前,我正在尝试按每个人的名字插入一个复选框,并且在选择该人时,与该人有关的行将在该人的名字下方扩展。我将 javascript 结合到我的脚本中来做到这一点,虽然我真的没有经验。The problem I am having is that when any checkbox is selected, all the rows for each individual is expanding instead of the rows pertaining only to the one individual selected.

到目前为止,这是我的代码:

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