2013-06-19 3 views
0

У меня есть раскрывающийся список, который заполняется из запроса MYSQLi. Я хочу, чтобы пользователь выбирал параметр и связанные с ним значения/записи, выведенные из базы данных и отображаемые пользователю на основе FirstName.Отображение данных

моя таблица не имеет столбец ID (я не сделал никаких. Начинается с FirstName)

Он отображает таблицу с заголовками столбцов, но не получать данные динамически из БД, которая случается быть закодированы в цикл while в [view code] ниже. Я провел весь свой день и всю ночь, пытаясь понять это. Помогите :(

Список кодов

<!DOCTYPE> 
<html> 
<head> 
<title>Update Data</title> 
</head> 
<body> 
<form name="form_update" method="post" action="update_test.php"> 
<?php 
$con=mysqli_connect("localhost","root","","ismat_db"); 
    //============== check connection 
if(mysqli_errno($con)) 
    { 
echo "Can't Connect to mySQL:".mysqli_connect_error(); 
    } 
else 
{ 
echo "Connected to mySQL</br>"; 
} 

//This creates the drop down box 
echo "<select name= 'FirstName'>"; 
echo '<option value="">'.'--- Please Select Person ---'.'</option>'; 
//$query=mysqli_query($con,"SELECT id,FirstName FROM persons"); 
$query = mysqli_query($con,"SELECT FirstName FROM persons"); 
//$query_display = mysqli_query($con,"SELECT * FROM persons"); 
while($row=mysqli_fetch_array($query)) 
{ 
echo "<option value='". $row['id']."'>".$row['FirstName'] 
.'</option>'; 
} 
echo '</select>'; 
?> <input type="submit" name="submit" value="Submit"/> 
</form> 
<br/><br/> 
    <a href="main.html"> Go back to Main Page </a> 
    </body> 
    </html> 

View Code

<!DOCTYPE> 
<html> 
<head> 
<title>Update Data</title> 
</head> 
<body> 

<?php 
$con=mysqli_connect("localhost","root","","ismat_db"); 
if(mysqli_errno($con)) 
{ 
echo "Can't Connect to mySQL:".mysqli_connect_error(); 
    } 

if(isset($_POST['FirstName'])) 
    { 
$name = $_POST['FirstName']; 

    $fetch="SELECT Firstname FROM persons WHERE Firstname = '".$name."'"; 
    $result = mysqli_query($con,$fetch); 
    if(!$result) 
    { 
    echo "Error:".(mysqli_error($con)); 
    } 
    //display the table 
    echo '<table border="1">'.'<tr>'.'<td align="center">'. 'From Database'. '</td>'.'</tr>'; 
    echo '<tr>'.'<td>'.'<table border="1">'.'<tr>'.'<td>'.'First Name'.'</td>'.'<td>'.' 
    LastName'.'</td>'.'<td>'. 'Gender' .'</td>'.'<td>'. 'Subject'. '</td>'.'<td>'.' 
    Hobbies' .'</td>'.'</tr>'; 

//Supposed to collect data from db-I tried using _array,_assoc instead of _row 
//and got mysqli_result() 
    // requires one parameter given boolean 

while($data=mysqli_fetch_row($result)) 
    { 
     echo ("<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td><td>$data[3]</td> <td>$data[4] </td></tr>"); 
} 
    echo '</table>'.'</td>'.'</tr>'.'</table>'; 
    } 
?> 
+0

Я уверен, что это очевидно для вас, но, э-э - каков ваш вопрос? – enhzflep

+0

@enhzflep Соответствующая строка при выборе опции из раскрывающегося списка не отображается из базы данных. –

ответ

2

Вы рассматривают пост-данные в 'ПгвЬЫате', что значение SELECT, однако. , это значение будет значением из одного из ОПЦИЙ, которое установлено в ID. Вы должны поместить значение FirstName как значения OPTION.

Кроме того, вы в настоящее время не получаете идентификаторы из базы данных.

+0

спасибо за ответ, вы хотите сказать, что мне нужно изменить эхо "