SQL 호출 질문입니다..

SQL 호출 질문입니다..

QA

SQL 호출 질문입니다..

답변 2

본문

3개의 필드에서 중복값을 제외하고 나열하려고하는데

1개의 필드값(1반)은 구하겠는데 3개를 어떻게 합쳐야하나 해서요...

  1반 2반 3반    
  김철수 박철수 박철수    
  홍길동 박길동 김민희    
  김민희 박민희 김철수    
  김철수 박철수 김민희    
           
결과: 김철수 홍길동 김민희 박철수 박길동 박민희

<?php
$sql_admin_custom = "SELECT * FROM g5_write_coin GROUP BY 1반";
$res_admin_custom = sql_query($sql_admin_custom);
for ($i=0; $row=sql_fetch_array($res_admin_custom); $i++) {
    echo $row['1반'].'<br>';
}
?>

조언이나 도움부탁드립니다 ㅠ

이 질문에 댓글 쓰기 :

답변 2


<?php
$arr = array();
$sql = "SELECT * FROM g5_write_coin GROUP BY 1반";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    $arr[] = $row['1반'];
    $arr[] = $row['2반'];
    $arr[] = $row['3반'];
}
$arr2 = array_unique($arr);
for ($i = 0, $cnt = count($arr2); $i < $cnt; $i++) {
    echo $arr[$i];
}
?>

array_unique($arr);를 하면
아하 따로 group by를 할 필요가 없나 보군요!
위처럼 진행했는데
잘되지 않아 추가적으로 ㅠ

1. 중복값들이 나오고 누락값들이 나오드라구요..
2.  echo $arr[$i].'='; 찍어보니
김철수=홍길동=====김철수=박철수=박길동=김철수=====
이런식으로 나오네요 ㅠ

제가 다시 한번 고쳐볼게요 감사합니다!

(정정)
$arr2 = array_unique($arr);
for ($i = 0, $cnt = count($arr2); $i < $cnt; $i++) {
    echo $arr[$i];
}
->
$arr2 = array_unique($arr);
for ($i = 0, $cnt = count($arr2); $i < $cnt; $i++) {
    echo $arr2[$i];
}

입니다. 중복제거한 값 $arr2

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #sql ×
전체 722
© SIRSOFT
현재 페이지 제일 처음으로