2016-03-24 5 views
2

私はuniのための電子商取引のウェブサイトを作っています。基本的に私はuniでMySQLのものからテーブルを生成しています。私が持っている問題は、テーブルがあるべき場所の上です。コードが混乱していると言いなさい。私は物事を追加する間です。PHPエコーの問題、間違った表示

<?php $command='select * from products' ; $runCommand=m ysqli_query($connection, $command); if (mysqli_num_rows($runCommand)>0){ echo " 
 
<form id=\ "shoppingcart\" action=\ "cart.php\" method=\ "post\">"; echo " 
 
    <table>"; echo " 
 
    <thead>"; echo " 
 
     <tr>"; echo " 
 
     <th scope=\ "col\">Image</th>"; echo " 
 
     <th scope=\ "col\">Item</th>"; echo " 
 
     <th scope=\ "col\">Qty</th>"; echo " 
 
     <th scope=\ "col\">UpdatedQty</th>"; echo " 
 
     <th scope=\ "col\">Price</th>"; echo "</tr>"; echo "</thead>"; while($ROWVARIABLE= mysqli_fetch_assoc($runCommand)) { //line BROKE goes here //need an if quantity=0 then don't print the bunch we have under here...// echo " 
 
    <tr>"; echo " 
 
     <td> 
 
     <img src='". $ROWVARIABLE["image"]. "' alt='". $ROWVARIABLE["decription"]. "' height='200' '</img></td>"; //this is still one line, don't flip shit. It 's the img with a hover over Decription 
 
\t \t \t echo "<td>". $ROWVARIABLE["name"]. "</td>"; //Item 
 
\t \t \t echo "<td>".newID[$ROWVARIABLE["ID"]]."</td>"; //Quantity 
 
\t \t \t echo "<td><select name=\"updateQ\" id=\"updateQ\">"; //Updated Quantity 
 
\t \t \t echo "<option selected=\"selected\">No change</option>"; 
 
\t \t \t echo "<option>1</option>"; 
 
\t \t \t echo "<option>2</option>"; 
 
\t \t \t echo "<option>3</option>"; 
 
\t \t \t echo "<option>4</option>"; 
 
\t \t \t echo "<option>5</option>"; 
 
\t \t \t echo "<option>6</option>"; 
 
\t \t \t echo "<option>7</option>"; 
 
\t \t \t echo "<option>8</option>"; 
 
\t \t \t echo "<option>9</option>"; 
 
\t \t \t echo "</select>"; 
 
\t \t \t echo "</td>"; 
 
\t \t \t //BROKE 2.0 
 
\t \t \t // Gotta fix this ^^ line to display £Price of all units added(£Price of one unit) 
 
\t \t \t 
 
\t \t } 
 
\t echo "</table>"; 
 
\t echo "</br>"; 
 
\t } 
 
\t else{ 
 
\t \t echo "Table broken, pls stahp!"; 
 
\t } 
 
\t ?>

あなたは、コードを実行した場合、それはテーブルの上にエコーの束を投げ、私は考え、なぜか、どのようにそれを修正するがありませんsnippit。おそらくルーキーなエラーだと思うけど、本当にパニックになっているよ。ファイルは.phpとして保存され、ファイルは<!DOCTYPE html>で開始されます。これは私のファイルの先頭近くにあります

<?php $connection = mysqli_connect(the stuff I need to connect.); ?> これは関連性のある考えです。 HTMLの多くを行うエコーとき

https://gyazo.com/0dd6a3d7b025133c5b061e6af06f1091

+2

質問のコードで強調表示されている色を見るだけで、間違っていることをすばやく視覚的に知ることができます。 –

+0

スクリーンショットはPHPが処理していないようです。ここのコードは正しくフォーマットされていないようです。 – chris85

+0

Notepad ++ ot NetBeansは、どこにエラーがあるかを表示します。 – mitkosoft

答えて

3

人々はしばしば、このような問題に実行します。 PHPの強みの1つは、優れたテンプレート言語であることです。このようなタイプの問題を回避することができます。 HTMLを書いて、動的コンテンツを挿入するために必要なところでPHPを使用してください。この方法は、あなたがそこにあなたのコードと他の問題かもしれないが、これは、少なくとも私が話しているかの一般的な考え方を説明すべきであるなど、すべてのさまざまな引用符のエスケープ、心配する必要はありません。

<?php 
$command = 'select * from products'; 
$runCommand = mysqli_query($connection, $command); 
if (mysqli_num_rows($runCommand) > 0): ?> 
<form id="shoppingcart" action="cart.php" method="post"> 
    <table> 
     <thead> 
      <tr> 
       <th scope="col">Image</th> 
       <th scope="col">Item</th> 
       <th scope="col">Qty</th> 
       <th scope="col">UpdatedQty</th> 
       <th scope="col">Price</th> 
      </tr> 
     </thead> 
     <?php while($ROWVARIABLE = mysqli_fetch_assoc($runCommand)): ?> 
     <tr> 
      <td> 
       <img src="<?= $ROWVARIABLE["image"] ?>" 
        alt="<?= $ROWVARIABLE["decription"] ?>" height="200"> 
      </td> 
      <td><?= $ROWVARIABLE["name"] ?></td> 
      <td><?= newID[$ROWVARIABLE["ID"]] ?></td> 
      <td> 
       <select name="updateQ" id="updateQ"> 
        <option selected="selected">No change</option> 
        <option>1</option> 
        <option>2</option> 
        <option>3</option> 
        <option>4</option> 
        <option>5</option> 
        <option>6</option> 
        <option>7</option> 
        <option>8</option> 
        <option>9</option> 
       </select> 
      </td> 
     </tr> 
    <?php endwhile; ?> 
</table> 
</br> 
<?php else: ?> 
    Table broken, pls stahp! 
<?php endif; ?> 
+0

Godlike。本当にありがとう。テーブルの上に表示されているものはすべて0です:?>しかし、率直に言って私はそれに対処できます。実際には実際には今実際に仕事をすることができるかもしれません。だから本質的にあなたがやったことはすべてのエコーを取り除き、PHPを必要とするビットはスピーチマークとPHPタグに入っていますか?だからあなたはちょっとhtmlで書いたことがあります。それは、PHPのすべてのHTMLをエコーするPHPで書かれています。 –

+0

はい。一般的に、私はこれがよりクリーンで、PHPでビューを作成する方法を記述して維持するのが簡単だと信じています。また、コメント内で言及されているように、適切な構文強調表示を持つIDEまたはテキストエディタを使用すると、作業中にこうした種類の問題がより顕著になります。 –

+0

短いタグを使用しないでください。ほとんどのサーバーではオフになっています。<?= <?php代わりに – Dave