|
|
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
Доброго Времени Суток! Подскажите кто чем... Задача: ПХП генерит таблицу, <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 сутки) хоть на какой-то намек. СПАСИБО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 06:22 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
Так зачем же приостанавливать? if внутри цикла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 08:10 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
авторТак зачем же приостанавливать? if внутри цикла... не понял, if внутри while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { if (количество "<td></td>" меньше 25) {print "<TD></TD>";} else {print "</TR><TR>"; } --так вроде? НО КАК УЗНАТЬ количество "<td></td>" - count() что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 15:58 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
$i++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 16:28 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
кажись допер, спасибо, щас буду ковырять, если получится выложу код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 17:06 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
Во- родила гора мышь - но работает: красным цветом - решение проблемы ---- $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 циклы и потом продолжать их с места остановки? зы - это для интереса, а моя проблема решена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 18:32 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
не - коряво - надо подработать :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 18:42 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
мда - как ни крути - результат "дюпель" Дело в том, что ; 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] , а следущую запись из БД ставят не в следущую клетку а в следущий ряд, бред короче! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 22:27 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
Попробуй все таки не спешить писать код. Уж его то проще всего сделать. Начни с алгоритма. Можно нарисовать на бумаге. Квадратики, ромбики, стрелочки, счетчик клеток, проверки условий.... Тогда и цикл не понадобится "приостанавливать" Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 23:21 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
авторПопробуй все таки не спешить писать код. Уж его то проще всего сделать. Начни с алгоритма. Можно нарисовать на бумаге. Квадратики, ромбики, стрелочки, счетчик клеток, проверки условий.... Тогда и цикл не понадобится "приостанавливать" Я красным выделил то что не могу понять как сделать, ну как же можно посчитать эти долбаные клетки...? блин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2006, 23:36 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
Вам уже ответили, $i++ внутри цикла while. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2006, 04:20 |
|
||
|
Как приостановить цикл while, выполнить что-то, и продолжить цикл?
|
|||
|---|---|---|---|
|
#18+
Спасибо за намеки и советы, все пашет. Код не выставляю, так как профи могут сделать это покруче, НО если кому интересно, скажите и я выложу! Всем удачной недели, месяца, года и ЦИКЛА ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2006, 16:43 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33482951&tid=1476959]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
610ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 896ms |

| 0 / 0 |
