안녕하세요..
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개 / 댓글 2개
이렇게 해보세요
<?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;
}
}
?>
답변에 대한 댓글 2개
$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;
}
for ($i=1; $i<=100; $i++) {
if($td_tender_points[$i]){ $tmp_class="dd"; }else{ $tmp_class="yy";}
echo "<li class='$tmp_class'>$i</li>".PHP_EOL;
}
?>
요렇게 해결했네요 ㅎ
답변을 작성하려면 로그인이 필요합니다.