【问题标题】:Codeigniter Show Data from Database into TextboxCodeigniter 将数据库中的数据显示到文本框中
【发布时间】:2017-01-04 03:41:33
【问题描述】:

我创建了一个帐户页面,我可以在其中查看数据库中的所有帐户。他们每个人都有一个名为查看更多的操作按钮。如果我按查看更多,来自数据库的其他详细信息将显示在文本框中。我想获取每一行的 ID 并将其传递给控制器​​以便查看它。但是,我似乎无法让它们显示在框中。

预期:Image

当前:Image

控制器:

function viewmore()
{
    $userid = $this->input->get('userid', TRUE);
    $data['view'] = $this->model_accounts->viewmore_user($userid);
    $data['main_content'] = 'view_adminviewmore';
    $this->load->view('includes/admin_viewmore_template', $data);
}

型号:

public function viewmore_user($userid)
{
     $query= $this->db->select('*')->from('accounts')->where('userid', $userid)->get();
     return $query->result();
}

操作按钮的视图:

          <?php foreach($users as $row): ?>
          <tr>
              <td><?php echo $row->firstname; ?></td>
              <td><?php echo $row->lastname; ?></td>
              <td><?php echo $row->username; ?></td>
              <td><?php echo $row->address; ?></td>
              <td class="action-button mobile-important">
                <a href="<?php echo base_url() ."admin_accounts/viewmore/?id=". $row->userid ?>"> <button type="button" class="btn btn-custom-3">View More</button></a>
              </td>

          <?php endforeach; ?>
          </tr>

显示数据的视图:

<?php foreach($view as $row): ?>
     <br>
     <p> First Name </p>
     <input class="form-control" id="sel1" type="text" placeholder="" value="<?php echo $row->firstname; ?>">
     <br>
     <p> Last Name </p>
     <input class="form-control" id="sel1" type="text" placeholder="" value="<?php echo $row->lastname; ?>">
     <br>
     <p> Username </p>
     <input class="form-control" id="sel1" type="text" placeholder="" value="<?php echo $row->username; ?>">
     <br>
     <p> Address </p>
     <input class="form-control" id="sel1" type="text" placeholder="" value="<?php echo $row->address; ?>">
     <br>
     <p> E-mail Address </p>
     <input class="form-control" id="sel1" type="email" placeholder="" value="<?php echo $row->email; ?>">
     <br>
     <p> Contact Number </p>
     <input class="form-control" id="sel1" type="text" placeholder="" value="<?php echo $row->contactnum; ?>">
     <br>
<?php endforeach; ?>

【问题讨论】:

    标签: php html mysql codeigniter


    【解决方案1】:

    如果您使用 CodeIgniter,为什么不使用 Form Helper?

    你可以使用这样的代码:

    <?php echo form_input('sel1', $row->firstname); ?>
    

    代替:

    <input class="form-control" id="sel1" type="text" placeholder="" value="<?php echo $row->firstname; ?>">
    

    在此处了解更多信息:https://www.codeigniter.com/user_guide/helpers/form_helper.html

    【讨论】:

      【解决方案2】:

      您的action button 必须是这样的:

      您可以使用&lt;?="hello word!!!" ?&gt; 代替&lt;?php echo "hello word!!!" ?&gt;

      base_url() 返回您设置的codeigniter 文件夹的根目录 在application-&gt;config-&gt;config.php

      <a href="<?=base_url()." YOUR_CONTROLLER_NAME/viewmore/".USER_ID ?>View More</a>
      

      上面的链接返回&lt;a href="localhost/YOUR_CONTROLLER_NAME/viewmore?id=USER_ID&gt;View More&lt;/a&gt;

      并且您的function viewmore() 必须更改为function viewmore($id=0),此$id 从您的网址中提供 USER_ID

      你最好知道codeigniter中的url包含这个: Controller/Function/variable that you want pass to your function

      【讨论】:

      • 嗨,我忘了为我的操作按钮添加视图。我在上面编辑了它。我的 URL 中已有 ID,但仍无法在框中显示数据。
      • 图片也在上面,当前的那个。但我希望它看起来像预期的那样。
      • 但是您的代码完全正确,您的意思是echo $row-&gt;firstname; 打印在文本框中而不是它的结果???
      • 这只是一个例子,我真的想展示数据库的结果。我现在编辑它以避免混淆。当我删除 foreach 循环时,这些框会按预期显示。但是当我把它们放回去时,这些盒子就像现在的一样消失了。
      • 好的,确保 foreach 循环为您创建此视图,为您的数据库表中存在的每一行
      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      相关资源
      最近更新 更多