2016-03-24 18 views
2

Bu yüzden uni için bir eTicaret sitesi yapıyorum ve aslında siteyi kromda görüntülemeye çalışana kadar her şey yolundaydı. Esasen uni'de MySQL malzemelerinden bir tablo oluşturuyorum. Sahip olduğum problem, masanın üzerinde olması gereken yer. Kodun dağınık olması için özür dilerim. Bir şeyler eklemek arasındayım. PHP echo sorunları, yanlış görüntüleniyor

Kod çalıştırırsanız

<?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 ?>

masanın üstünde Yankılanmayı bir demet atar SNIPPIT ve benim haberim neden veya nasıl düzeltmeliyiz. Sanırım bu muhtemelen bir çaylak hatası ama ben gerçekten panikliyorum. Dosya .php olarak kaydedilir ve dosyayı <!DOCTYPE html> ile başlatırım. Bu benim dosyamın en yakınının

<?php $connection = mysqli_connect(the stuff I need to connect.); ?> ile ilgili olduğu düşünülmektedir. HTML bir sürü dışarı yankılanan zaman

https://gyazo.com/0dd6a3d7b025133c5b061e6af06f1091

+2

Sadece soru kodundaki rengi vurgulamak, neyin yanlış gittiğine dair hızlı bir görsel ipucu verir. –

+0

Ekran görüntüsü PHP'nin işlenmemiş gibi görünüyor. Buradaki kod yanlış biçimlendirilmiş görünüyor. – chris85

+0

Notepad ++ ot NetBeans, hataların nerede olduğunu gösterecektir. – mitkosoft

cevap

3

İnsanlar genelde böyle sorunlar oluşurdu. PHP'nin güçlü yönlerinden biri, mükemmel bir şablonlama dilidir. Bu tür sorunlardan kaçınarak avantajınızdan faydalanabilirsiniz. Sadece HTML yazın ve dinamik içerik eklemek için gerekli olan PHP'yi kullanın. Bu şekilde tüm çeşitli alıntı senin koduyla diğer sorunlar olabilir vs. kaçan konusunda endişelenmenize gerek olmaz, ama bu en azından ben neden bahsettiğimi genel fikrini açıklamak gerekir:

<?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. Çok teşekkürler. Şu anda masanın üstünde görünen her şey 0):?> Ama açıkçası bununla başa çıkabilirim. Şimdi gerçekten gerçek bir iş yapabiliyor olabilir. Öyleyse yaptığınız şey bütün ekosları çıkardı ve PHP'ye ihtiyaç duyan bitler konuşma işaretleri ve PHP etiketlerinde mi? Bu yüzden, PHP'yi HTML'de yazarken, HTML’de yankılanan HTML’de html yazarak yazdınız mı? –

+0

Evet. Genel olarak, bunun PHP ile görünüm oluşturmanın daha temiz, daha kolay yazılma ve sürdürme yöntemi olduğuna inanıyorum. Ayrıca, yorumlarda belirtildiği gibi, uygun sözdizimi vurgulama özelliğine sahip bir IDE veya metin editörü kullanmak, bu tür sorunları çalışmanız sırasında daha belirgin hale getirecektir. –

+0

kısa etiketleri kullanmayın çoğu sunucunun kapatılmış Dave