2016-03-24 2 views
2

Итак, я делаю сайт электронной коммерции для uni, и все было в порядке, пока я не попытался просмотреть сайт в хроме. По сути, я генерирую таблицу из материала MySQL обратно в uni. Проблема, с которой я столкнулась, выше, где должна быть таблица. Извините, что код беспорядок. Я между ними добавляю вещи.PHP echo issues, неправильный дисплей

<?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.); ?> Мысль это релевантно.

https://gyazo.com/0dd6a3d7b025133c5b061e6af06f1091

+2

Просто глядя на цвет подсветки в вопросе код дает быстрый визуальный ключ о том, что происходит не так. –

+0

Скриншот выглядит так: PHP не обрабатывается. Здесь код выглядит некорректно. – chris85

+0

Notepad ++ ot NetBeans покажет вам, где ошибки. – mitkosoft

ответ

3

Люди часто сталкиваются с проблемами, как это, когда вторя из серии HTML. Одна из сильных сторон PHP заключается в том, что это отличный язык шаблонов. Вы можете избежать этих проблем, используя это в своих интересах. Просто напишите 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, так как это было написано в PHP, повторяющем весь HTML-код? –

+0

Да. В общем, я считаю, что это чище, проще писать и поддерживать метод создания представлений с PHP. Кроме того, как упоминалось в комментариях, использование IDE или текстового редактора с соответствующей подсветкой синтаксиса сделает эти проблемы более очевидными по мере вашей работы. –

+0

dont использовать короткие теги, большинство серверов отключили их. Dave