PHP는

2011-01-09 12 views
0

나는 테이블이 페이지 및 제휴사는 제휴사의 ID입니다.PHP는

:

페이지 ID : 9 위하여 ID : 1

페이지 ID : 9 위하여 ID : 2

페이지 ID : 9 위하여 ID : 3

나는 3 개의 계열사 만 있습니다.

이 정보를 선택하고 제휴사별로 ID별로 그룹화하고 싶습니다.

내가이 쿼리 시도

: WHERE id =의 '9'GROUP 그것은 내가 PHP에서 할 때 잘 작동 affiliate

에 의해 table 로부터

SELECT COUNT (*)를 내 관리자, PHP에서 정보를 얻으려면 어떻게해야합니까?

나는 시도했다 :

$ Q =는 mysql_query (" table FROM COUNT (*)을 선택 WHERE id = '".. $ ID가 "'affiliate BY GROUP");

$ r = mysql_fetch_array ($ q);

페이지에 데이터를 인쇄하려고 할 때 한 가지 결과 만 나타납니다.

모두 3을 얻으려면 foreach/while 루프를 사용해야합니까? 이 일을 어떻게 하죠?

감사합니다.이 같은

+0

그녀에게 foreach/while 솔루션을 요청했지만 의견에 따르면 루프가 필요하지 않습니까? 나는 혼란 스럽다 ... – DrColossos

답변

3
당신은 루프로 MYSQL_ASSOC() (또는 mysql_fetch_assoc()을)해야

:

while ($row = mysql_fetch_assoc($q)) { 
    echo $row["id"]; 
    echo $row["affiliate"]; 
} 

UPDATE (주석에 따라) :

결과에 항상 행이 3 개인 경우 mysql_result() 기능이 도움이 될 것입니다 :

$firstAffiliate = mysql_result($q, 0, "affiliate"); 
$secondAffiliate = mysql_result($q, 1, "affiliate"); 
$thirdAffiliate = mysql_result($q, 2, "affiliate"); 

검색어가 실제로 3 개의 결과를 반환하는지주의 깊게 확인하십시오.

+0

내 콘텐트 내에서 루프를하고 싶지는 않지만 기본적으로 while 루프에 내 콘텐트를 배치하지 않고도 페이지 아래쪽에서 호출 할 수있는 3 개의 변수를 정의하고 싶습니다. – Latox

+0

3 행만있는 경우 대/소문자에 대한 대답이 업데이트 – Kel

+1

@Kyle : 쿼리가 3 행을 반환하므로 루프가 필요합니다. mysql_result()를 사용하는 것은 어리 석고 나쁜 습관이다. – Kim

2

루프 :

 
while($row = mysql_fetch_array($q)) { 
     print_r($row); 
} 
+0

나는 내 콘텐츠를 반복하고 싶지 않지만 기본적으로 while 루프에 내 콘텐츠를 넣지 않아도 페이지 아래로 더 전화를 걸 수있는 3 개의 변수를 정의하고 싶다. – Latox

0

그냥 Affiliate ID의 목록을 얻고 싶은 경우에, 당신은 당신이 PHP에서 다음 수,

select group_concat(affiliate) 
from table 
where id=9; 

그래서 단일 행에 1,2,3처럼 쉼표로 분리 된 값을 반환이 쿼리를 고려할 수 ,을 사용하여 분해하고 분해 된 배열의 크기는 count(*)

0

과 동일합니다. 실제 mysql 구문 내에서 상태를 유지할 변수를 사용할 수 있습니다 에프.

계열사 : 다음을 시도 이 가

을 afil_id 페이지 ID

세트 @ 페이지 ID = 0; page_id를 선택합니다. if (@page_id <> page_id, count (*), 0), @page_id : = page_id by page_id;

도움이 되길 바랍니다