2015-08-12 3 views
0

Я хотел бы отображать мои значения из моей базы данных в таблице. Мне удалось отобразить приведенные ниже значения. Но все таблицы отделены друг от друга.Отображение данных из базы данных MYSQL в таблице (не отдельно)

Как объединить их все в один стол, пожалуйста?

<html> 
<head> 
</head> 
<body> 
<?php 
$con = mysqli_connect('localhost', 'root', '', 'yourspace'); 

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($con, "SELECT * FROM profiles"); 
while ($row = mysqli_fetch_array($result)) { 
echo "<div style='border:solid 1px #ccc;padding:10px;float:left;margin-top:10px;'>"; 
    echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> 
<th>Age</th> 
    <th>gender</th> 
    <th>hometown</th> 
    <th>University</th> 
    <th>Occupation</th> </tr>"; 
    echo "<tr>"; 



echo "<td>" . $row['first_name'] . "</td>"; 
echo "<td>" . $row['last_name'] . "</td>"; 
echo "<td>" . $row['age'] . "</td>"; 
echo "<td>" . $row['gender'] . "</td>"; 
echo "<td>" . $row['hometown'] . "</td>"; 
echo "<td>" . $row['university'] . "</td>"; 
echo "<td>" . $row['occupation'] . "</td>"; 

     echo "</tr>"; 
    echo "</table>"; 
    echo "</div>"; 
} 




mysqli_close($con); 

?> 

</body> 
</html> 
+0

Было бы полезно для ясности, если бы вы могли показать пример того, как он отображается в данный момент, а также пример того, как вы это хотели бы для отображения. –

ответ

2

Сначала надо ввязаться мозг, а затем начать кодирование.

Вы хотите, чтобы строки таблицы отображались как часть цикла.

<html> 
<head> 
</head> 
<body> 
<?php 
$con = mysqli_connect('localhost', 'root', '', 'yourspace'); 

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($con, "SELECT * FROM profiles"); 

echo "<div style='border:solid 1px #ccc;padding:10px;float:left;margin-top:10px;'>"; 
echo "<table border='1'>"; 
echo "<tr> <th>Firstname</th> 
      <th>Lastname</th> <th>Age</th> 
      <th>gender</th> 
      <th>hometown</th> 
      <th>University</th> 
      <th>Occupation</th> 
     </tr>"; 

while ($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['first_name'] . "</td>"; 
    echo "<td>" . $row['last_name'] . "</td>"; 
    echo "<td>" . $row['age'] . "</td>"; 
    echo "<td>" . $row['gender'] . "</td>"; 
    echo "<td>" . $row['hometown'] . "</td>"; 
    echo "<td>" . $row['university'] . "</td>"; 
    echo "<td>" . $row['occupation'] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
echo "</div>"; 




mysqli_close($con); 

?> 

</body> 
</html> 
+0

Спасибо! @riggsfolly Все это для меня все еще нова. Просто начал учиться сегодня! И хотел на самом деле идти вперед. :) – rool

+0

получил плюс на мозг ;-) –

+1

* Захватить мозг * - Новый капитан Кирк? –

0

держать создание таблицы и конечную часть таблицы из цикла в то время как это:

echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> 
<th>Age</th> 
<th>gender</th> 
<th>hometown</th> 
<th>University</th> 
<th>Occupation</th> </tr>"; 

while ($row = mysqli_fetch_array($result)) {.... 
    //  print the records <Tr> <Td...... 
    } 

echo "</table>"; 
0

Вы не выполняете цикл правильно. Infact для каждой записи в вашей таблице профиля, которую вы создаете. <table> теги, которые не очень хороши.

Правильный способ сделать это так:

<html> 
<head> 
</head> 
<body> 

<?php 
$con = mysqli_connect('localhost', 'root', '', 'yourspace'); 

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    exit(); //Exit not to display the table since there is an mysqli error 
} 
echo "<div style='border:solid 1px #ccc;padding:10px;float:left;margin-top:10px;'> 
    <table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> 
    <th>Age</th> 
    <th>gender</th> 
    <th>hometown</th> 
    <th>University</th> 
    <th>Occupation</th> </tr> 
    <tr>"; 
$result = mysqli_query($con, "SELECT * FROM profiles"); 
while ($row = mysqli_fetch_array($result)) { 

    echo "<td>" . $row['first_name'] . "</td>"; 
    echo "<td>" . $row['last_name'] . "</td>"; 
    echo "<td>" . $row['age'] . "</td>"; 
    echo "<td>" . $row['gender'] . "</td>"; 
    echo "<td>" . $row['hometown'] . "</td>"; 
    echo "<td>" . $row['university'] . "</td>"; 
    echo "<td>" . $row['occupation'] . "</td>"; 
    echo "</tr>"; 

} 

echo "</table>"; 
echo "</div>"; 

mysqli_close($con); 

?> 
</body> 
</html> 

Надежда, что помогает.

0
while ($row = mysqli_fetch_array($result)) { 
echo "<div style='border:solid 1px 
#ccc;padding:10px;float:left;margin-top:10px;'>"; 
echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> 
<th>Age</th> 
<th>gender</th> 
<th>hometown</th> 
<th>University</th> 
<th>Occupation</th> </tr>"; 

Это ваша проблема. Пока цикл запущен, и каждый раз, когда он запускается, он создает новую таблицу, поэтому вам нужно поставить этот код за пределы цикла while, перед этим. Внутри цикла while вам просто нужно иметь код для добавления новых столбцов в существующую таблицу.

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