当用户选择特定考试时,我正在建立一个在线考试网站 然后从数据库中获取主题。然后计算主题数,然后将其分配给变量$ no_of_sub。 每个主题都有子类别存储在变量$ subject_cat [] []。
中$no_of_sub=7;//Here i assigned the no.of subject directly
$subject_cat= array ( array('Indian History','Indian national movement'),
array('Indian and World Geography',' Indian Geography',
'World Geography','Geography(jammu and kashmir)' ),
array('Indian Constitution','Indian Political History'),
array('Economic and Social Development',
'Sustainable Development',' Poverty',
' Inclusion', 'Demographics',
' Social Sector initiatives'),
array('Environmental Ecology',
'Bio-diversity and Climate Change','Physics ',
'Chemistry ','Biology','General Science'),
array('Defence Technology','Space Technology',
'Nuclear Technology','Biotechnology','Health',
'Other Technologies'),
array('Current events'),
array('General knowledge') );
//$subject_cat is a multi dimension array having sub categories for each subjects
for($i=0; $i<$no_of_sub; $i++)
//loop for subjects till no of subjects
{
for($j=0; $j<count($subject_cat[$i]); $j++)
//loop for each sub category within a subjects using multi dimensional array $subject_cat[subjects][sub_cat]
{
//Determine which subject to display the questions for
$query = "SELECT ques_id, q, op1, op2, op3, op4
FROM questions where cat='".$subject_cat[$i][$j]."' limit 3";
//for each subject category , it fetches data from MYSQL database Ex: where
cat="science"....
//
// other code goes here
//
我在本地主机中运行代码时遇到的问题是,它不提取所有类别,只提取一个类别
Where is the Indus Civilization city Lothal ? a) Gujarat b) Rajasthan c) Haryana d) Punjab
( ! ) SCREAM: Error suppression ignored for ( ! ) Fatal error: Maximum
execution time of 30 seconds exceeded in
C:\wamp\www\loginregister-master\testpage.php on line 68
我的问题是如何防止这个问题,我想优化我的代码,因为 每次获取数据时都需要很长时间,因为我的表每个类别有超过3000行。因此php执行时间会更长。 即使我将查询限制为1,查询也没有任何变化。 我只想在更短的时间内从每个类别和流程中选择1个问题。 任何帮助我的人都将不胜感激。
答案 0 :(得分:0)
我找到了解决方案 for循环需要更多的执行时间,并且由于每个循环中的数据提取,服务器的数据缓存容量也会增加 因此现在我用 单独的功能。它现在完美无缺。