2014-11-16 2 views
-1

Я пытаюсь добавить столбец перед первым столбцом, который начинает нумерацию каждой записи, начиная с 1. Я пытался добавить автоинкремент к этой строке echo "". $ row ['ss']. "";, но это, похоже, не хочет работать. Есть идеи, как это сделать?Добавление столбца autonumber в таблицу php, которая читается из mysql

Мой код выглядит следующим образом:

$result = mysqli_query($con,"SELECT * FROM `results` WHERE Event='100' AND Gender='M' ORDER BY Performance ASC"); 

echo "<table border='0'> 
<tr> 
<th align='left'>Pos</th> 
<th align='left'>Event</th> 
<th>Performance</th> 
<th>Wind</th> 
<th>Place</th> 
<th align='left'>Name</th> 
<th align='left'>Surname</th> 
<th>Age</th> 
<th>Team</th> 
<th>Meet</th> 
<th>Date</th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) 
{ 
echo "<tr>"; 
echo "<td>" . $row['ss'] . "</td>"; 
echo "<td>" . $row['Event'] . "</td>"; 
echo "<td>" . $row['Performance'] . "</td>"; 
echo "<td>" . $row['Wind'] . "</td>"; 
echo "<td>" . $row['Pos'] . "</td>"; 
echo "<td width='100' align='left'>" . $row['Surname'] . "</td>"; 
echo "<td Width='100'>" . $row['Name'] . "</td>"; 
echo "<td>" . $row['Age'] . "</td>"; 
echo "<td>" . $row['Team'] . "</td>"; 
echo "<td>" . $row['Meet'] . "</td>"; 
echo "<td>" . $row['Date'] . "</td>"; 
echo "</tr>"; 
} 
echo "</table>"; 

mysqli_close($con); 
?> 

ответ

1

Добавьте эту строку в заголовке

<th align='left'>#</th> 

А вот PHP код

$count = 1; 
while($row = mysqli_fetch_array($result)) 
{ 
echo "<tr>"; 
echo "<td>" . $count . "</td>"; 
echo "<td>" . $row['ss'] . "</td>"; 
echo "<td>" . $row['Event'] . "</td>"; 
echo "<td>" . $row['Performance'] . "</td>"; 
echo "<td>" . $row['Wind'] . "</td>"; 
echo "<td>" . $row['Pos'] . "</td>"; 
echo "<td width='100' align='left'>" . $row['Surname'] . "</td>"; 
echo "<td Width='100'>" . $row['Name'] . "</td>"; 
echo "<td>" . $row['Age'] . "</td>"; 
echo "<td>" . $row['Team'] . "</td>"; 
echo "<td>" . $row['Meet'] . "</td>"; 
echo "<td>" . $row['Date'] . "</td>"; 
echo "</tr>"; 
//other code 
$count=$count+1; 
} 
+0

Пожалуйста, отметьте это как ответ, если вы думаете, что это помогло вам –

+0

Спасибо. Я получаю номера для каждой записи, но данные из столбцов справа не отображаются. Я не на 100% уверен, где ввести код, который вы указали. Не могли бы вы указать это мне? – Seef

+0

Я обновил свой код, теперь отметьте его –

0

Лучшим решением было бы использовать переменную счетчика для «номера» ваших строк:

$counter = 1; 

while($row = mysqli_fetch_array($result)) 
    echo "<td>" . $counter . "</td>"; 
    $counter++; 
} 

Это правильный способ сделать это, поскольку если этот столбец ss является автоматическим приращением mysql, то ваши строки не будут пронумерованы SORT, а скорее из того порядка, в который они были вставлены в базу данных, независимо от любого сортировка.

0

Попробуйте изменить fetch_array с FETCH_ASSOC

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