2013-04-29 2 views
-1

Я пытаюсь напечатать выбранное значение в выпадающем списке, но напрасно. Я новичок в php и html, так что это может показаться глупым вопросом, но, пожалуйста, помогите мне! это мой код:Печать выбранного значения в выпадающем списке с помощью php?

echo '<tr><td>Client:</td><td><select name="client_name">'; 
      $sql = mysql_query("SELECT * FROM client"); 
      $s= mysql_query("SELECT project.client_id, client_name, client.client_id FROM client,project where project.client_id=client.client_id AND project_id='$editId'"); 
      // $s2= mysql_fetch_array($s); 
      while ($row = mysql_fetch_array($sql)) 
      { 
       while ($s2==mysql_fetch_array($s)) 
       { 
       if ($row['client_id'] == $s2['client_id']) 
       $selected = "selected=\"selected\""; 
        else 
         $selected = " ";                   
       }  
       echo '<option value="' . $row['client_id'] . '" ' . ($selected == $row['client_id'] ? ' selected' : '') . '>' . $s2['client_name'] . '</option>'; 
      } 

Этот код не работает. Пожалуйста, помогите мне! Есть ли другой способ сделать это?

+1

"* Этот код не работает. *" Не очень помогает. Что он делает и что он должен делать? – Blender

+0

$ s2, похоже, не инициализирован. снова проверьте свой код и загрузите его, прокомментировав пожалуйста – abimelex

ответ

1

Попробуйте

echo '<tr><td>Client:</td><td><select name="client_name">'; 
     $sql = mysql_query("SELECT * FROM client"); 
     $s= mysql_query("SELECT project.client_id, client_name, client.client_id FROM client,project where project.client_id=client.client_id AND project_id='$editId'"); 
     // $s2= mysql_fetch_array($s); 
     while ($row = mysql_fetch_array($sql)) 
     { 
      while ($s2==mysql_fetch_array($s)) 
      { 
      if ($row['client_id'] == $s2['client_id']) 
      $selected = "selected=\"selected\""; 
       else 
        $selected = " ";                   
      }  
      echo '<option value="' . $row['client_id'] . '" ' . $selected . '>' . $s2['client_name'] . '</option>'; 
     }` 
0

Этот запрос является проблемой

$s= mysql_query("SELECT project.client_id, client_name, client.client_id FROM client,project where project.client_id=client.client_id AND project_id='$editId'"); 

вы пытаетесь получить два клиента Идентификаторы project.client_id и client.client_id, в таких случаях вы должны дать псевдонимы, как проект .client_id как project_client_id и client.client_id как client_client_id, затем используйте это значение для сравнения во время цикла.

Примечание. Используйте любой идентификатор клиента, который вы хотите либо project_client_id, либо client_client_id.

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