-1
我正在嘗試做一個dico檢查。因此,當用戶寫一個字時,代碼將找到第一個字母並從對應表中檢查。我把字典分成26個表格。 代碼正在運行,但代碼太糟糕了,太多的重複。 我知道有一些方法可以減少所有的代碼。 那麼...有什麼建議嗎?使用php避免重複行
<?php
$lng=strlen($word);$cr=0;
$f1='<div class="fOne">Votre mot : '.$word.' (<b>'.$lng.'</b> Lettres)';
$f2='<div class="fTwo">Votre mot : '.$word.' (<b>'.$lng.'</b> Lettres)';
$f3='<div class="fThree">********** ('.$lng.' Lettres)';
if ($lng>0)
{
include "../config.php";
if($lng==10) {
if (mysql_num_rows(mysql_query("SELECT mot FROM dix WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>';
else {echo $f2.' est incorrect !<br>';$cr=1;}
} else {
switch ($word[0])
{
case 'A':if (mysql_num_rows(mysql_query("SELECT mot FROM adiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'B':if (mysql_num_rows(mysql_query("SELECT mot FROM bdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'C':if (mysql_num_rows(mysql_query("SELECT mot FROM cdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'D':if (mysql_num_rows(mysql_query("SELECT mot FROM ddiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'E':if (mysql_num_rows(mysql_query("SELECT mot FROM ediki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'F':if (mysql_num_rows(mysql_query("SELECT mot FROM fdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'G':if (mysql_num_rows(mysql_query("SELECT mot FROM gdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'H':if (mysql_num_rows(mysql_query("SELECT mot FROM hdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'I':if (mysql_num_rows(mysql_query("SELECT mot FROM idiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'J':if (mysql_num_rows(mysql_query("SELECT mot FROM jdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'K':if (mysql_num_rows(mysql_query("SELECT mot FROM kdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'L':if (mysql_num_rows(mysql_query("SELECT mot FROM ldiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'M':if (mysql_num_rows(mysql_query("SELECT mot FROM mdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'N':if (mysql_num_rows(mysql_query("SELECT mot FROM ndiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'O':if (mysql_num_rows(mysql_query("SELECT mot FROM odiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'P':if (mysql_num_rows(mysql_query("SELECT mot FROM pdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'Q':if (mysql_num_rows(mysql_query("SELECT mot FROM qdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'R':if (mysql_num_rows(mysql_query("SELECT mot FROM rdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'S':if (mysql_num_rows(mysql_query("SELECT mot FROM sdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'T':if (mysql_num_rows(mysql_query("SELECT mot FROM tdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'U':if (mysql_num_rows(mysql_query("SELECT mot FROM udiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'V':if (mysql_num_rows(mysql_query("SELECT mot FROM vdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'W':if (mysql_num_rows(mysql_query("SELECT mot FROM wdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'X':if (mysql_num_rows(mysql_query("SELECT mot FROM xdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'Y':if (mysql_num_rows(mysql_query("SELECT mot FROM ydiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
case 'Z':if (mysql_num_rows(mysql_query("SELECT mot FROM zdiki WHERE mot='$word'",$conn))>0) echo $f1.' est correct ! <br>'; else {echo $f2.' est incorrect !<br>';$cr=1;} break;
}
}
}
else {$cr=1;echo $f3.' - Pas de mot !';}
?>
此代碼是不可讀。如果條件相差一個字母,則所有條件均爲 – Aerendir
。你爲什麼要複製一個字母的整個字符串? –
開關'用戶輸入的單詞的第一個字母',如果它是'A',那麼cpu將會前往Adiki表,所有以'A'開始的單詞都被存儲。 –