【问题标题】:Little database problem小数据库问题
【发布时间】:2011-02-07 09:03:38
【问题描述】:

您好,我正在处理一个座位预订项目。我正在 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));
}

}

希望有人能帮助我!

谢谢!

【问题讨论】:

  • 我认为您不能以这种方式访问​​标签的值——其中没有“POST”数据。您不能将结果存储在文本框中并将其样式设置为看起来像标签吗?
  • 你说的是哪个名字?插入数据库时​​用户名是否为空?也许我遗漏了一些东西,但您的代码中没有元素 input[name=check]form_label($id='seatDiv'); 看起来不对。
  • 没有一切都正确插入到数据库中。只有“zitplaats”的价值。它总是返回零。另外,如果我将标签更改为文本框。

标签: jquery database codeigniter label


【解决方案1】:
$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') 在做什么,我觉得不合适。

输出是什么?

【讨论】:

  • 对于 zitplaats,数据库中的输出是 0。而且我不知道 $zitplaats 的价值是多少。我只是在尝试不同的东西。
【解决方案2】:

您可以包含一个隐藏的输入,其中包含您要传递给控制器​​(最终是模型)的值。确保您的控制器设置为检索“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(); ?>

试试这个,让我们知道你的情况。

【讨论】:

    猜你喜欢
    • 2022-10-23
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多