我正在努力建立一个带有codeigniter的幻想足球联赛,到目前为止一直很好,但我对选择特定幻想球队的球员有问题。到目前为止,您可以通过按钮看到玩家一次添加一名玩家。我的问题是如何创建一个代码来首先选择15个玩家,然后将所有玩家插入数据库,而不是一次添加一个...这是我的控制器
public function addPlayer($playerID)
{
$this->load->model('team_model');
$data=array(
'GK1'=>$playerID,
);
$this->team_model->add_player($data);
$this->load->view('header');
$this->load->view('transfer_view');
$this->load->view('footer');
}
和我的模特
function add_player($data){
$this->db->insert('fantansyteams',$data);
}
我正在使用杂货Grud来生成观点
public function transfers($output = null)
{
$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('player');
$crud->add_action('Add', '', 'team/addPlayer','ui-icon-plus');
$crud->columns('playerName','value','position');
$output = $crud->render();
$this->load->view('header');
$this->load->view('transfer_view',$output);
$this->load->view('footer');
}
答案 0 :(得分:0)
我认为您需要在控制器中传递一个“playerID”数组:
$data = array(
'GK1'=> $playerID, // 'GK1' => array(1,2,3,12...)
);
并在您的模型中:
function add_player($data){
// foreach players (1,2,3,12...) => insert the player
foreach($data['GK1'] as $playerID) {
$this->db->insert('fantansyteams', array('GK1' => $playerID));
}
}
就像你可以插入1个,2个,15个,100个玩家
我希望这会对你有所帮助:)。
答案 1 :(得分:0)
我想你可以:
示例:
<?php foreach ($players as $player) : ?>
<input type="checkbox" name="players[]" value="<?= $player->id ?>" > <?= $player->name ?> </input>
<?php endforeach; ?>
我在php文件中试过这个
if (isset($_POST['players'])) {
// players id list
var_dump($_POST['players']);
}
// players list
echo "<form action='' method='POST' >
<input type='checkbox' name='players[]' value='1'> Player 1 </input>
<input type='checkbox' name='players[]' value='2'> Player 2 </input>
<input type='checkbox' name='players[]' value='3'> Player 3 </input>
<input type='checkbox' name='players[]' value='15'> Player 15 </input>
<input type='submit' value='Add'>
</form>";
例如,当我选择播放器1和15时,var_dump结果为:
array (size=2)
0 => string '1' (length=1)
1 => string '15' (length=2)
我没有尝试使用codeIgniter,但如果您已经使用过codeIgniter的表单,我认为这很容易:)
我希望能回答你的问题。