Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从sql数据库中选择html选择列表_Php_Html_Codeigniter - Fatal编程技术网

Php 从sql数据库中选择html选择列表

Php 从sql数据库中选择html选择列表,php,html,codeigniter,Php,Html,Codeigniter,我有一个有趣的问题。我正在尝试在codeignitert中预先填充一个编辑表单。我有数据库中的大部分值,但是我的选择框给了我一些问题。我希望它只突出显示他们以前选择的内容,而不是删除列表并用他们选择的内容填充…如果这有意义的话 这是我的html <?foreach($info as $row) :?> <select multiple="multiple" class="multi" name="wGenre[]"> <option value="Actio

我有一个有趣的问题。我正在尝试在codeignitert中预先填充一个编辑表单。我有数据库中的大部分值,但是我的选择框给了我一些问题。我希望它只突出显示他们以前选择的内容,而不是删除列表并用他们选择的内容填充…如果这有意义的话

这是我的html

<?foreach($info as $row) :?>
 <select multiple="multiple" class="multi" name="wGenre[]">
   <option value="Action/Adventure">Action/Adventure</option>
       <option value="Angst">Angst</option>
       <option value="Crime">Crime</option>
       <option value="Drama">Drama</option>
       <option value="Family">Family</option>
       <option value="Fantasy">Fantasy</option>
       <option value="Friendship">Friendship</option> 
       <option value="General">General</option>
  </select>
<?endforeach;?>

行动/冒险
焦虑
罪行
戏剧
家庭
幻想
友谊
一般的
我已经试过几种方法了。我曾尝试将列表放入一个内部for循环,并尝试选择通过echo返回的内容,但这只会给我带来错误。我可以为每一项做一个单独的if语句,但是我缩短了上面的列表,并有了另一个与之类似的语句,这似乎是不必要的代码量

如果有用的话,当我回显整个列表时,它会以字符串的形式返回,如下所示。幻想友谊将军和我有全文搜索功能

提前感谢您的帮助!:)



试试这个:

<select onchange="getwGenre(this.value);" name="wGenre" id="wGenre" >
 <?php  foreach( $info  as $row ) { 
    $sel = '';
   if( $row["wGenre_wGenre_name"] == $selected ) 
    $sel = 'selected="selected"';           

    echo '<option value="'.$row["wGenre_wGenre_name"].'" '.$sel.'>'.$row["wGenre_wGenre_name"].'</option>'."\n";
    } ?>
    </select>
    <?php echo form_error('wGenre'); ?>

试试这个:

<select onchange="getwGenre(this.value);" name="wGenre" id="wGenre" >
 <?php  foreach( $info  as $row ) { 
    $sel = '';
   if( $row["wGenre_wGenre_name"] == $selected ) 
    $sel = 'selected="selected"';           

    echo '<option value="'.$row["wGenre_wGenre_name"].'" '.$sel.'>'.$row["wGenre_wGenre_name"].'</option>'."\n";
    } ?>
    </select>
    <?php echo form_error('wGenre'); ?>


你能详细说明你想要什么样的结果和得到什么样的结果吗?我想尝试突出显示他们之前选择的存储在数据库中的内容。当我回显这个值时,我从数据库中得到的是我上面提到的字符串“Fantasy Frience General”你能详细说明你想要什么结果和你得到什么吗?我想尝试突出显示他们之前选择的存储在数据库中的内容。当我回显该值时,我从数据库中得到的是我上面提到的字符串“Fantasy Friendly General”,它不是作为数组从数据库中返回的,而是作为字符串返回的,就像Fantasy Friendly General
$infoArray=explode(“”,$myString)
然后在_array
中与
$infoArray
一起使用
。另一方面,此方法禁止您使用带有空格的类别,因为当您遇到一个您不知道的空格时,它是类别的一部分或下一个类别的分隔符。如果必须将其存储在字符串中(这一点首先是有争议的),最好使用逗号之类的分隔符。如果所有值都用空格分隔,而不是用空格分解它们并将其分配给$info。您应该将它们从mysql结果中以逗号分隔。但它不会作为数组从数据库中返回,它以字符串的形式返回,就像纯文本一样,幻想友谊一般
$infoArray=explode('''.$myString)
,然后在数组中使用
$infoArray
。另一方面,此方法禁止您使用带有空格的类别,因为当您遇到一个您不知道的空格时,它是类别的一部分或下一个类别的分隔符。如果必须将其存储在字符串中(这一点首先是有争议的),最好使用逗号之类的分隔符。如果所有值都用空格分隔,而不是用空格分解它们并将其分配给$info。您应该将它们从mysql结果中以逗号分隔。