powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как приостановить цикл while, выполнить что-то, и продолжить цикл?
12 сообщений из 12, страница 1 из 1
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33482684
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго Времени Суток!
Подскажите кто чем...
Задача:
ПХП генерит таблицу, <table width="500<!-- размер не важен, 500- это к примеру -->"
Таблица состоит из 20 <TR></TR> а внутри каждого <TR></TR> должно быть 20 <td></td>
Одним словом табл 20 на 20
Все что содержится в каждом <td></td> - берется из MySQL
Я делаю так:
--------
$result = mysql_query("SELECT * FROM таблица");
print "<table width='500'><tr>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
print "<td bgcolor='#ccccdd' width=25 height=25 onMouseOver=\"showLayer('Layer$row[id]')\">
<span id=\"Layer$row[id]\" style=\"LEFT: тра-ля-ля\" name=\"Layer$row[id]\">
<table bgcolor=\"#CCCCCC\" width=\"500\" height=\"200\">
<tr>
<td>ИНФОРМАЦИЯ ПОЛУЧЕНАЯ ИЗ БД И ПОЯВЛЯЮЩАЯСЯ В ОПРЕДЕЛЕННОМ МЕСТЕ SPAN STAYLE </td>
</tr>
</table>
</span>
</td>";

}
print "</tr></table>";
тра-ля-ля
----------
все это работает.
ТЕПЕРЬ МОЯ ПРОБЛЕМА
КАК МНЕ ОСТАНОВИТЬ ЦИКЛ while В ТОТ МОМЕНТ КОГДА КОЛИЧЕСТВО <td></td> В ОДНОЙ СТРОКЕ
ДОСТИГНЕТ 20-ти ЯЧЕЕК, ВСТАВИТЬ print "</TR><TR>"; И ПРОДОЛЖИТЬ ВЫПОЛНЕНИЕ ЦИКЛА while
С ТОГО МЕСТА ГДЕ БЫЛА ДАНА ПАУЗА до тех пор, пока количество <TR></TR> не станет равным 20-ти.
-------
з.ы. если Вы считаете что это очень просто и я сам смогу разобраться - то я не обижусь если
пост будет удален, но я все же надеюсь (так как ковыряюсь уже 2 сутки) хоть на какой-то намек. СПАСИБО
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33482710
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так зачем же приостанавливать?
if внутри цикла...
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33482951
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТак зачем же приостанавливать?
if внутри цикла...
не понял, if внутри
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
if (количество "<td></td>" меньше 25)
{print "<TD></TD>";}
else {print "</TR><TR>";
}
--так вроде? НО КАК УЗНАТЬ количество "<td></td>" - count() что ли?
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33482975
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$i++
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483001
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кажись допер, спасибо, щас буду ковырять, если получится выложу код.
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483037
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во- родила гора мышь - но работает:
красным цветом - решение проблемы
----
$result = mysql_query("SELECT * FROM таблица");
print "<table width='500'><tr>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
for ($i=0;$i < 20; $i++){
print "<td bgcolor='#ccccdd' width=25 height=25 onMouseOver=\"showLayer('Layer$row[id]')\">!-- $i -->
<span id=\"Layer$row[id]\" style=\"LEFT: тра-ля-ля\" name=\"Layer$row[id]\">
<table bgcolor=\"#CCCCCC\" width=\"500\" height=\"200\">
<tr>
<td>ИНФОРМАЦИЯ ПОЛУЧЕНАЯ ИЗ БД И ПОЯВЛЯЮЩАЯСЯ В ОПРЕДЕЛЕННОМ МЕСТЕ SPAN STAYLE </td>
</tr>
</table>
</span>
</td>";

}
print "</tr><tr>";
}
print "</tr></table>";
---
ОДНАКО (на будущее , мне и не только) - реально ли приостанавливать в PHP циклы и потом продолжать их с места остановки?
зы - это для интереса, а моя проблема решена
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483042
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не - коряво - надо подработать :(
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483123
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда - как ни крути - результат "дюпель"
Дело в том, что ;
print "<table>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
for ($i = 0; $i < 20; $i++) {
print "<td onMouseOver=\"showLayer('Layer$row[id]')\">
<span ...>текст и вставки в тескт из $row[key] <!-- $i --></span>
</td>";
}
print "</tr><tr>";
}
print "</tr></table>";
делает таблицу и копирует в каждые 20 ячеек ряда одно и тоже значение $row[id] , а следущую запись из БД ставят не в следущую клетку а в следущий ряд,
бред короче!
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483139
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй все таки не спешить писать код. Уж его то проще всего сделать.
Начни с алгоритма. Можно нарисовать на бумаге. Квадратики, ромбики,
стрелочки, счетчик клеток, проверки условий.... Тогда и цикл не понадобится
"приостанавливать"

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483148
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПопробуй все таки не спешить писать код. Уж его то проще всего сделать.
Начни с алгоритма. Можно нарисовать на бумаге. Квадратики, ромбики,
стрелочки, счетчик клеток, проверки условий.... Тогда и цикл не понадобится
"приостанавливать"

Я красным выделил то что не могу понять как сделать,
ну как же можно посчитать эти долбаные клетки...? блин.
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483223
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам уже ответили, $i++ внутри цикла while.
...
Рейтинг: 0 / 0
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
    #33483623
Фотография alex_loko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за намеки и советы, все пашет.
Код не выставляю, так как профи могут сделать это покруче, НО если кому интересно, скажите и я выложу!
Всем удачной недели, месяца, года и ЦИКЛА ;)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как приостановить цикл while, выполнить что-то, и продолжить цикл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]