存储数据的有效方式

时间:2013-08-02 09:51:56

标签: text

我的表格分为不同日期,周一至周四。

大多数日子包含两个类,每个类有2个不同的可用时间(有些只包含1个)?

3 个答案:

答案 0 :(得分:1)

您可以使用多维数组执行此操作:

<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>

<form method="POST" action="">
    <fieldset style="border:#00FFFF 3px solid">
        <legend>Monday</legend>

        Yoga Class: (Becc)<br>
        <input type="checkbox" name="classtimes[Yoga][monday][]" value="9am-11am">9am-11am<br>
        <input type="checkbox" name="classtimes[Yoga][monday][]" value="12pm-3pm">12pm-3pm<br>
        <br>
        Muay Thai Fitness: (Royce)<br>
        <input type="checkbox" name="classtimes[Muay Thai][monday][]" value="8am-10am">8am-10am<br>
        <input type="checkbox" name="classtimes[Muay Thai][monday][]" value="3pm-6pm">3pm-6pm<br>
    </fieldset>

    <fieldset style="border:#00FFFF 3px solid">
        <legend>Tuesday</legend>

        Yoga Class: (Becc)<br>
        <input type="checkbox" name="classtimes[Yoga][tuesday][]" value="9am-11am">9am-11am<br>
        <input type="checkbox" name="classtimes[Yoga][tuesday][]" value="12pm-3pm">12pm-3pm<br>
        <br>
        Muay Thai Fitness: (Royce)<br>
        <input type="checkbox" name="classtimes[Muay Thai][tuesday][]" value="8am-10am">8am-10am<br>
        <input type="checkbox" name="classtimes[Muay Thai][tuesday][]" value="3pm-6pm">3pm-6pm<br>
    </fieldset>


    <input type="submit">
</form>

输出结果为:

Array
(
    [classtimes] => Array
        (
            [Yoga] => Array
                (
                    [monday] => Array
                        (
                            [0] => 9am-11am
                        )

                    [tuesday] => Array
                        (
                            [0] => 9am-11am
                        )

                )

            [Muay Thai] => Array
                (
                    [monday] => Array
                        (
                            [0] => 8am-10am
                            [1] => 3pm-6pm
                        )

                    [tuesday] => Array
                        (
                            [0] => 8am-10am
                            [1] => 3pm-6pm
                        )

                )

        )

)

答案 1 :(得分:0)

<fieldset style="border:#00FFFF 3px solid">
<legend>Tuesday</legend>

Yoga Class: (Becc)<br>
<input type="checkbox" name="classtimes[yoga][]" value="9am-11am">9am-11am<br>
<input type="checkbox" name="classtimes[yoga][]" value="12pm-3pm">12pm-3pm<br>
<br>
Muay Thai Fitness: (Royce)<br>
<input type="checkbox" name="classtimes[muay][]" value="8am-10am">8am-10am<br>
<input type="checkbox" name="classtimes[muay][]" value="3pm-6pm">3pm-6pm<br>

</fieldset>

然后在你的PHP中:

foreach($_POST["classtimes"]["yoga"] as $classtimes){
     echo $classtimes;
}

答案 2 :(得分:0)

当我做这种事情时,我通常会在复选框名称中添加一些内容,以便为我提供其他信息,例如:

Yoga Class: (Becc)<br>
<input type="checkbox" name="0classtimes0" value="9am-11am">9am-11am<br>
<input type="checkbox" name="0classtimes0" value="12pm-3pm">12pm-3pm<br>
<br>
Muay Thai Fitness: (Royce)<br>
<input type="checkbox" name="0classtimes1" value="8am-10am">8am-10am<br>
<input type="checkbox" name="0classtimes1" value="3pm-6pm">3pm-6pm<br>

这样你就有:第一个数字是星期几的索引,第二个数字是所说日期类别的索引。

您可以使用以下内容捕获JQuery中的变量:

$("input:checked").each(function(){
    var id=$(this).attr("name"); //this gives you the XcasstimesY
    var value=$(this).val(); //this gives you the value(time) of the checked value
    //here you can get this info into an array, or any other variable you want to use to submit it!
});

当您在PHP中收到此信息时,假设您使用的是POST:

$x=0;
while($x<6) //6 days
    $y=0;
    while(isset($_POST[$x.'casstimes'.$y])){
        echo "On day $x class $y the selected time was".$_POST[$x.'casstimes'.$y];
        $y++;
    }
    $x++;
}