Ile Seçiniz Çoklu Explode: Sadece kelime "Array" döndürür

4 Cevap php

Kullanıcıların dışlamak için kategoriler seçin, böylece Wordpress kullanarak bir çoklu seçim kutusu oluşturduk. Sayfa ilk yüklendiğinde benim varsayılan değerler önceden seçilmiş bkz. Ben yeni değerler seçin ve kaydedin Ancak ne zaman ... Ben sadece kelime "Array" yankılandı ve seçili hiçbir şey gördün mü?

<select class="amultiple" id="<?php echo $value['id']; ?>"  name="<?php echo $value['id']; ?>[]" multiple="multiple" size="8">
    		<?php 
    			global $options;
    				foreach ($options as $value) {
    					if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); 
    					}
    				}
    				$categories = &get_categories('type=post&orderby=name&hide_empty=1');
    				if ($categories) {
    					$ex_cat = implode(',', $tt_cat_exclude);

    					foreach ($categories as $category) {
    						$selected = (in_array($ex_cat, $category->cat_ID)) ? ' selected="selected"' : '';
    						echo '<option value="' . $category->cat_ID . '"' . $selected . '>' . $category->cat_name . '</option>' . "\n";
    					}
    				}
?>
</select>
<br />For testing purposes, print variables: <?php echo $ex_cat; ?>

http://i48.tinypic.com/k9e3qq.gif

4 Cevap

Sen kullanmanız gerekir implode()

Şöyle

$ex_cat = implode(',', $tt_cat_exclude);

Bu bir virgülle ayrılmış listesini döndürür

Bu hat olmalı

$selected = (in_array($category->cat_ID, $ex_cat)) ? ' selected="selected"' : '';

Değiştirildi

$selected = (in_array($category->cat_ID, $tt_cat_exclude)) ? ' selected="selected"' : '';

Beri $ex_cat bir dizedir ve İn_Array'in kullanılabilir olamaz ()

$ex_cat sanırım artık gereksiz olduğunu.

tt_cat_exclude o açılış $ Neler eksik gibi görünüyor

name = "tt_cat_exclude []" Bir dizi tanımlama demektir, bu yüzden çıktı "dizi" olması için normal

for testing try print_r (outputs the whole architecture of the variable) or var_dump (outputs the var type too)

Eğer kaynaklandığını, alan tt_cat_exclude ayarladığınız değerler bir dizi - bir [] arkasında olan isim o tt_cat_exclude[] ettik çünkü.

Örnek:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select class="amultiple" id="tt_cat_exclude"  name="tt_cat_exclude[]" multiple="multiple" size="8">
  <option value="1">TestingA</option>
  <option value="2">TestingB</option>
  <option value="3">TestingC</option>
  <option value="4">TestingD</option>
  <option value="5">TestingE</option>
 </select>
<input type="submit" value="Submit" />
</form>
<br/><br/>For testing purposes: <?php

if(isset($_POST['tt_cat_exclude'])){
  var_dump($_POST['tt_cat_exclude']); // outputs an array of the selected values
}

?>