2011-09-26 6 views
0

나는 사람들이 음악을 검색하고 검색 결과에 id가 첨부 된 사이트가 있습니다. 나는 그것에서 먹이를 만들기 위해 노력하고 있으며, 지금까지 효과가있다. 그러나 피드에는 클릭 할 때 검색 필드를 채우고 검색을 완료하는 링크로 검색을 수행하는 javascript 함수가 포함되어 있습니다. 문제는 각 링크를 특정 검색으로 연결하려고하는 것입니다.하지만 결국 PHP 변수의 값을 배열의 마지막 검색에 설정합니다. 내가 지금하고있는 일은 PHP 검색 변수를 나중에 자바 스크립트에서 호출하는 카운터로 설정하는 것입니다. 나는 이것이 매우 혼란 스럽다는 것을 알지만, 나는 최선을 다하고있다. 아마도 코드가 도움이 될 것입니다.자바 스크립트를 사용하여 PHP 요소를 반환하는 경우

$sql_userSearch = mysql_query("SELECT id, searchstring, timecount, userSearch FROM trending WHERE userSearch != 0 ORDER BY timecount DESC LIMIT 50"); 


    $counter = 1; 
    while($row = mysql_fetch_array($sql_userSearch)){ 

$search_id = $row["id"]; 
$searcher_id = $row["userSearch"]; 
$the_search[$counter] = $row["searchstring"]; 
$search_date = $row["timecount"]; 
$convertedTime = ($myObject -> convert_datetime($search_date)); 
$whenSearch = ($myObject -> makeAgo($convertedTime)); 
$search_date = $row["timecount"]; 


$searchDisplayList .= 
'<table style="border:#999 1px solid; border-top:none;" background="img/searchBG.png" cellpadding="5" width="100%"> 
<tr> 
    <td width="10%" valign="top"><img src="https://graph.facebook.com/'. $searcher_id . '/picture" width="35" height="35"></td> 
    <td width="90%" valign="top" style="line-height:1.5em;"> 
    <span class="liteGreyColor textsize9"><strong>' . $searcher_id . '</strong></a> searched for </span> 
    <a href="#" onClick="swapSearch()">' . $the_search[$counter] . '</a></br> ' . $whenSearch . ' 
    </td> 
    </tr></table>'; 


$counter++; 
} 

나중에이 링크를 반환하는 데 사용하는 javascript입니다.

 <script type="text/javascript"> 
    function swapSearch(){ 
     document.getElementById('s').value = "<?= $the_search[$counter] ?>"; 
     $('#searchForm').submit(); 
    } 
    </script> 

편집 : 난 그냥 링크의 텍스트를 잡고 탐색 양식을 채워 몇 가지 자바 스크립트를 사용하여 결국

. 내가하려는 일보다 쉬운 방법.

<script type="text/javascript"> 
    $("a.friendSearchLink").live("click",function(a) {  
a.preventDefault();       
var searchTerm = $(this).text(); 
document.getElementById('s').value = searchTerm; 
$("#searchForm").submit();     
    }); 
    </script> 
+0

자바 스크립트의 "링크"텍스트가 제대로 표시되지만 링크를 클릭하면 올바른 텍스트로 검색이 채워지지 않습니다. – Michael

답변

1

PHP가 사전 처리되었으므로 페이지가 클라이언트에 전송되기 전에 값을 반향시킬 수 있습니다. 원하는 작업을 수행하려면 찾고있는 정보가 들어있는 페이지로 ajax 호출을 보내야합니다. 그렇지 않으면 출력이 완전히 정적이됩니다.

+0

좋아, json이 출력을 인코딩하고 아약스로 잡아라. 각 링크를 배열의 해당 요소와 일치 시키려면 어떻게해야합니까? – Michael

+0

json 배열은 JavaScript 네이티브입니다. jQuery의'$ .getJSON' 함수를 사용하여 객체를 가져온 다음 객체를 반복 할 수 있습니다. –

0

$the_search의 모든 검색을 JS 배열에 저장 한 다음 $counterswapSearch('.$counter.')으로 전달할 수 있습니다. 검색이 무엇이든간에 js를 검색 할 수 있습니다.

내가 가지고있는 유일한 다른 질문은 게시물로 검색 양식을 제출하는 것입니까? $ _GET에서 읽으려면 URL을 변경하면 href="?q=$the_search[$counter]"을 설정하여 링크를 사용하여 검색을 실행할 수 있습니다. 다른 옵션은 url에 검색 ID를 전달하고 php를 사용하여 검색 결과/키워드를로드하는 것입니다.

관련 문제