2011-02-07 4 views
0

안녕하세요. 자리 예약 프로젝트를 진행하고 있습니다. 나는 code_igniter에서이 프로젝트를 만들고있다. 이제 데이터베이스를 통해 좌석 라벨을 보내는 데 약간의 문제가 있습니다. 내 프로젝트에는 JQuery의 작은 부분이있다. 확인란을 선택하면 레이블에 이름이 표시됩니다. 하지만 데이터베이스에 보낼 때 항상 0을 반환 ???약간의 데이터베이스 문제가 발생했습니다.

이것은 내 jquery 기능입니다.

 $('[name=check]').each(function(i,d){ 
        $(d).removeAttr('disabled'); 
       }); 
      } 
        $("#seatDiv").html($(this).val()); 
       $(document).ready(function() { 
        $("input[name=check]").change(function() { 
        $("#seatDiv").html($(this).val()); 
        }) 
        }); 

내 양식

echo form_open('user/register'); 
     $username = array(
      'name'  => 'reg_username', 
      'id'  => 'reg_username', 
      'value'  => set_value('reg_username') 
     ); 
      $email = array(
      'name'  => 'reg_email', 
      'id'  => 'reg_email', 
      'value'  => set_value('reg_email') 
     ); 
      $gsmnummer = array(
      'name'  => 'reg_gsmnummer', 
      'id'  => 'reg_gsmnummer', 
      'value'  => set_value('reg_gsmnummer') 
     ); 
      $zitplaats = array(
      'name'  => 'reg_zitplaats', 
      'id'  => 'reg_zitplaats', 
      'value'  => '$id' 
     ); 
    ?> 
    <table> 
     <tr> 
      <td><label> Naam </label></td> 
      <td> <div> <?php echo form_input($username); ?></div></td> 
     </tr> 
     <tr> 
      <td><label>e-mail </label></td> 
      <td><div> <?php echo form_input($email); ?></div></td> 
     </tr> 
     <tr> 
      <td><label> gsm-nummer </label></td> 
      <td><div> <?php echo form_input ($gsmnummer); ?> </div></td> 
     </tr> 
     <tr> 
      <td><label>zitplaats</label></td> 

      <td><div id="seatDiv" > <?php echo form_label($id='seatDiv'); ?> </div></td> 
     </tr> 
     <tr> 
     <td> <?php echo form_submit(array('name'=> 'verzend','value' => 'verzend')); ?> </td> 

     <?php echo form_close(); ?> 

그리고 내 user_model

class User_model extends Model{ 
function User_model() { 
    parent :: Model() ; 
} 
function register_user($username, $email, $gsmnummer, $zitplaats){ 

    $query_str ="INSERT INTO tbl_reservering (username,gsmnummer,email,zitplaats)VALUES(?, ?, ?, ?)"; 
    $this->db->query($query_str,array($username,$email,$gsmnummer,$zitplaats)); 
} 

} 누군가가 나를 도울 수

희망!

감사합니다.

+0

이 방법으로 레이블의 값에 액세스 할 수 있다고는 생각하지 않습니다. 그곳에는 "POST"데이터가 없습니다. 결과를 텍스트 상자에 저장하고 레이블처럼 보이게 할 수는 없습니까? – Ross

+1

어떤 이름으로 말하고 있습니까? 데이터베이스에 삽입 할 때 사용자 이름이 비어 있습니까? 어쩌면 내가 누락되었지만 코드에 input [name = check] 요소가 없습니다. 그리고'form_label ($ id = 'seatDiv');는 틀 렸습니다. –

+0

모든 것이 db에 올바르게 삽입되지 않습니다. "zitplaats"의 가치 만. 항상 0을 반환합니다. 또한 내가 레이블을 텍스트 상자로 변경하면. – Steaphann

답변

0
$zitplaats = array(
      'name'  => 'reg_zitplaats', 
      'id'  => 'reg_zitplaats', 
      'value'  => '$id' 
     ); 

변수는 작은 따옴표 안에있을 때 구문 분석되지 않습니다.

이고, 여기서는 $id이 설정됩니다.

<tr> 
      <td><label>zitplaats</label></td> 

      <td><div id="seatDiv" > <?php echo form_label($id='seatDiv'); ?> </div></td> 

코드에 $zitplaats도 사용하고 있지 않습니다.

form_label($id='seatDiv') 님은 무엇을하고 있는지 알지 못하고, 어떻게 보일까요?

출력은 무엇입니까?

+0

데이터베이스의 출력은 zitplaats의 경우 0입니다. 그리고 나는 $ zitplaats의 가치가 무엇인지 모른다. 나는 단지 다른 것을 시도하고 있었다. – Steaphann

0

컨트롤러 (및 궁극적으로 모델)에 전달할 값이 포함 된 숨겨진 입력을 포함 할 수 있습니다. 컨트롤러가 'reg_zitplaats'를 검색하도록 설정되었는지 확인하십시오.

귀하의 jQuery를 이런 식으로 뭔가 (이것은 정말 이상한 물건을하고 있던 나는 원래 게시물에 대한 일부 수정했습니다) 같아야합니다

$(function() { 
    $('input[name=check]').removeAttr('disabled'); // not sure why the checkbox is disabled to start off with 

    $('input[name=check]').change(function() { 
    $('#seatDiv').html($(this).val()); 
    $('#reg_zitplaats').val($(this).val()); 
    }); 
}); 

그런 다음, 당신의 HTML이 아니라 그렇게 할 수 있습니다를합니다 (통지 숨겨진 입력) :

<?php 
echo form_open('user/register'); 
$username = array(
    'name' => 'reg_username', 
    'id' => 'reg_username', 
    'value' => set_value('reg_username') 
); 

$email = array(
    'name' => 'reg_email', 
    'id' => 'reg_email', 
    'value' => set_value('reg_email') 
); 

$gsmnummer = array(
    'name' => 'reg_gsmnummer', 
    'id' => 'reg_gsmnummer', 
    'value' => set_value('reg_gsmnummer') 
); 

$zitplaats = array(
    'name' => 'reg_zitplaats', 
    'id' => 'reg_zitplaats', 
    'value' => $id 
); 
?> 
<table> 
    <tr> 
    <td><label>Naam</label></td> 
    <td> 
     <div> 
     <?php echo form_input($username); ?> 
     </div> 
    </td> 
    </tr> 
    <tr> 
    <td><label>e-mail </label></td> 
    <td> 
     <div> 
     <?php echo form_input($email); ?> 
     </div> 
    </td> 
    </tr> 
    <tr> 
    <td><label>gsm-nummer</label></td> 
    <td> 
     <div> 
     <?php echo form_input($gsmnummer); ?> 
     </div> 
    </td> 
    </tr> 
    <tr> 
    <td><label>zitplaats</label></td> 
    <td> 
     <?php echo form_hidden($zitplaats); ?> 
     <div id="seatDiv" > 
     <?php echo form_label($id='seatDiv'); ?> 
     </div> 
    </td> 
    </tr> 
    <tr> 
    <td><?php echo form_submit(array('name'=> 'verzend','value' => 'verzend')); ?></td> 
    </tr> 
</table> 
<?php echo form_close(); ?> 

시험해보고 Google에 알려주세요.

관련 문제