0

私のページには、ユーザーが自分のアカウントにログインすると、name と project の 2 つのフィールドがあるため、名前が入力された名前フィールドにログインするたびに、プロジェクト フィールドのドロップダウンにすべてのプロジェクトがリストされます。このレコードを編集すると、それが表示されます提出時に彼が選択した名前とプロジェクトですが、編集時に彼のすべてのプロジェクトが提出時のようにそこにリストされることを望みます。

提出時間のドロップダウンの私のプロジェクトコードは次のとおりです。

<tr>
           <td>Select Project</td>
           <td>
           <select id="project" name="project">
           <option value="">-- select --</option>
           <?php while($row = mysql_fetch_array($result))
              {
                 $pm = $row['assignpm'];
                 $assignpm = explode(",",$pm);
                 if(in_array($_SESSION['id'], $assignpm)){ ?>

               <option value="<?php echo htmlspecialchars($row['projectname']);?>"><?php echo htmlspecialchars($row['projectname']); ?></option>
 <?php } }?> 
             </select></td>
         </tr>

そして、これが編集時のプロジェクトフィールドの私のコードです:

<tr>
           <td>Select Project</td>
           <td><select name="project" id="project" style="width:145px">
               <option>Select</option>
              <option selected="selected" value="<?php echo $fetuser1['project'];?>"><?php echo $fetuser1['project'];?></option>       
                 </select></td>
         </tr>
4

2 に答える 2

0

したがって、編集するときは、「提出時」とほぼ同じことを行う必要があります。

<tr>
    <td>Select Project</td>
    <td>
        <select name="project" id="project" style="width:145px">
            <option>Select</option>
            <?php 
                while($row = mysql_fetch_array($result)) {
                    $pm = $row['assignpm'];
                    $assignpm = explode(",",$pm);
                    if(in_array($_SESSION['id'], $assignpm)) {
                ?>
                <option 
                    <?php if($fetchuser1['project'] == $row['projectname']) echo "selected='selected'";?> 
                    value="<?php echo htmlspecialchars($row['projectname']);?>"
                >
                    <?php echo htmlspecialchars($row['projectname']); ?>
                </option>
            <?php } }?>
        </select>
    </td>
 </tr>
于 2013-02-05T12:50:51.273 に答える
0

depends... what do your query look like? one query? two querys? one on the userid, name and stuff and another on the projects...

or are all project in the same table as the fetched username? and how are thy stored (blob, json, simple list)?

And last: mixing php inline with html is a very bad habbit ;)

say you have two querys

//query SELECT projectname FROM whatevertable WHERE userid = 'users-id'

$options = "<option value="">-- select --</option>".PHP_EOL;
while($row = mysql_fetch_array($result))
{
    if(htmlspecialchars($row['projectname']) == $_SESSION['preselected']) //whatever
        $options. = "<option selected="selected" value=".htmlspecialchars($row['projectname']).">".htmlspecialchars($row['projectname'])."</option>".PHP_EOL;
    else
        $options. = "<option value=".htmlspecialchars($row['projectname']).">".htmlspecialchars($row['projectname'])."</option>".PHP_EOL;
}

and after all the php code you can

echo "<td>Select Project</td>
<td>
    <select id=/"project/" name=/"project/">
        {$options}
    </select>
</td>";

But without knowing any of your code but that little php-mixed-html it's hard to answer precisely

于 2013-02-05T13:02:30.977 に答える