我正在寻找一种创建协作翻译小部件的方法。因此,我有一个名为“translations”的mysql数据库和表格,并有一个小脚本允许用户逐页翻译。
但是,我对我的脚本并不完全满意。我认为它不够高效。首先,mysql获取所有具有空“en”列的行,然后通过while显示其中的单个行。还有其他的做法吗?以下是代码:
我正在寻找类似于“echo $Col[$Randnum]['es']”或“echo $Col.$Randnum['es']”这样的东西,而不是使用整个while循环来打印单个随机行。如何实现这一点?如果只是优化问题。如果您能提供一个脚本或想法来分配给$Col只有一个带有随机数字和空的“en”列的行,那就更好了!(我认为最后一部分不可能)。'en'行是文本,所以我不知道如何实现其他方法,因为它们使用ORDER BY中的数字。
但是,我对我的脚本并不完全满意。我认为它不够高效。首先,mysql获取所有具有空“en”列的行,然后通过while显示其中的单个行。还有其他的做法吗?以下是代码:
//Retrieve all the data from the "translations" table
$result = mysql_query("SELECT * FROM translations WHERE en IS NULL OR en=''") or die(mysql_error());
$Randnum=rand(0,mysql_num_rows($result)-1); //Gets a random number between 0 and the maximum number of rows
$i=0; //Start to 0
while($Col = mysql_fetch_array($result)) //While there are rows to evaluate
{
if ($i==$Randnum)
{
echo "\"".$Col['es']."\"<br><br>Translate it to English: <br>";
}
$i++;
}
我正在寻找类似于“echo $Col[$Randnum]['es']”或“echo $Col.$Randnum['es']”这样的东西,而不是使用整个while循环来打印单个随机行。如何实现这一点?如果只是优化问题。如果您能提供一个脚本或想法来分配给$Col只有一个带有随机数字和空的“en”列的行,那就更好了!(我认为最后一部分不可能)。'en'行是文本,所以我不知道如何实现其他方法,因为它们使用ORDER BY中的数字。