2011-10-19 4 views
0

정렬되지 않은 목록에 표시되는 따옴표가 페이지에 임의로 선택되어있는 간단한 데이터베이스를 만들었습니다. js 스크립트는 각 목록 항목을 한 번에 하나씩 표시합니다. 지금까지PHP : 검색 쿼리에서 배열 요소 추적

while ($row = mysql_fetch_assoc($query)) { 
    echo "<li><span id='id'>"; 
    // print the quote number 
printf ("%s", $row['id']); 
    echo "</span>&nbsp;<span id='quote'>"; 
    // print the quote 
printf ("%s", $row['strategy']); 
    echo "</span>&nbsp;<span id='author'>"; 
    // print the quote author 
    printf ("by %s", $row['author']); 
    echo "</span></li>"; 

}

너무 좋은 :

쿼리 루프입니다. 내 문제는 좋아요와 싫어요의 수를 표시하고 사용자에게 투표를하는 방법입니다. 나는 이런 식으로 인쇄되면 배열 데이터를 어떻게 유지할 수 있는지 알 수 없다. PHP에서 행 요소를 추적하기 위해 카운터를 사용하여 사용자가 어떤 견적을 투표하는지 알 수 있습니까?

감사합니다.

답변

0

에 코드를 읽기 힘들었다 그래서 그것을 다시 썼다. 따옴표에 대한 다른 데이터에 액세스하려면 따옴표 ID 번호를 사용하려고합니다. Dhruv의 예는 요소의 ID를 사용하고 자바 스크립트로 데이터를 얻는 좋은 방법이었습니다. 그러나 어떤 것은 서버에서 더 많은 것을 처리하려고 할 수 있습니다.

// assume the numbers I'm using are valid quote ids 
$like_array=array(12=>'15 likes', 14=>'2 likes', 18=>'6 likes'); 

$output =''; 

while ($row = mysql_fetch_assoc($query)) { 
    $output .= "<li><span id='id'>{$row['id']}</span>&nbsp;";      // quote number 
    $output .= "<span id='quote'>{$row['strategy']}</span>&nbsp;";    // print the quote 
    $output .= "<span id='author'>by {$row['author']}</span></li>";    // print the quote author 
    $output .= '<a href="http://somelink.com/page.php?like='.$row['id'].'"></a>'; // like link 
    $output .= '<span>Number of likes: '.$like_array[$row['id'].'</span>';  // like link 
} 

echo $output; 

같은 링크는 견적의 ID를 $ _GET 변수로 전달하는 링크 일뿐입니다. 좋아하는 수의 경우, 이미 그 정보를 가지고 있고 인덱스 키가 따옴표 인 배열로 이미 있다고 가정하십시오. ($ like_array입니다.)

이것은 기본적인 아이디어 일 뿐이지 만 올바른 방향으로 나아갈 수 있도록해야합니다.

+0

구문 오류 (및 @DhruvPathak) - 감사합니다.이 두 가지 방법을 시도해 보겠습니다. – matski

0

데이터베이스 기본 키 또는 인덱스 번호를 행의 id로 반향시킬 수 있습니다. 그러면 javascript는 투표 된 요소를 쉽게 감지 할 수 있습니다.

예 :

while ($row = mysql_fetch_assoc($query)) { 
    echo "<li><span id='id'>"; 
    // print the quote number 
printf ("%s", $row['id']); 
    echo "</span>&nbsp;<span id='quote'>"; 
    // print the quote 
printf ("%s", $row['strategy']); 
    echo "</span>&nbsp;<span id='author'>"; 
    // print the quote author 
    printf ("by %s", $row['author']); 
    echo "</span>"; 
    echo "<a id='votelink_'".$row['id']."href='javascript:void(0);' onclick='checkVote(this.id);' > VOTE HERE </a>";  
    echo "</li>"; 

} 

자바 스크립트 :

function checkVote(theId) 
{ 
    alert("Element with id = " + theId + " was voted"); 
}