2015-05-22 3 views
0

Я хочу добавить динамический список выбора, содержащий мои данные с php. Как я должен это делать? Я также хотел иметь аргументы с переменными из другого php-файла, например $ mentor == $ rows. оценят егодобавить новую опцию в выбор со значениями из php

<th><select name="mentor" style="width:95%"> 
     <?php 
      $dbhost = 'localhost'; 
      $dbuser = 'root'; 
      $dbpass = ''; 
      $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
      mysql_select_db("testproject", $conn); 

      if(! $conn) 
      { 
       die('Could not connect: ' . mysql_error()); 
      } 

      $sql = "SELECT mtrname FROM mentors"; 
      $sql2 = "SHOW COLUMNS from mentors"; 
      $result= mysql_query($sql, $conn); 
      if(! $result) 
      { 
       die('Could not get data: ' . mysql_error()); 
      } 
      $fetchrow = mysql_fetch_row($sql2); 
      $num = count($fetchrow); 
      while($rows = mysql_fetch_array($result)) 
      { 
       for($i=0;$i<$num;$i++) 
       { 
        $rows[$i]; 
       } 
      } 
      mysql_close($conn); 
     ?> 
     <option value="<?php echo $mentor?>" <?php if($mentor==$rows[i]) echo 'selected'?>><?php echo $mentor?></option> 
     </select></th> 

отредактирован: так я пытаюсь поставить выберите опцию в когда пользователь первым относятся данные. что я пробовал <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db("testproject", $conn); if(! $conn) { die('Could not connect: ' . mysql_error()); } $sql = "SELECT mtrname FROM mentors"; $sql2 = "SHOW COLUMNS from mentors"; $result= mysql_query($sql, $conn); if(! $result) { die('Could not get data: ' . mysql_error()); } $fetchrow = mysql_fetch_row($sql2); $num = count($fetchrow); while($rows = mysql_fetch_array($result)) { for($i=0;$i<$num;$i++) { echo"<option value='".$rows[i].">".$rows[i]."</option>"; } }
mysql_close($conn); ?>

но он не отображает ничего из таблицы наставника. является ли мой код неправильным или его проблема с mysql?

+1

Перемещайте дополнительный тег внутри 'для()' цикла, ток это снаружи из 'while' петли, так что не имеет никакого отношения к' $ rows' – Bankzilla

+0

@RobG жаль сэр –

ответ

0

Вы должны перейти от mysql, так как он не деформирован и движется в сторону PDO или mysqli. Если возвращаемые результаты верны, то вы в значительной степени там. Просто переместите тег option внутри цикла for().

while($rows = mysql_fetch_array($result)) 
{ 
    for($i=0;$i<$num;$i++) 
    { 
     echo "<option value='$mentor'". ($mentor==$rows[i] ? 'selected' : '') .">$mentor</option>"; 
    } 
} 
+0

для MySQL не суммируется и не имеет значения, потому что это только для проекта колледжа. Это единственное, что не работает. Все еще не работает. Как вы думаете, его проблема с моей базой данных? Правильно ли мой запрос/php? –

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