У меня большая проблема. Я получаю данные из базы данных. Я хочу отображать их в закладках. Мой метод - это цикл в цикле. Я покажу вам код. Моя проблема в том, что результат (второй цикл) выводится на все данные.MySql, loop (while foreach)
Первый цикл отображает каждое имя пользователя с тем же идентификатором на собственной вкладке. это работает. второй контур работает по тому же принципу. но второй цикл не фильтрует.
(!) Первый цикл показывает мне правильно для каждого имени пользователя с тем же идентификатором собственной вкладки. но цикл sec on показывает мне все event_names, а не только имена событий пользователей. Резюме: у меня 3 пользователя. каждый пользователь. пользователь 1 имеет свою собственную вкладку. (2 события) пользователь 2 имеет свою собственную вкладку. (1 событие) пользователь 3 имеет свою собственную вкладку. (1 событие) во втором цикле, я спрашиваю события каждого пользователя. на вкладке пользователя 1 должно появиться 2 события на вкладке пользователя 2, должно появиться 1 событие, а на вкладке пользователя 3 должно появиться 1 событие. НО, на каждой вкладке (пользователь 1,2 и 3) появляются 4 события. события всех пользователей ... это проблема с циклом, не так ли? (!)
Может кто-нибудь мне помочь?
Вот некоторые фотографии из таблицы и вывод:
Мои таблицы пользователей
код:
<?php
$db = mysqli_connect(DB_HOST, DB_BENUTZER, DB_password, DB_NAME);
mysqli_set_charset($db, "utf8");
$sqli2 = "SELECT username, premium FROM users WHERE id = $id ";
$result2 = mysqli_query($db, $sqli2);
foreach ($result2 as $row2)
{
echo '<div class="tabs">';
Моя сторона стола:
код:
$db = mysqli_connect(DB_HOST, DB_BENUTZER, DB_password, DB_NAME);
mysqli_set_charset($db, "utf8");
$sqli = "SELECT party_id, event_name, beginn, ende, unternehmen FROM party WHERE unternehmen = '".$row2['username']."' ";
$result = mysqli_query($db, $sqli);
while ($row = mysqli_fetch_assoc($result))
{
echo '<h3> '. $row['unternehmen'] .' '. $row['event_name'] .' </h3>';
и мой выход:
Где ошибка? Я не могу поверить, что это :-(Пожалуйста, помогите мне !!!!
здесь полный код:.
<?php
$db = mysqli_connect(DB_HOST, DB_BENUTZER, DB_password, DB_NAME);
mysqli_set_charset($db, "utf8");
$sqli2 = "SELECT username, premium FROM users WHERE id = $id ";
$result2 = mysqli_query($db, $sqli2);
foreach ($result2 as $row2) {
echo '<div class="tabs">';
echo '<ul>';
echo '<li><a href="#tabs-1"> '. $row2['username'] .' </a></li>';
echo '<li><a href="#tabs-2">Proin dolor</a></li>';
echo '<li><a href="#tabs-3">Aenean lacinia</a></li>';
echo '</ul>';
echo '<div id="tabs-1">';
echo '<p>Proin elit ac sollicitudin mi sit amet mauris. Nam elementum quam us.</p>';
echo '</div>';
echo '<div id="tabs-2">';
echo '<p><div class="accordion">';
$db = mysqli_connect(DB_HOST, DB_BENUTZER, DB_password, DB_NAME);
mysqli_set_charset($db, "utf8");
$sqli = "SELECT party_id, event_name, beginn, ende, unternehmen FROM party WHERE unternehmen = '".$row2['username']."' ";
$result = mysqli_query($db, $sqli);
while ($row = mysqli_fetch_assoc($result))
{
echo '<h3> '. $row['unternehmen'] .' '. $row['event_name'] .' </h3>';
echo '<div> ';
echo '<form enctype="multipart/form-data" method="post" >';
echo '<legend>Event Daten</legend>';
echo '<label for="event_name">Name:</label>';
echo '<input type="text" id="event_name" name="event_name" value="'. $row['event_name'] .'" /><br />';
echo '<label for="beginn">Beginn:</label>';
echo '<input type="text" id="beginn" name="beginn" value=" '. $row['beginn'] .'" /><br />';
echo '<label for="party_id" value=" '. $row['party_id'].'"> Party ID:'. $row['party_id'].' </label>';
echo '<input type="radio" id="party_id" name="party_id" value=" '. $row['party_id'] .'" /><br />';
echo '</fieldset>';
echo '<input type="submit" value="Änderungen speichern" name="partyspeicher" />';
echo '</form>';
echo '</div>';
}
echo '</div>';
echo '</p>';
echo '</div>';
echo '<div id="tabs-3">';
echo '<p> Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p>';
echo '</div>';
echo '</div>';
}
?>
Может быть лучше, чтобы разместить весь код. – Phillip
Здравствуйте, перед вашим $ sqli, do $ user = $ row2 ['username']; , а в переменной $ sqli замените $ row [username] на $ user и посмотрите, не изменит ли это что-либо. Почему это? Ну $ row2 [имя пользователя] не будет работать, так как это должно быть $ row2 ['username'] ... и чтобы избежать проблем с котировками, просто создайте дополнительную переменную. – rottenoats
нет не меняется. У меня 3 пользователя. каждый пользователь. Пользователь 1 имеет свою собственную вкладку. (2 события) Пользователь 2 имеет свою собственную вкладку. (1 событие) Пользователь 3 имеет свою собственную вкладку. (1 событие) во втором цикле, я спрашиваю события каждого пользователя. на вкладке пользователя 1 должно появиться 2 события на вкладке пользователя 2 должно появиться 1 событие и на вкладке пользователя 3 должно появиться 1 событие. BUT, на каждой вкладке (пользователь 1,2 и 3) отображаются 4 события. события всех пользователей ... это проблема с петлей, не так ли? – user3690260