Я делаю сайт, чтобы пользователи могли добавлять товары на сайт. В форме, где пользователи могут добавить определенный продукт, я пытаюсь сделать выпадающую панель выбора, чтобы пользователи могли выбрать определенную категорию, которая принадлежит продукту, но я не уверен, как я могу это сделать ..
Database info:
category table: categories
Rows in the category table:
1. id
2. name
In my products table I also have a row called: category_id
Это мой вспомогательный файл БД (db_helper.php):
<?php if (!function_exists('get_categories_h')) {
function get_categories_h(){
$CI = get_instance();
$categories = $CI->Product_model->get_categories();
return $categories;
} } ?>
Это мой файл Product_model, в котором я сделал функцию get_categories:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Product_model extends CI_model {
public function saveProduct($data) {
$this->db->insert('products', $data);
$product_id = $this->db->insert_id();
return $product_id;
}
public function get_product_details($product_id) {
$arrReturn = array();
$this->db->select('*');
$this->db->from('products');
$this->db->where('product_id', $product_id);
$query = $this->db->get();
$result = $query->result_array();
if (!empty($result)) {
$arrReturn = $result[0];
}
return $arrReturn;
}
/*
Get categories
*/
public function get_categories(){
$this->db->select('*');
$this->db->from('categories');
$query = $this->db->get();
$result = $query->result_array();
return $result;
}
}
?>
Это моя форма просмотра, где я пытаюсь сделать опцию выбора панели категорий:
<?php echo form_open_multipart('Product/upload'); ?>
<table class="aanbieding-cadeau">
<tr>
<td>
<?php echo form_input(array('id'=>'product_naam', 'name'=>'product_naam', 'placeholder' => '1. Naam van het cadeau', 'size'=>25));?>
</td>
</tr>
<tr>
<?php foreach (get_categories_h() as $category) : ?>
<select name="category">
<a href="#"><?php echo $category['name']; ?></a>
</select>
<?php endforeach; ?>
</tr>
<tr>
<td>
<?php echo form_input(array('id'=>'ophaal_plaats', 'name'=>'ophaal_plaats', 'placeholder' => '3.Kies een stad', 'size'=>25));?>
</td>
</tr>
<div class="checkbox">
<label><input type="checkbox" value="">Gebruik adres van mijn account</label>
</div>
<tr>
<td>
<h4>Upload foto</h4>
<input type="file" name="userfile" />
</td>
</tr>
<tr>
<td>
<?php echo form_textarea(array('type'=>'textarea','id'=>'product_beschrijving', 'name'=>'product_beschrijving', 'placeholder' => '5. Vertel iets over dit cadeau..', 'size'=>25));?>
</td>
</tr>
<tr>
<td>
<input type="submit" class="btn btn-primary" name="submit" value="Cadeau aanbieden!" />
</td>
</tr>
</table>
</form>
Когда я загружаю форму просмотра, я не вижу ни одного выпадающего меню параметров категории, но вижу 10 маленьких панелей выбора, которые пусты, когда вы нажимаете на них. (PS: я вставил 10 категорий в свою базу данных)
Я надеюсь, что кто-то может помочь мне
Вопрос здесь:
<?php foreach (get_categories_h() as $category) : ?>
<select name="category">
<a href="#"><?php echo $category['name']; ?>
</a>
</select>
<?php endforeach; ?>
Вы положили select
тег внутри цикла, и a
тег не является частью select
, Только положить option
внутри цикла и исключить select
из цикла.
Измените код на:
<select name="category">
<?php foreach (get_categories_h() as $category) : ?>
<option><?php echo $category['name']; ?></option>
<?php endforeach; ?>
</select>
Измените выбранный код тега на:
<tr>
<select name="category">
<?php foreach (get_categories_h() as $category) : ?>
<option ><?php echo $category['name']; ?></option>
<?php endforeach; ?>
</select>
</tr>
Замечания:
1)Select
тег должен быть за пределами цикла.
2) использовать option
с выбранным тегом нет anchor
**