sql문 질문
본문
안녕하세요..
sql문 질문 드립니다.
for문을 이용하여 1~20까지 출력했습니다.
for ($i=1; $i<=20; $i++) {
echo $i;
}
그런데 문제는
sql문을써서
이렇게 만들고 싶은데
먼저
select * from $tender_table where wr_id = '$wr_id' order by td_tender_point limit $from_record, $rows
이렇게 select를 해서
td_tender_point라는 필드의 값을 가지고 저렇게 빨갛게 효과를 주고 싶은데 어떻게 해야되나요?ㅠ
for문으로
1
2
3
4
출력하다가
td_tender_point에 값이 만약에 2이면 2부분이 빨갛게 변하는...
제가한거는...
<?php
$qry = sql_query(" select * from $tender_table where wr_id = '$wr_id' order by td_tender_point ");
while ($row = sql_fetch_array($qry)) {
for ($i=1; $i<=100; $i++) {
$tmp_class=($i==$row[td_tender_point])?"num":"";
echo "<li class='$tmp_class'>$i</li>".PHP_EOL;
}
} ?>
이런데,
이러면 만약에 td_tender_point가 1,2,3,5,7 총5개가 있다 하면
class가 정상적으로 적용이 되긴 하는데.
1~100까지 5번 출력되면서
첫번재 1~100에는 1에 class적용
두번째 1~100에는 2에 class 적용
세번째 1~100에는 3에 class 적용
네번째 1~100에는 5에 class 적용
다섯번째 1~100에는 7에 class 적용
이렇게 되있네요 ㅠ
!-->!-->
답변 1
이렇게 해보세요
<?php
$qry = sql_query(" select * from $tender_table where wr_id = '$wr_id' order by td_tender_point ");
$td_tender_points = array();
while ($row = sql_fetch_array($qry)) {
$td_tender_points[$row['td_tender_point']] = true;
}
while ($row = sql_fetch_array($qry)) {
for ($i=1; $i<=100; $i++) {
$tmp_class=($td_tender_point[$i])?"num":"";
echo "<li class='$tmp_class'>$i</li>".PHP_EOL;
}
}
?>
답변을 작성하시기 전에 로그인 해주세요.