sql,json 관련 for구문 질문드립니다

json으로 현재 personal 테이블에 bus_go1,2,3,4가 각각 있고 값을 신청했으면 1, 아니면 0으로 

조사를 받아서 사용자가 카톡에서 메뉴 선택하면 신청, 미신청으로 볼 수 있게끔하려는데 

보통 코딩 되있던거 수정만해서 쓰다가 새로 추가하려니

많이 미숙해서 어느 부분이 잘못됐는지 모르겠네요... ㅠ 

Copy
$query = "SELECT * FROM personal where id = $id";
        $result = mysql_query($query);
        $row=mysql_fetch_array($result);
        $bus1 = $row['bus_go1'];
        $bus2 = $row['bus_go2'];
        $bus3 = $row['bus_go3'];
        $bus4 = $row['bus_go4'];
        
        
        $gisu = $row['gisu'];    
        $name = $row['name'];
        
        for($i=1; $i<=4; $i++) {
        
           if($bus[$i] == 1) {
           $bus_t[$i] = "신청" ; 
           }
           else {
           $bus_t[$i] = "미신청";
           }
        }
echo <<< EOD
    {
        "message": {
            "text": "$name($gisu) 님의 현재 귀경 차량신청 현황은 다음과 같습니다.\\n 첫째날 저녁:$bus_t1\\n 둘째날 저녁:$bus_t2 \\n 셋째날 저녁:$bus_t3 \\n 넷째날 새벽:$bus_t4"
        }

답변 2개

where id = $id -> where id = '$id'

$bus[$i] -> ${"bus$i"}

$bus_t[$i] -> ${"bus_t$i"} 

이렇게 바꾼후 다시 해 보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

잘못된 부분은,

for문 안에서는 배열(array) 변수 $bus_t[$i] 형태인데, ($bus_t[1], $bust_t[2], ... )

출력문에서는 일반변수 $bus_t1, $bust_t2, .. 형태로 쓰고 있습니다.

출력문에서 $bus_t[1], $bus_t[2], 형태로 변경해주면 됩니다.

※ https://www.w3schools.com/php/func_array.asp

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다!~ 해결했습니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고