2013-05-27 9 views
0

내 머리를 다시 긁어 내고 도움이 필요합니다.미리 저장된 세션 변수로 PHP 동적 선택 옵션 채우기

내가 가지고있는 세션은 두 번째 페이지로 전송되는 양식입니다. 양식에 이름 값 2 필드를 저장하고 세션에 값 이름을 설정하여 사용자가 페이지를 반환하면 사용자 이름은 이미 텍스트 필드에 채워집니다. 난 내가 그러나

$_SESSION['captured_by'] = $_POST['captured_by']; 
$_SESSION['prid'] = $_POST['prid']; 

저장하고이 작업을 확인 ..

두 번째 페이지를 ..을 내가 가지고 쿼리에서 채워지는 옵션을 선택 점점 붙어입니다

사용자가 페이지로 돌아 왔을 때 세션에 저장된 선택 옵션은 상자를 다시 선택하지 않아도 상자에서 해당 선택을 유지합니다.

양식 페이지 : 여기

다음과 같이 내가 무엇을 가지고이 작업을 수행하고 난 페이지로 돌아 가면 문제의 코드는이

입니다

<fieldset><legend>Lesson Added By *</legend> 
<p class="multiple">(Required - Logon ID)</p> 
<input name="captured_by" maxlength="12" id="searchfield" type="text" value="<?php 
if(isset($_SESSION['captured_by'])){print stripslashes($_SESSION['captured_by']);} 
else{print " ";} ?>"> 
</fieldset> 

captured_by 텍스트를 반환하지

<select id="searchfield" name="prid"> 

<?php 
$query = "SELECT project_name, project_id FROM ll_project ORDER BY project_name ASC;"; 
$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($result)) { 

echo '<option value="'.$row['project_id'].'">'.$row['project_name'].' | '.$row['project_id'].'</option>'; 
} 
?> 
</select> 
</fieldset> 

저장된 세션 값에서 이전에 선택한 옵션 값을 선택하도록이 마지막 섹션을 편집해야합니다.

누군가 도움을 줄 수 있습니까? 많은 감사. Tazzy

+0

질문을 이해하기 만하면 사용자가 양식에서 옵션을 선택할 때 페이지로 돌아 가면 해당 옵션이 선택되도록 해당 옵션을 저장하려고합니다. 나 맞아? –

+0

예를 선택하면 목록에서 프로젝트 이름 - 실제 값은 ID 번호입니다. 양식을 제출하고 '성공'페이지로 이동하면이 초기 페이지로 돌아가서 동일한 프로젝트에 대해 다른 제출을 추가하려고합니다. 그래서 내가 왜 이전에 선택했던 옵션이 페이지에 돌아 왔을 때 남아 있기를 원하는가? – Tazzy

답변

1

이 시도, 사람이 선택을 변경할 때 단순히 아약스를 사용할 수

<select id="searchfield" name="prid"> 

<?php 
$query = "SELECT project_name, project_id FROM ll_project ORDER BY project_name ASC;"; 
$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($result)) { 

echo '<option value="'.$row['project_id'].'"'. ((isset($_SESSION['prid']) && !empty($_SESSION['prid']) && ($_SESSION['prid'] == $row['project_id'])) ? 'selected="selected"' : '') .'>'.$row['project_name'].' | '.$row['project_id'].'</option>'; 
} 
?> 
</select> 
</fieldset> 
+0

안녕 Nikhil, 나는 이것을 어떤 시점에서 오늘 시험해보고 결과를 알려줄 것이다. 도와 주셔서 감사합니다. 감사합니다. – Tazzy

+0

Ok Nikhil, 이제 페이지로 돌아갈 때까지 작동합니다. 이전에 설정했던 옵션 대신 목록의 마지막 옵션이 선택됩니다. – Tazzy

+0

완벽한 Nikhil! 나는 당신을 사랑합니다! : P 정말 고마워요! *** 가상 포옹 *** – Tazzy

0

.

$('select#searchfield').change(function(){ 
    $.ajax({ 
     type: 'GET', 
     url: 'changeSession.php', // This is the url that will be requested 
     data: {prid: $('select#searchfield').val()}, 
     success: function(html){ 
     // nothing really happens because you simply update your session 
     }, 
     dataType: 'html' 
    }); 
}); 

그런

if(isset($_GET['projectId']{ 
    $_SESSION['captured_by'] = $_POST['prid']; 
} 

changeSession.php

에서 일을해야한다고. 그런 다음 폼이 생성 될 때 조건을 추가하고 $ _SESSION [ 'prid']이 비어 있지 않으면 selected = 'selected'를 추가합니다.