2

さて、マーチマッドネスプールのウェブサイトをホストするためにオンラインで見つけたいくつかのphp/SQLスクリプトを使用しました。みんなのコードをセットアップしてデバッグするのは面倒でしたが、基本的には機能しました。何らかの理由で、作成者は「ブラケット」テーブルと「スコア」テーブルを作成しました。

「ブラケット」テーブルははるかに大きく、ID、名前、人物、電子メール、時間、タイブレーカー、および63人すべての人物のゲーム選択の変数が含まれています。idはブラケットごとに増加します。nameは、実際には作成者によってブラケットに付けられた名前です。人は人の名前です。等々。

何らかの理由で、この男はブラケットをスコアリングするための別のテーブルを作成しました。「scores」テーブルには、id、name、score、およびscoring_typeの変数があります。

データが実際にウェブサイトに表示されるスクリプトを並べ替えると、作成者が何を考えているのかわかりませんが、表示されるデータのほとんどすべてが「スコア」テーブルを使用しています。

私の問題:スコアテーブルには、個人名の変数がありません。したがって、ランキングと括弧はすべて、その人が括弧に付けた名前で表示および整理されます。人々は私に誰のブラケットが誰であるかを尋ね続けます。私はそれを実装するための迅速な修正になるだろうと思ったが、男の子は私が間違っていた。私はMySqlを初めて使用し、自分が何をしているのかを完全には理解していません。しかし、私はいくつかのものを調べました、そして私は多くのことを試みました、そしてそれを動かすことができません。

私が試したこと:テーブルを1つにまとめることを考えていましたが、年に1回設定したものに何時間も費やしたくありませんでした。両方のテーブルに同じ名前とIDの2つの値があると考えて、値を一致させて変数「person」を要求するためにいくつかのクエリを実行してみました。ただし、これらはいずれも機能していません。

私はこれをいくつかの異なる方法で変更しました:

$query = "SELECT person FROM `brackets' WHERE name='$name'";
$result = mysql_query($query,$db) or die(mysql_error());  
echo "mysql_result($result)";

変数を使用する場合と使用しない場合で試してみました。私も試しました:

$query = 'SELECT * FROM `brackets';
$result = mysql_query($query,$db) or die(mysql_error());  
$dataArray = array(); // create a variable to hold the information

while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) !== false){
    $dataArray[] = $row; // add the row in to the results (data) array
}
$personsNameToDisplay = personsName($name, $dataArray);
echo "$personsNameToDisplay";

私もいくつかのアプローチを試した関数で:

function personsName( $passedBracketName, $dataArray ){
    $personsMatchedName;
    foreach ($dataArray as $key => $value){
          if($value == $passedBracketName ){
               $personsMatchedName = $value['person'];
          }
    }
return $personsMatchedName;
}   

私が得ているエラーは次のとおりです。

Table 'mlmadness.brackets' WHERE name='beasters'' doesn't exist

しかし、mySQLにアクセスし、「ブラケット」をクリックしてから「名前」をクリックすると、名前の値が「ビースター」であるブラケットが確実に存在します。

ありがとう

4

1 に答える 1

0
"SELECT person FROM 'brackets' WHERE name='{$name}'";

それでうまくいくはずです。あなたも持っblasters' .. the closing should also beていたが


もっといい方法:

$mysqli = new mysqli("localhost", "username", "password", "database_name");

$query = "SELECT person FROM brackets WHERE name='{$name}'";
$result = $mysqli->query($query);

while($row = $result->fetch_array())
{
    var_dump($row);
}
于 2013-03-22T01:17:27.223 に答える