Проблем с while

meleto

Registered
PHP:
 echo '<tr>
                   <td></td>
                   <td> 1:  <select name="s0"> ';		
						 while ($row444 = mysql_fetch_assoc($result444))
                      {
						 $sin=$row444['sin_id'];
						 $queryb= mysql_query("SELECT sin_name FROM sin WHERE sin_id='$sin' ");
						$resultb=mysql_fetch_assoc($queryb);		
					
                      echo '<option value="'.$row444['son_id'].'">'.$resultb['sin_name'].' - '.$row444['name'].'</option>';
                       
					 }
					 
					 echo '</select></td>
                    </tr> 
					 <tr>
                   <td></td><td>
					    <select name="s1"> ';
					 
					while ($row444 = mysql_fetch_assoc($result444))
                      {
					 	$sin=$row444['sin_id'];
						 $queryb= mysql_query("SELECT sin_name FROM sin WHERE sin_id='$sin' ");
						$resultb=mysql_fetch_assoc($queryb);
					 echo ' 
                       <option value="'.$row444['son_id'].'">'.$resultb['sin_name'].' - '.$row444['name'].'</option>';
                     
					 }
					  echo '  </select> </td>
                    </tr>';

Първият SELECT показва правилно нещата, но втория не отчита <option> само <select>
 
Първо си променяй имената на променливите да не ти съвпадат.
И заявката която изпълнява $result444 можеше да дадеш.
Ето с този код си го направи и си направи 2 заявки или ако е една тогава вече си го направи с една , но не виждам смисъл 2 select-а да вадят от една и съща таблица ?
И си подреждай кода малко по-добре. (Препоръка)
Също така филтрирай изходните данни за по-голяма сигурност. (htmlspecialchars в случая)

PHP:
<?php
$result444 = mysql_query("ЗАЯВКА 1") or die(mysql_error());
echo '<tr><td></td>
<td> 1:  <select name="s0"> ';               
while ($row444 = mysql_fetch_assoc($result444))
{
$sin = htmlspecialchars($row444['sin_id']);
$queryb = mysql_query("SELECT `sin_name` FROM `sin` WHERE `sin_id`='$sin'");
$resultb = mysql_fetch_assoc($queryb);   
$son_id = htmlspecialchars($row444['son_id']);
$sin_name = htmlspecialchars($resultb['sin_name']);
$name = htmlspecialchars($row444['name']);
echo '<option value="'.$son_id.'">'.$sin_name.' - '.$name.'</option>';
}
echo '</select></td>
</tr> 
<tr><td></td>
<td><select name="s1"> ';
$result444b = mysql_query("ЗАЯВКА 2") or die(mysql_error());
while ($row444b = mysql_fetch_assoc($result444b))
{
$sinb = htmlspecialchars($row444b['sin_id']);
$queryb2 = mysql_query("SELECT `sin_name` FROM `sin` WHERE `sin_id`='$sin' ");
$resultb2 = mysql_fetch_assoc($queryb2);
$son_id2 = htmlspecialchars($row444['son_id']);
$sin_name2 = htmlspecialchars($resultb['sin_name']);
$name2 = htmlspecialchars($row444['name']);
echo ' <option value="'.$son_id2.'">'.$sin_name2.' - '.$name2.'</option>';
}
echo '</select> </td>
</tr>';
?>
 

Back
Горе