Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
1

mysql_fetch_array - не сдвигается параметр при цикле

02.08.2013, 23:52. Показов 960. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Проблема такая. Вот кусок кода, собственно где в нем и проблема:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$reForum = mysql_query("SELECT * FROM `forimtems` WHERE `edition`='$e'",$db);
$diForum = mysql_fetch_array($reForum);
if(mysql_num_rows($reForum)==0)
{
    if($prav==1 or $prav1==1 or $prav2==1 or $prav3==1)
    {
        $htmldobtema = "<div id='block_fo_new_tem'><input id='title_tem' class='fiz2' placeholder='Заголовок темы' type='text' maxlength='200'><textarea id='tem_aboute' class='fiz2' maxlength='1000' placeholder='Описание'></textarea><input id='do_new_tem' class='butt' type='button' value='Создать'></div>";
echo "<div id=forum_edition>";
echo "<span id='new_tems_on_forum' class='links_b'>Новая тема</span>";
    echo  "<div id='non_tem_text'>Еще не было создано ни одного обсуждения.</div>";
        echo $htmldobtema;
echo "</div>";
    }
}else
{
    echo "<div id=forum_edition>";
if($prav==1 or $prav1==1 or $prav2==1 or $prav3==1)
{
    echo "<span id='new_tems_on_forum' class='links_b'>Новая тема</span>";
}
    do
    {
        echo "<div><a class='link_edit_or_user' href='./edittem?f=".$diForum["f"]."' data-tems='".$diForum["f"]."'>".$diForum["name"]."</a></div>";
    }
    while(mysql_fetch_array($reForum)==true);
    echo "</div>";
}
Что у меня в базе я приложил скриншот. Так вот, почему то выводится три раза первый параметр (hello1), а куда остальные делись? подскажите в чем проблема. Спасибо.
Миниатюры
mysql_fetch_array - не сдвигается параметр при цикле  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2013, 23:52
Ответы с готовыми решениями:

Что происходит в цикле while($row = mysql_fetch_array($sql)) { } ?
Здравствуйте! Хочу обратится за помощью к знатокам PHP. Вопрос следующего содержания: ...

Чем заменить mysql_fetch_array для многократной обработки в цикле?
При запуске цикла в цикле при использовании mysql_fetch_array массив работает как одноразовый. В...

При наведении сдвигается меню
При наведении на меню (типа кнопка), появляется бэкграунд, но сам текст смещается. Как сделать...

Не сдвигается картинка при наведении
Есть картинка, я хочу сделать так, когда наводишь на нее, то она поднимается вверх. Верх картинки...

4
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
03.08.2013, 01:05 2
Забудьте о цикле do ... while от Попова при выводе из бд...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$reForum = mysql_query("SELECT * FROM `forimtems` WHERE `edition`='$e'",$db);
 
if(mysql_num_rows($reForum)==0)
{
    if($prav==1 or $prav1==1 or $prav2==1 or $prav3==1)
    {
        $htmldobtema = "<div id='block_fo_new_tem'><input id='title_tem' class='fiz2' placeholder='Заголовок темы' type='text' maxlength='200'><textarea id='tem_aboute' class='fiz2' maxlength='1000' placeholder='Описание'></textarea><input id='do_new_tem' class='butt' type='button' value='Создать'></div>";
echo "<div id=forum_edition>";
echo "<span id='new_tems_on_forum' class='links_b'>Новая тема</span>";
    echo  "<div id='non_tem_text'>Еще не было создано ни одного обсуждения.</div>";
        echo $htmldobtema;
echo "</div>";
    }
}else
{
    echo "<div id=forum_edition>";
if($prav==1 or $prav1==1 or $prav2==1 or $prav3==1)
{
    echo "<span id='new_tems_on_forum' class='links_b'>Новая тема</span>";
}
    while ($diForum = mysql_fetch_array($reForum))
    {
        echo "<div><a class='link_edit_or_user' href='./edittem?f=".$diForum["f"]."' data-tems='".$diForum["f"]."'>".$diForum["name"]."</a></div>";
    }
    echo "</div>";
}
1
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
03.08.2013, 01:08  [ТС] 3
DrobyshevAlex, мне как то более логично do while. еще бы про for сказали

Добавлено через 1 минуту
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$reForum = mysql_query("SELECT * FROM `forimtems` WHERE `edition`='$e'",$db);
$diForum = mysql_fetch_array($reForum);
if(mysql_num_rows($reForum)==0)
{
    if($prav==1 or $prav1==1 or $prav2==1 or $prav3==1)
    {
        $htmldobtema = "<div id='block_fo_new_tem'><input id='title_tem' class='fiz2' placeholder='Заголовок темы' type='text' maxlength='200'><textarea id='tem_aboute' class='fiz2' maxlength='1000' placeholder='Описание'></textarea><input id='do_new_tem' class='butt' type='button' value='Создать'></div>";
echo "<div id=forum_edition>";
echo "<span id='new_tems_on_forum' class='links_b'>Новая тема</span>";
    echo  "<div id='non_tem_text'>Еще не было создано ни одного обсуждения.</div>";
        echo $htmldobtema;
echo "</div>";
    }
}else
{
    echo "<div id=forum_edition>";
if($prav==1 or $prav1==1 or $prav2==1 or $prav3==1)
{
    echo "<span id='new_tems_on_forum' class='links_b'>Новая тема</span>";
}
    while(mysql_fetch_array($reForum))
    {
        echo "<div><a class='link_edit_or_user' href='./edittem?f=".$diForum["f"]."' data-tems='".$diForum["f"]."'>".$diForum["name"]."</a></div>";
    }
 
    echo "</div>";
}
сделал так, но теперь вообще 2 записи выводится
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
03.08.2013, 01:14 4
Цитата Сообщение от SanychBY Посмотреть сообщение
сделал так, но теперь вообще 2 записи выводится
Ну так я Вам не такой код дал, Вы сами поломали

Цитата Сообщение от SanychBY Посмотреть сообщение
мне как то более логично do while
Логичнее? do while бывает логичнее, но не для вывода в пхп из бд...
сравните
Вот так кажется логичнее Вам и Попову.
PHP
1
2
3
4
$row = mysql_fetch_result($res);
do {
    print_f($row);
} while ($row = mysql_fetch_result($res));
Остальным кажется логичнее так
PHP
1
2
3
while ($row = mysql_fetch_result($res)) {
    print_f($row);
}
и короче и понятней. зачем в двух местах использовать одну и ту же строку присвоения?

Цитата Сообщение от SanychBY Посмотреть сообщение
еще бы про for сказали
for тут вообще каким боком?
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
03.08.2013, 01:18  [ТС] 5
DrobyshevAlex, все работает спасибо
0
03.08.2013, 01:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2013, 01:18
Помогаю со студенческими работами здесь

Сдвигается html при проверке поля
Есть поле input: &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;cardCheck&quot; name=&quot;card&quot;...

При добавлении символа сдвигается текст
&lt;div class=&quot;goodname&quot;&gt;&lt;span class=&quot;red&quot;&gt;&lt;?php echo (isset($gooder)) ? $gooder : '&amp;nbsp;';...

Сдвигается ListView при загрузке формы
Стандартный контрол - Microsoft ListView Control 6.0. В MultiPage в нескольких вкаладках вставлены...

При русских символах все сдвигается
Собственно скачал просто шаблон и переделываю его. начинаю переводить меню и когда на сайте только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru