我正在尝试使用 PHP 创建一个表。我需要的是一个有两列的表格。
所以我有一个包含 4 个字段的 SQL 表 - 主键 ID、语言、单词和定义。每个语言都是阿拉伯语或俄语。
我想要一个执行以下操作的表:
| defintion |
|____________________|
| |
| rus1 | arab1 |
| rus2 | arab2 |
| rus3 | arab3 |
| rus4 | |
因此,它将列表除以英语单词,为每个英语单词创建一个,然后在左侧列中列出俄语对应词,在右侧列出阿拉伯语。但是,两者的数字通常不相同。我现在正在做的是在 WHILE 循环中运行 WHILE 循环。外循环运行良好,但我认为我做错了内循环。这是大部分代码:
$definitions=mysql_query("SELECT DISTINCT definition FROM words")
WHILE($row=mysql_fetch_array($definitions)
{
ECHO '<tr><th colspan="2">' . $row['definition'] . '</th></tr>';
$russian="SELECT * FROM words WHERE language='Russian' AND definition='".$row['definition']."'";
$arabic="SELECT * FROM words WHERE language='Arabic' AND definition='".$row['definition']."'";
WHILE($rus=mysql_fetch_array($russian) or $arb=mysql_fetch_array($arabic))
{
ECHO '<tr><td>'.$rus['word'].'</td><td>'.$arb['word'].'</td></tr>';
}
}
可悲的是我得到了这样的事情:
| defintion |
|____________________|
| |
| rus1 | |
| rus2 | |
| rus3 | |
| rus4 | |
| | arab1 |
| | arab2 |
| | arab3 |
不知道还有什么其他方法可以做到这一点?我尝试将 or 更改为 || 认为不同的优先级会导致另一个结果,但后来我只得到了俄罗斯专栏。
我没有想法,你们是我唯一的希望!