0

誰かがこれを手伝ってくれるとしたら、それは素晴らしいことです。私はそれを解決する方法が本当にわかりません。私は自分が何をする必要があるのか​​を本当に理解せずに、しばらくの間頭を悩ませてきました。私は決してプログラマーではなく、純粋に独学ですので、簡単に思える場合はお詫び申し上げます。ファンタジーリーグのサッカーサイトのデータベースを作成し、結果とテーブルの正しいクエリを取得したので、マネージャーによる週次の結果を表示するクエリを追加します。これから、プレーヤーがそれらのマネージャーに対してスコアを付けました。 (同じプレーヤーを持つマネージャーのチームはありません)、次のような例:

(テーブルヘッダー:週>マネージャー>フォー>アゲインスト>スコアラー)2マネージャー1 3-0(プレーヤーa 1、プレーヤーb 2)2マネージャー2 1-2(プレーヤーf 1)2マネージャー3 4-1(プレーヤーg 2、プレーヤーx 2)

私は結果を得るために多くの結合を使用しており、スコアリングした各チームのプレーヤーを反復処理するために個別のforeachループを実行する必要があると考えて、ネストされたforeachループを実験してきました(つまり、目標は0より大きい)ですが、結果はまちまちです-必要なものはありません!

これが私のコードです。インデックスコントローラーからforeachループを表示するhtmlまでです。誰かが助けてくれるか、何かアイデアがあれば、私は本当に感謝しています。

    if (isset($_GET['action']) and $_GET['action'] == 'scorers')
    {
    include $_SERVER['DOCUMENT_ROOT'] . '/includes/db.inc.php';

    $sql = "SELECT Wk.week as ptsweeks, managers.managerid as ID, managers.manager as Manager, CASE when sum(Wk.goals)>GA.goals then '3' when sum(Wk.goals)=GA.goals then '1' when sum(Wk.goals)<GA.goals then '0' END as PTS, sum(Wk.goals) as F, GA.goals as A, case when Wk.goals>'0' then concat(Wk.name,' ',Wk.goals) end as goalscs 
from weeks2012 as Wk 
    inner join goalsAgainst2012 as GA 
    inner join strikers2012 as ST 
    inner join defences2012 as DEF 
    inner join managers
    on 
    Wk.week = GA.week and
    DEF.managerid = ST.managerid and
    ST.playerid = Wk.playerid and
    DEF.defenceid = GA.defenceid and
    managers.managerid = ST.managerid
    where Wk.week = '$weekWK'
    group by managers.managerid";
    $result = mysqli_query($link, $sql);
    if (!$result)
    {
    $error = 'Error updating submitted article.';
        include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
        exit();
    }

    while ($row = mysqli_fetch_array($result))
    {
    $weeks[] = array(
    'table' => array('ptsweeks' => $row['ptsweeks'], 'ID' => $row['ID'], 'Manager' => $row    ['Manager'], 'F' => $row['F'], 'A' => $row['A'], 'PTS' => $row['PTS']), 
'gs' => array('goalscs' => $row['goalscs'])
    );

    }


    include 'scorers_html.php';

}

** from scorers_html.php : 
    <table>
    <?php foreach($weeks as $key => $gls): ?>
    <tr> 
      <td> <?php echo $gls['table']['ptsweeks']; ?> </td>
      <td> <?php echo $gls['table']['Manager']; ?> </td>
      <td> <?php echo $gls['table']['F']; ?> </td>
      <td> <?php echo $gls['table']['A']; ?> </td>
      <td> <?php echo $gls['table']['PTS']; ?> </td>
   </tr>

      <?php foreach($weeks as $key => $gls): ?>
     <tr>
      <td> <?php echo $gls['gs']['goalscs']; ?> </td>
       </tr>
      <?php endforeach; ?>     
     <?php endforeach; ?>

     </table>
4

1 に答える 1

0

まず、Stackoverflow の構文強調表示を見ると、構文エラーが表示されます。あなたの3行目は

include $_SERVER['DOCUMENT_ROOT'] . '/includes/db.inc.php';

さらに見直したところ、以下の行も正しくありません。

include $_SERVER['DOCUMENT_ROOT'] . /includes/error.html.php';

そのはず

include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';

すべての文字列を引用符またはアポストロフィでカプセル化する必要があります。

KomodoEdit や Netbeans など、言語の構文強調表示を含むコード エディターを使用することをお勧めします。あなたは多くの頭痛を救うでしょう。

これで問題が解決しない場合は、発生している特定のエラー/問題を投稿してください。

于 2013-03-08T22:16:32.830 に答える