PHPを使用してテーブルを作成しようとしています。必要なのは2列のテーブルです。
つまり、主キーID、言語、単語、定義の4つのフィールドを持つSQLテーブルがあります。それぞれの言語はアラビア語またはロシア語です。
次のことを行うテーブルが必要です。
| 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 |
私がこれを行うことができる他の方法がわかりませんか?またはを||に変更してみました 優先順位が異なると別の結果が生じると考えていますが、ロシア語の列のみが表示されます。
私はアイデアがありません、あなたたちは私の唯一の希望です!