-4

私は文字列を検索する学校のプロジェクトに取り組んでおり、データベースにクエリを実行して、その文字列に含まれるすべての単語を返します。そのためには、strtoupper() を使用する必要があります。これは、すべて大文字または小文字の文字列がある場合にうまく機能します。検索に AAB または aab を入力すると、すべて正常に動作し、ABA と BAA の 2 つのアナグラムが返されます。ただし、aAB を入力すると、何も返されません。alpha という名前の入力から投稿データを取得し、単語をアルファベット順に並べ替えます。つまり、ABA と入力すると、AAB が返され、大文字になります。

<title>Scrabble</title>
<?php
require 'connect.inc.php';
if (isset($_POST['al'])){
    $al=$_POST['al'];
    $al=alpha($al);
    $al=trim(strtoupper($al));
    $query="SELECT * from Words WHERE alpha='$al'";
    if ($query_run = mysql_query($query)){

        while ($query_row = mysql_fetch_assoc($query_run)){
            $alpha = $query_row['alpha'];
            $ana = $query_row['word'];

            echo "<strong>$ana</strong> $alpha<br>";

        }
    }


}
function alpha($word){
    $array=array();
    for($x=0;$x<strlen($word);$x++){
        $char=substr($word,$x,1);
        $array[$x]=$char;


    }
    sort($array);
    $alpha=implode('',$array);
    return $alpha;

}
?>
<form action='scrabble.php' method='POST'>
Enter text to anagram. Please use either all uppercase or all lowercase<input type='text'                   name='al'>
<input type='submit'>
</form>

彼のリンクはここにあります http://newdev.shodor.org/~amalani/newdev/scrabble.php ありがとう

4

1 に答える 1

1

複数の問題:

PHP のsort 関数は、成功したかどうかをブール値で返します。コードには次のものがあります。

$array=sort($array);

それがちょうどあるべきとき:

sort($array);

上部近くに構文エラーがあります。

$alphagram=trim(strtoupper($al);

おそらく次のようになります。

$alphagram = trim(strtoupper($alphagram));

また、あなたのウェブサイトでは次のものを使用していることにも気付きました。

name='al'

次に、スクリプトで POST 変数へのアクセスを試みますalpha。以下を使用する必要があります。

$_POST['al']
于 2013-02-06T01:40:41.577 に答える