2015-11-18 2 views
-2

Отображается $ задание как неопределенное. Что не так с моей операцией switch?
В случае с коммутатором мы должны передать только одну переменную, но как добавить массив сюда.Неопределенная переменная: job

list_questatus также значения массива

if(isset($_POST['list_queuestatus'])) 
{ 
    $selected= $_POST['list_queuestatus']; 
    switch($selected[$job]){ 
    case 'r': 
     if($state[$jid]=="r"){ 
      $jobs[$j]=$jid; 
     } 
    break; 
    } 

} 
+0

Вам кажется, не устанавливая '$ job' в любом месте. – Andrius

+1

'$ selected ['job']' возможно – MrRP

+0

YEs, вы не определяете $ job, просто делайте что-то вроде '$ job =" r "' –

ответ

-1

Пожалуйста, используйте $_POST вместо $_post. И, пожалуйста, объявите переменную $ job до ее использования или внешнюю область.

Похоже, что задание не является переменной его индексом для массива. Поэтому, пожалуйста, используйте «job» вместо $ job.

Надеюсь, что это решит вашу проблему.

+0

no Это не решило – user4581244

+0

Это полный код, который вы указали выше? – Tristup

1
$j=0; 
$jobs=array(); 
for($i = 5; $i < count($output); ++$i) { 
$jid=trim(substr($output[$i],0,30)); 

     $jobid[$jid]=trim(substr($output[$i],0,30)); 
     $username[$jid]=trim(substr($output[$i],30,15)); 
     $queue[$jid]=trim(substr($output[$i],47,15)); 
     $jobname[$jid]=trim(substr($output[$i],63,15)); 
     $sessionid[$jid]=trim(substr($output[$i],79,8)); 
     $nds[$jid]=trim(substr($output[$i],88,4)); 
     $tsk[$jid]=trim(substr($output[$i],93,5)); 
     $reqmem[$jid]=trim(substr($output[$i],99,6)); 
     $reqtime[$jid]=trim(substr($output[$i],106,5)); 
     $state[$jid]=trim(substr($output[$i],112,2)); 
     $elaptime[$jid]=trim(substr($output[$i],114,8)); 


if(isset($_POST['list_queuestatus'])) 
{ 
      $selected= $_POST['list_queuestatus']; 

     switch($selected[$job]){ 

       case 'R': 
         if($state[$jid]=="R"){ 
           $jobs[$j]=$jid; 
         } 
           break; 
       case 'Q': 
         if($state[$jid]=="Q"){ 
           $jobs[$j]=$jid; 
         } 
           break; 
       case 'H': 
         if($state[$jid]=="H"){ 
           $jobs[$j]=$jid; 
         } 
           break; 
       case 'S': 
         if($state[$jid]=="S"){ 
           $jobs[$j]=$jid; 
         } 
           break; 
       case 'W': 
         if($state[$jid]=="W"){ 
           $jobs[$j]=$jid; 
         } 
           break; 
       case 'E': 
         if($state[$jid]=="E"){ 
           $jobs[$j]=$jid; 
         } 
           break; 
       case 'A': 
         $jobs[$j]=$jid; 
           } 
} 
else{ 
$jobs[$j]=$jid; 
     break; 
} 

} 


$selected=''; 
function get_options($select) 
{ 
     $list_queuestatus=array("--Select Status--"=>"SS","All"=>"A","Running"=>"R","Queued"=>"Q","Held"=>"H","Suspened"=>"S","Waiting"=>"W","Error"=>"E"); 
     $options=''; 
     while(list($k,$v)=each($list_queuestatus)) 
     { 
       if($select==$v) 
       { 
         $options.='<option value"'.$v.'"selected>'.$k.'</option>'; 
       } 
       else{ 
         $options.='<option value"'.$v.'">'.$k.'</option>'; 
       } 
     } 

     return $options; 
} 

echo '<form action="main.php?page=queuestatus&'; 
echo '" method="POST">'; 
echo '<select name="list_queuestatus" onchange="this.form.submit();">'; 
echo get_options($selected); 
echo '</select>'; 
echo '</form>'; 
+0

если его ответ не отвечает на вопрос –

Смежные вопросы