테스트 사이트 - 개발 중인 베타 버전입니다

질문 채택완료

6년 전 조회 2,827

 

카테고리별로 포인트를 지정하게 해주려는데 값 을 못받아오네요..

 

</p>

<pre>
<?php
$categories = explode('|', $row['bo_category_list']);
for ($j=0; $j<count($categories); $j++) {
    $category = trim($categories[$j]);
    $cp = sql_fetch(" select * from g5_category_point where bo_category_name = '{$category}' and bo_table = '{$row['bo_table']}' ");

    if ($category == '') continue;
?>
<tr class="<?php echo $bg; ?>">
    <td colspan="5"></td>
    <td style="text-align:left">카테고리: <?php echo $category ?></td>
    <td class="td_numsmall">
        <label for="category_read_point_<?php echo $j; ?>" class="sound_only">읽기 포인트</label>
        <input type="text" name="category_read_point[<?php echo $j ?>]" value="<?php echo $cp['bo_read_point'] ?>" id="category_read_point" class="tbl_input" size="2">
    </td>
    <td class="td_numsmall">
        <label for="category_write_point_<?php echo $j; ?>" class="sound_only">쓰기 포인트</label>
        <input type="text" name="category_write_point[<?php echo $j ?>]" value="<?php echo $cp['bo_write_point'] ?>" id="category_read_point" class="tbl_input" size="2">
    </td>
    <td class="td_numsmall">
        <label for="category_comment_point_<?php echo $j; ?>" class="sound_only">댓글 포인트</label>
        <input type="text" name="category_comment_point[<?php echo $j ?>]" value="<?php echo $cp['bo_comment_point'] ?>" id="category_read_point" class="tbl_input" size="2">
    </td>
    <td class="td_numsmall">
        <label for="category_download_point_<?php echo $j; ?>" class="sound_only">다운
포인트</label>
        <input type="text" name="category_download_point[<?php echo $j ?>]" value="<?php echo $cp['bo_download_point'] ?>" id="category_read_point" class="tbl_input" size="2">
    </td>
    <td colspan="6"></td>
</tr>
<?php } ?>
</pre>

<p>

 

원인을 찾아보니까 name 부분에서 배열처리부분에 $j 가 들어가는데 저부분인거같은데 잘 모르겠네요..

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

답변 2개

채택된 답변
+20 포인트

while 이나 for로 $row 값을 얻는 곳 외부 위쪽에  $category_i=0; 으로 지정해 주시고 

$categories = explode('|', $row['bo_category_list']); for ($j=0; $j

    if ($category == '') continue;

   ?>             카테고리:                              $j 를  $category_i 로 변경해 주시고 for 문 하단분에 $category_i++ 를 추가해 주십니다

                            

    //for 문안에 추가     $category_i++;      }  ?>

update나 추가 부분에 

     

$counter = count($cate_bo_table);  for($m=0;$m<$counter;$m++) {     $cp = sql_fetch(" select count(*) as cnt from g5_category_point where bo_category_name = '".$bo_category_name[$m]."' and bo_table = '".$cate_bo_table[$m]."' ");     if($cp[cnt]){         //내용을 업데이트 한다         $sql = "update g5_category_point set          ...          where bo_category_name = '".$bo_category_name[$m]."'          and bo_table = '".$cate_bo_table[$m]."' ";         sql_query($sql);     }     else{         //내용을 등록한다         $sql = "insert into g5_category_point set          ....         bo_category_name = '".$bo_category_name[$m]."',           bo_table = '".$cate_bo_table[$m]."' ";         sql_query($sql);     } } 형식으로 처리하시면 되실듯 합니다

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

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

값을 불러오는 부분은 문제가 없어보이는데 혹시 디비에서 값을 불러오는 부분에 잘못된것이 아닌가요?

 

</p>

<p>  $cp = sql_fetch(" select * from g5_category_point where bo_category_name = '{$category}' and bo_table = '{$row['bo_table']}' ");</p>

<p>var_dump($cp);</p>

<p>

로 값을 제대로 불러올수있는지를 체크해보셔야 할듯합니다.

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

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

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

로그인

전체 질문 목록