2013-04-20 1 views
0

У меня есть следующий скрипт для печати текстового поля и некоторого текста. Когда страница загружена, textarea не появляется, даже если условие истинно. В чем может быть проблема?Textarea не отображается в php. Что такое ошибка?

$seq_query = "SELECT * FROM `mcsm`.`conseq_human` WHERE `MCSM_Id`='$mcsm_id';"; 
$seq_result = mysql_query($seq_query); 

print '<table border="0" align="left" style="margin-left:207px"><tr><th align="left">Conserved sequence</th></tr>'; 

if(!$conseq = mysql_fetch_array($seq_result)) 
{ 
    print "<tr><td><p>Not sufficient information yet.</p></td></tr></table>"; 
} 
else 
{ 
    while($conseq = mysql_fetch_array($seq_result)) 
    { 
     print "<tr><td><textarea name='seq_textarea' cols='100' rows=''>".$conseq['ConSequence']."</textarea></td></tr> 
     <tr><td>Based on MSA of ".$conseq['MSA_No_of_Seq']." sequences from <a href='results1.php?category=".$conseq['FamilyName']."' target='_self'>".$conseq['FamilyName']."</a> family.</td></tr></table>"; 
    } 
} 
+3

имеют 'строки = '' 'в' строк =' 6'' –

+0

@FahimParkar Это не работает –

+0

type 'echo" test "' перед печатью и видите, что вы получаете этот текст или нет ... может быть само условие не туда. может быть, у вас нет данных в результате mysql. –

ответ

4

попробовать это

$seq_query = "SELECT * FROM `mcsm`.`conseq_human` WHERE `MCSM_Id`='$mcsm_id';"; 
$seq_result = mysql_query($seq_query); 
print '<table border="0" align="left" style="margin-left:207px"><tr><th align="left">Conserved sequence</th></tr>'; 
if(mysql_num_rows($seq_result)>0) 
{ 
    while($conseq = mysql_fetch_array($seq_result)) 
    { 
    print "<tr><td><textarea name='seq_textarea' cols='100'  rows=''>".$conseq['ConSequence']."</textarea></td></tr> 
    <tr><td>Based on MSA of ".$conseq['MSA_No_of_Seq']." sequences from <a href='results1.php?category=".$conseq['FamilyName']."' target='_self'>".$conseq['FamilyName']."</a> family.</td></tr></table>"; 
    } 
} 
else{ 
print "<tr><td><p>Not sufficient information yet.</p></td></tr></table>"; 
} 
+0

Я думаю, вы должны написать 'rows = ''' to 'rows = '6'', иначе многострочные данные будут показаны только в одной строке. –

+0

@FahimParkar Я просто хочу сказать, что он использует mysql_fetch_array() один раз и для проверки более загруженных записей или нет для этого следует использовать mysql_num_rows() –

+0

@Yadav Chetan Спасибо, брат! Я в шоке, как у меня этого не было. –

0

Вы печатаете </table> для каждого while iteration.try это:

$seq_query = "SELECT * FROM `mcsm`.`conseq_human` WHERE `MCSM_Id`='$mcsm_id';"; 
$seq_result = mysql_query($seq_query); 
if (!$seq_result) { 
    die('Invalid query: ' . mysql_error()); 
} 
else{ 
    print '<table border="0" align="left" style="margin-left:207px"><tr><th align="left">Conserved sequence</th></tr>'; 
    if(mysql_num_rows($seq_result)==0) 
    { 
     print "<tr><td><p>Not sufficient information yet.</p></td></tr></table>"; 
    } 
    else 
    { 
     while($conseq = mysql_fetch_array($seq_result)) 
     { 
      print "<tr><td><textarea name='seq_textarea' cols='100' rows=''>".$conseq['ConSequence']."</textarea></td></tr> 
        <tr><td>Based on MSA of ".$conseq['MSA_No_of_Seq']." sequences from <a href='results1.php?category=".$conseq['FamilyName']."' target='_self'>".$conseq['FamilyName']."</a> family.</td></tr>"; 
     } 
     echo '</table>'; 
    } 
}