扩展唯一复选框的行

时间:2012-11-07 16:58:58

标签: checkbox unique rows

我最近刚给了一个项目,我的工作是编写一个脚本来比较两个mysql数据库并将信息打印到一个html表中。目前,我正在尝试按每个人的姓名插入一个复选框,选中后,与该个人相关的行将在该人的姓名下方展开。我将javascript结合到我的脚本中来做到这一点,虽然我真的没有经验。我遇到的问题是,当选中任何复选框时,每个人的所有行都在扩展,而不是仅与所选的一个人相关的行。

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

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++;
}           
}   
?>

如果我对这个问题过于模糊,那么任何帮助都会受到赞赏和道歉。出于安全原因,用户名和密码已被遗漏。

0 个答案:

没有答案