2013-04-11 3 views
1

Je veux que les utilisateurs puissent voir le nom de tous leurs travaux et descriptions et ensuite pouvoir choisir parmi une liste les jours disponibles pour chaque travail impair. Essentiellement je veux que l'utilisateur soit affiché avec leur nom d'oddjob, description, une liste de jours et puis un bouton de mise à jour et je veux que ceci soit répété sur la même page pour chaque travail impair afin que l'utilisateur puisse voir leur courant dedans, le change , sélectionnez un jour et appuyez sur mise à jour.HTML sélectionner multiple dans les balises PHP

J'essaie d'obtenir la liste multiple pour travailler en php, mais je continue à obtenir cette erreur:

Parse error: syntax error, unexpected 'DaysAvailable' (T_STRING), expecting ',' or ';'

qui se rapporte à cette ligne de code sous la forme:

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

mise à jour page:

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


?> 

formulaire sur la même page:

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

fonction de mise à jour:

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()); 

} 

S'il vous plaît aidez-moi à mettre en œuvre, merci.

+0

Les messages d'erreur contiennent un nom de fichier et un numéro de ligne. Pourquoi les avez-vous omis? – str

+0

Erreur exacte: 'Erreur d'analyse: erreur de syntaxe inattendue 'DaysAvailable' (T_STRING), attendez ',' ou ';' dans oddjobexchange \ update_info.php on line 168' – Lairds

+0

Alors pourquoi avez-vous montré autant de code quand vous savez exactement où le problème apparaît? – str

Répondre

3

Vous faites écho à beaucoup de HTML, en utilisant un " comme délimiteur. A l'intérieur de votre HTML, vous avez:

<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> 

Cette première citation se termine le echo, et le reste est transmis à PHP à interpréter.

Pour un morceau de code comme celui-ci, vous pouvez utiliser un HEREDOC à la place.

Questions connexes