У меня есть вопрос, с которым я боролся часами! Я пытаюсь создать веб-сайт, чтобы отображать результаты охоты на благотворительных мусорщиков.
У меня есть таблица в базе данных mysql, содержащая мои данные; первый столбец содержит имя каждого человека, и каждый последующий столбец показывает, сколько из каждого объекта они собрали (я включил рис, чтобы все объяснить лучше).
Таблица 1:
Я пытаюсь использовать PHP для отображения этих данных в таблице, но я могу только представить его так, как я опубликовал на первом снимке. Я хотел бы выбрать данные одного человека и отобразить его в вертикальной таблице с двумя столбцами, в левом столбце указывается имя каждого объекта и правый столбец, показывающий, сколько объектов они собрали (я поставил рис. это тоже).
Таблица 2:
Это приводило меня в ужас в течение нескольких часов, поэтому любая помощь была бы очень признательна!
В принципе, если вы знаете имя = Fred, вы это делаете:
select * from your_table where name = 'Fred'
Затем прокрутите единый результирующий набор, отображающий каждый из элементов.
Вам лучше показать еще какой-нибудь код, как вы подключаетесь к db и т. Д.
Я не могу получить imgur от работы, но вы хотите сделать что-то вроде этого:
(предполагая, что вы связали свои результаты с этими переменными, конечно)
echo "<table>" while($resultsFromQuery->fetch()){ echo "<tr><td colspan=2>".$name."</td></tr>"; echo "<tr><td>item 1</td><td>".$item1."</td></tr>"; echo "<tr><td>item 2</td><td>".$item2."</td></tr>"; ... echo "<tr><td>item n</td><td>".$itemn."</td></tr>"; } echo "</table>
вecho "<table>" while($resultsFromQuery->fetch()){ echo "<tr><td colspan=2>".$name."</td></tr>"; echo "<tr><td>item 1</td><td>".$item1."</td></tr>"; echo "<tr><td>item 2</td><td>".$item2."</td></tr>"; ... echo "<tr><td>item n</td><td>".$itemn."</td></tr>"; } echo "</table>
Я делаю предположения, и, пожалуйста, не забудьте всегда делать резервную копию своей базы данных, прежде чем пытаться использовать новый код. Говоря по опыту.
Если вы используете PHP и MySQLi, попробуйте следующее: если вы хотите показать таблицу со всеми, у вас есть этот код, я предполагаю, что вы перейдете на другую страницу, чтобы показать отдельную таблицу для человека.
Вот что я сделал бы, когда вы нажмете на имя, перейдите на страницу, например person.php?person=Fred
вот код, который я бы использовал для этой страницы:
//Your DB connection details go here. $sql = "SELECT * FROM table WHERE name = '$_GET[person]'"; $sql_con = mysqli_query($con, $sql); $data = mysqli_fetch_array($sql_con); echo '<h2>Data for '.$data['name'].'</h2><br />'; echo '<table><tr><th>Items</th><th>Count</th></tr><tr>'; // SET UP YOUR TABLE echo '<td>Item 1</td><td>'.$data['item1'].'</td></tr><tr>'; echo '<td>Item 2</td><td>'.$data['item2'].'</td></tr>'; // CONTINUE FOR EVERY ITEM YOU HAVE echo '</table>';
Это должно сделать это, если это не то, что вы искали, дайте мне знать.