2014-12-27 1 views
-6

Этот код не работает, по какой-то странной причине. Я уверен, что база данных MySQL правильно структурирована. да, я украл код из w3schools ... Может быть, код слишком долго, так что я буду объяснять мои намерения:Почему этот PHP-код не создает таблицу в html из базы данных mySQL?

<?php $servername = "localhost"; 
$username = "root"; 
$password = "censored"; 
$conn = mysqli_connect($servername, $username, $password, "wcprop"); 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
$result = mysqli_query($conn,"SELECT * FROM test_prop_list"); 
if (mysqli_num_rows($result)) > 0) { 
    echo '<table style="text-align: left; width: 100%;" border="1" cellpadding="2" 
    cellspacing="2"> 
    <tbody>'; 
     while($row=mysqli_fetch_assoc($result)) { 
      echo ' 
    <tr> 
    <td style="text-align: left; font-family: Trebuchet MS;"> 
    <h2>' . $row["name"]. '<br> 
    </h2> 
    <ul> 
    <li>Avaliable Flats:&nbsp' . $row["aval"]'. ; </li> 
    <li>Size:&nbsp' . $row["size"]. '; </li> 
    </ul> 
    </td> 
    <td style="text-align: left; font-family: Trebuchet MS;"> 
    <ul> 
    <li>View:&nbsp' . $row["view"]. ';<br> 
    </li> 
    <li>Comfort:&nbsp' . $row["comf"]. ';<br> 
    </li> 
    <li>Convenience:&nbsp' . $row["conv"]. ';<br> 
    </li> 
    <li>Total Rating:&nbsp' . $row["view"]+ $row["comf"]+ $row["conv"]. '<br> 
    </li> 
    </ul> 
    </td> 
    <td style="text-align: center; font-family: Trebuchet MS;"><img 
    style="height: 180px; width: 320px;" alt="picture of property" 
    src="' . $row["picl"]. '"><br> 
    </td> 
    <td style="text-align: left; font-family: Trebuchet MS;"> 
    <ul> 
    <li>Price per square meters: ' . $row["ppsm"]. '<br> 
    </li> 
    <li>Total price of flat: ' . $row["ppsm"]*$row["size"]. '<br> 
    </li> 
    </ul> 
    </td> 
    </tr>'} 
     echo 
      '</tbody> 
    </table>'} 
mysqli_close($conn); 
?> 
+1

более конкретно. Какая ошибка вы получаете? Что именно происходит неправильно? Вы знаете, где это происходит? – ChrisRockGM

+0

Ну W3Schools была вашей первой ошибкой ... – prodigitalson

+0

Я знаю, но я не лучший на PHP –

ответ

1

Вы имели 4 синтаксических ошибок там (операторы конкатенации внутри строки, отсутствующие точкой с запятой, нечетные скобки и т.д.):

<?php $servername = "localhost"; 
$username = "root"; 
$password = "censored"; 
$conn = mysqli_connect($servername, $username, $password, "wcprop"); 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
$result = mysqli_query($conn,"SELECT * FROM test_prop_list"); 
if (mysqli_num_rows($result) > 0) { 
echo '<table style="text-align: left; width: 100%;" border="1" cellpadding="2" 
cellspacing="2"> 
<tbody>'; 
    while($row=mysqli_fetch_assoc($result)) { 
echo ' 
<tr> 
<td style="text-align: left; font-family: Trebuchet MS;"> 
<h2>' . $row["name"]. '<br> 
</h2> 
<ul> 
<li>Avaliable Flats:&nbsp' . $row["aval"].' ; </li> 
<li>Size:&nbsp' . $row["size"]. '; </li> 
</ul> 
</td> 
<td style="text-align: left; font-family: Trebuchet MS;"> 
<ul> 
<li>View:&nbsp' . $row["view"]. ';<br> 
</li> 
<li>Comfort:&nbsp' . $row["comf"]. ';<br> 
</li> 
<li>Convenience:&nbsp' . $row["conv"]. ';<br> 
</li> 
<li>Total Rating:&nbsp' . $row["view"]+ $row["comf"]+ $row["conv"]. '<br> 
</li> 
</ul> 
</td> 
<td style="text-align: center; font-family: Trebuchet MS;"><img 
style="height: 180px; width: 320px;" alt="picture of property" 
src="' . $row["picl"]. '"><br> 
</td> 
<td style="text-align: left; font-family: Trebuchet MS;"> 
<ul> 
<li>Price per square meters: ' . $row["ppsm"]. '<br> 
</li> 
<li>Total price of flat: ' . $row["ppsm"]*$row["size"]. '<br> 
</li> 
</ul> 
</td> 
</tr>';} 
echo 
'</tbody> 
</table>';} 
mysqli_close($conn); 
?> 
+0

спасибо, работает. Мне нужно сортировать таблицы, как 100000000 раз лучше, хотя –

+0

@ Herp-a-Derp * «спасибо, работает» * - Ответ на исходный вопрос и его решение. Посетите ** http: //meta.stackexchange.com/a/5235/**, затем вернитесь к указанному ответу и отметьте галочку, как показано. Это пометит вопрос как решенный. Это так, как Stack rolls. * «Мне нужно сортировать таблицы как 100000000 раз» * - Это считается вторым вопросом и [должен быть размещен как таковой] (http://stackoverflow.com/questions/ask), не спрашивая другого «после», он имеет был дан ответ и разрешен. –

+0

@ Fred-ii- Я бы сказал, что это не совсем решено, потому что это происходит: http: //i61.tinypic.com/14xo20p.jpg –

0

в будущем вы можете избежать много, что было бы очевидных ошибок синтаксиса, переключаясь в и из PHP при выводе complext HTML:

<?php 

$servername = "localhost"; 
$username = "root"; 
$password = "censored"; 
$conn = mysqli_connect($servername, $username, $password, "wcprop"); 

if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$result = mysqli_query($conn,"SELECT * FROM test_prop_list"); 

?> 

<?php if (mysqli_num_rows($result)) > 0): ?> 

    <table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> 
     <tbody> 
      <?php while($row=mysqli_fetch_assoc($result)): ?> 
       <tr> 
        <td style="text-align: left; font-family: Trebuchet MS;"> 
         <h2><?php echo $row["name"] ?><br></h2> 
         <ul> 
          <li>Avaliable Flats:&nbsp; <?php echo $row["aval"]' ?></li> 
          <li>Size:&nbsp; <?php $row["size"] ?></li> 
         </ul> 
        </td> 
        <td style="text-align: left; font-family: Trebuchet MS;"> 
         <ul> 
          <li>View:&nbsp; <?php echo $row["view"] ?><br></li> 
          <li>Comfort:&nbsp;<?php echo $row["comf"] ?><br></li> 
          <li>Convenience:&nbsp; <?php echo $row["conv"] ?><br></li> 
          <li>Total Rating:&nbsp; <?php echo $row["view"] + $row["comf"] + $row["conv"] ?><br></li> 
         </ul> 
        </td> 
        <td style="text-align: center; font-family: Trebuchet MS;"> 
         <img style="height: 180px; width: 320px;" alt="picture of property" src="<?php echo $row["picl"] ?>"><br> 
        </td> 
        <td style="text-align: left; font-family: Trebuchet MS;"> 
         <ul> 
          <li>Price per square meters: <?php echo $row["ppsm"] ?><br> </li> 
          <li>Total price of flat: <?php echo $row["ppsm"]*$row["size"] ?><br></li> 
         </ul> 
        </td> 
       </tr> 
      <?php endwhile; ?> 
     </tbody> 
    </table> 
<?php endif; ?> 
+0

По-видимому, это не совсем сработало ... –

+0

Да ... нет причины повторять такую ​​большую строку. Я не знаю, какие другие языки вы использовали, но когда вы в «представлении», вы работаете с php jsut, как и с любым языком шаблонов (JSTL, ERB, ASP и т. Д.). – prodigitalson

+0

Там холодно, некоторые ошибки в моем коде. я не отлаживал его :-(был jsut, пытающийся показать переключения и выхода ... На самом деле просто увидел два элемента, которые я пропустил, переходя от вашей конкатенации к прямому эху. Дайте ему еще один снимок. И на этот раз, если вы получите ошибки, позвольте мне знаю. Я, очевидно, не могу проверить, не создавая или иным образом насмехаясь над вашей базой данных/структурой. – prodigitalson

Смежные вопросы