HTML在PHP标记中选择多个

时间:2013-04-11 16:56:59

标签: php html function user-profile

我希望用户能够看到他们所有奇怪工作和描述的名称,然后能够从列表中选择每个奇怪工作的可用天数。基本上我希望用户显示他们的oddjob名称,描述,天数列表然后更新按钮,我希望在每个奇怪的作业的同一页面上重复这一点,以便用户可以看到他们的当前进入,更改它,选择一天并点击更新。

我正在尝试让多个列表在php中工作,但我不断收到此错误:

  

解析错误:语法错误,意外的'DaysAvailable'(T_STRING),   期待','或';'

与以下形式的代码行相关:

<select name="DaysAvailable[]" size="5" multiple="multiple" id="DaysAvailable[]">

更新页面:

<?php   

            if (isset($_POST['OddJobName']) && isset($_POST['Description']) && isset($_POST['DaysAvailable']) && empty($errors) === true){//if (empty($_POST) === false && empty($errors) === true) { //if (isset(empty($_POST['OddJobName'])) && isset(empty($_POST['Description'])) && isset(empty($_POST['DaysAvailable'])) === false && empty($errors) === true)
            $daysavailable='';
            foreach ($_POST['DaysAvailable'] as $value)
            {

            $daysavailable .=$value." ";
            }

            $update_data = array (
                'MemberID'      => $MemberID,//$session_MemberID,//,$_SESSION['MemberID']
                'OddJobName'    => $_POST['OddJobName'],
                'Description'   => $_POST['Description'],
                'DaysAvailable' => $daysavailable, 

                );

                update_user ($update_data);

                if(success){
                 header('Location: member.php?username='.$username);
                 exit ();
                }
            } else if (empty($errors) === false){
                //otherwise output errors
                echo output_errors($errors);
            }


?>

同一页面上的表格:

<form action="" method ="post" enctype="multipart/form-data">
            <table width="100%" border="1" cellspacing="0" cellpadding="5">
                <td width="50%">
                <table width="100%" border="1" cellspacing="17" cellpadding="0">

<?php 

                    $result = mysql_query("SELECT * FROM `oddjob` WHERE `MemberID` = $MemberID");

                    while($row = mysql_fetch_assoc($result))
                    {
                    echo "<tr>
                        <td>
                        <p>Service Name:</p> 
                        </td>
                        <td>
                    <p>". $row['OddJobName']."</p>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <p>Description:</p>
                        </td>
                        <td>
                        <p>". $row['Description']."</p>
                        </textarea>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <p>Days Available(current week)*:</p>
                        <p>(hold Ctrl to select multiple)</p>
                        </td>
                        <td>
                        <select name="DaysAvailable[]" size="5" multiple="multiple" id="DaysAvailable[]">
                        "<option value="Monday">Monday</option>
                        <option value="Tuesday">Tuesday</option>
                        <option value="Wednesday">Wednesday</option>
                        <option value="Thursday">Thursday</option>
                        <option value="Friday">Friday</option>
                        <option value="Saturday">Saturday</option>
                        <option value="Sunday">Sunday</option>
                        </select>
                        </td>
                        <tr>
                </table>
                        <input type='submit'value='update'><input type='button'value='Back to profile' onClick="history.go(-1);return true;"><!--http://www.computerhope.com/issues/ch000317.htm-->
                </table>
                    </form>";
                        }
?>

更新功能:

function update_user($update_data){
            global $MemberID;
            $update = array();
            array_walk($update_data, 'array_sanitize');

            foreach($update_data as $field=>$data){ //loop through update data in update_info.php
                $update[] = '`' . $field . '` = \'' . $data . '\''; 
            }
            ("UPDATE `oddjob` SET " . implode(', ', $update). " WHERE `MemberID` = $MemberID") or die (mysql_error());

}

请帮我实现这一点,谢谢。

1 个答案:

答案 0 :(得分:3)

您使用"作为分隔符来回显大量HTML。在您的HTML中,您有:

<select name="DaysAvailable[]" size="5" multiple="multiple" id="DaysAvailable[]">
                    "<option value="Monday">Monday</option>
                    <option value="Tuesday">Tuesday</option>
                    <option value="Wednesday">Wednesday</option>
                    <option value="Thursday">Thursday</option>
                    <option value="Friday">Friday</option>
                    <option value="Saturday">Saturday</option>
                    <option value="Sunday">Sunday</option>
                    </select>

第一个引用是结束echo,其余的是传递给PHP解释。

对于像这样的大量代码,您可能希望改为使用HEREDOC