2016-05-15 4 views
-2

最初のデータベース出力の1つですが、私はかなり詰まっています。私は情報の配列に異なるクラスを追加したい。配列にはカテゴリがあり、クラスを追加する先行値になります。私は、これまで使用しているコードは次のとおりです。jQueryでMySQLクエリが表示されません。

Parse error: syntax error, unexpected '(', expecting variable (T_VARIABLE) or '$' in C:\wamp\www....\index.php on line ..

私はおそらく問題を正しく識別していないよしかし、私はみんなあなたを願っています:

<?php 

    $sql = "SELECT name,title,content,date,category FROM pinboard"; 
    $result = $conn->query($sql); 

    if ($result->num_rows > 0) { 

     // output data of each row 
     while($row = $result->fetch_assoc()) { 

      echo "<article class='pin'><h2 class='pintitle'>".$row["title"]."</h2><p class='pincontent'>".$row["content"]."</p><div class='pininfo'><p class='pinname'>".$row["name"]."</p><p class='pindate'>".$row["date"]."</p></div></article>"; 

      if($row['category'] = 2){ 

       $('.pin').addClass("pin-message"); 
      } 
      else if($row['category'] = 1){ 
       $('.pin').addClass("pin-photo"); 
      } 
      else if($row['category'] = 3){ 
       $('.pin').addClass("pin-event"); 
      } 
     } 

    } else { 
     echo "0 results"; 
    } 
?> 

if($row[category'] = 2){ラインは、それが表示されます。この結果を与えますさらに私を助けることができます。

+2

あなたはphpでjavascriptを混ぜているようです。あなたの比較は割り当てです... – jeroen

+0

私はこの質問に投票しました: =>問題はMySqlで直接行うことは何もありません =>それは絶対ベースのPHP質問です =>少しの労力で(デバッグ...)あなたは問題を発見しました –

答えて

0

phpとjavascriptを混在させています。
あなたはそれが必要以上に複雑になっています。

<?php 

$sql = "SELECT name,title,content,date,category FROM pinboard"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 

    while($row = $result->fetch_assoc()) { 
    // define css-classes in php already 
    $classes="pin"; 
    switch ($row['category']) { 
     case 1: 
      $classes .= " pin-photo"; 
      break; 
     case 2: 
      $classes .= " pin-message"; 
      break; 
     //...and so on 
    } 
    // and then simply display them in first place 
    echo "<article class='".$classes."'><h2 class='pintitle'>".$row["title"]."</h2><p class='pincontent'>".$row["content"]."</p><div class='pininfo'><p class='pinname'>".$row["name"]."</p><p class='pindate'>".$row["date"]."</p></div></article>"; 
    // no need for any js-dom-manipulation afterwards 
    } 
} else { 
    echo "0 results"; 
} 
?> 

Appendum
を使用すると、2つの主要なmisstakesを持っていた:、これはあなたが望むものを達成する一つの良い方法でなければならない(DB-接続、クエリ、...)上記のすべてが正常であれば


1. phpからjs-functionsを呼び出そうとしています
2.間違った比較: if($x=1)は比較しませんが、$ xに1を割り当てます。したがって、ifは常に真です。正解は$x===1または$x==1です(その違いは別の話題です...)

+0

すばやい説明ですぐに返信してくれてありがとう。私はあなたの方法を試しましたが、引き続き構文解析エラーが発生します。エラーを作成する最後の括弧}。私はプログラミングで私の初心者のために申し訳ありませんが、私はちょうど解析エラーで何をするのか分からないようです。 –

+0

私は自分の答えを変更し、今、スクリプト全体を含めました。これにより、解析エラーは発生しません。エラーが発生した場合は、行を見つけ、括弧が一致することを確認してください。エラーラインは、実際のミスステートメントの後に1行になることがあります。 – Jeff

関連する問題