[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция do while или в моём случае она бесполезна(
CyLon
Разрабатываю скрипт типа форума но немножко иначе.
Пришлось использовать do while.
Давайте начало покажу потом объясню что это и что я хотел.

PHP
$result2 mysql_query("SELECT id,name,description FROM `groups` WHERE num_topic='$topic'",$db);
$myrow2 mysql_fetch_array($result2);
do
{
printf ('<div class="group_container"><div class="group"><p class="name_group">%s</p><p class="description_group">%s</p></div></div>',$myrow2["name"],$myrow2["description"]);
$num_group $myrow2["id"];
}

$result3 mysql_query("SELECT id,title,description FROM `topic` WHERE num_group='$num_group'",$db);

$myrow3 mysql_fetch_array($result3);
do
{
printf ('<div class="topic_container"><div class="topic"><a href="library.php?t=%s" class="link_topic">%s</a><p 

class="description_topic">%s</p></div></div>'
,$myrow3["id"],$myrow3["title"],$myrow3["description"]);
}



while (
$myrow3 mysql_fetch_array($result3)) ;
while (
$myrow2 mysql_fetch_array($result2)) ;


Понял что ничего не получится , так как do while между do while'ом не работает.
Этот скрипт должен был показывать темы в группе.
Кто то с похожим сталкивался ?



Спустя 15 минут, 24 секунды (28.10.2009 - 13:17) Gabriel написал(а):
убери do и пиши просто while и смени printf на echo или хотябы print

Спустя 9 минут, 37 секунд (28.10.2009 - 13:27) CyLon написал(а):
Вот так ?

PHP
$result2 mysql_query("SELECT id,name,description FROM `groups` WHERE num_topic='$topic'",$db);
$myrow2 mysql_fetch_array($result2);

{
print (
'<div class="group_container"><div class="group"><p class="name_group">%s</p><p class="description_group">%s</p></div></div>',$myrow2["name"],$myrow2["description"]);
$num_group $myrow2["id"];
}

$result3 mysql_query("SELECT id,title,description FROM `topic` WHERE num_group='$num_group'",$db);

$myrow3 mysql_fetch_array($result3);

{
print (
'<div class="topic_container"><div class="topic"><a href="library.php?t=%s" class="link_topic">%s</a><p

class="description_topic">%s</p></div></div>'
,$myrow3["id"],$myrow3["title"],$myrow3["description"]);
}



while (
$myrow3 mysql_fetch_array($result3)) ;
while (
$myrow2 mysql_fetch_array($result2)) ;



Ошибку показывает вот тут:
PHP
print ('<div class="group_container"><div class="group"><p class="name_group">%s</p><p class="description_group">%s</p></div></div>',$myrow2["name"],$myrow2["description"]);

Спустя 6 минут, 33 секунды (28.10.2009 - 13:33) Gabriel написал(а):
PHP
while ($myrow3 = mysql_fetch_array($result3)) 
{
print '<div class="topic_container"><div class="topic"><a href="library.php?t=$myrow3["id"]" class="link_topic">$myrow3["title"]</a><p>class="description_topic">$myrow3["description"]</p></div></div>';
  
while ($myrow2 = mysql_fetch_array($result2)) 
  
{
  
print '<div class="group_container">
  <div class="group"><p class="name_group">$myrow2["name"]  
  </p><p class="description_group">$myrow2["description"]</p></div></div>'
,;
  
$num_group = $myrow2["id"];
 }
}

гдето так

Спустя 7 минут, 53 секунды (28.10.2009 - 13:41) CyLon написал(а):
Извините , может я не понимаю что то , но я сделал как Вы показали
и у меня ошибка вот тут

PHP
print ('<div class="topic_container"><div class="topic"><a href="library.php?t=%s" class="link_topic">%s</a><pclass="description_topic">%s</p></div></div>',$myrow3["id"],$myrow3["title"],$myrow3["description"]);



Спустя 4 минуты, 40 секунд (28.10.2009 - 13:46) sergeiss написал(а):
CyLon! А ты можешь сделать хотя бы "копи-пейст" того, что Габриель сказал и показал? Он привел тебе код. Ну так вставь его, куда надо smile.gif Безо всяких вычурностей и преобразований.

И заодно, кстати, сравни этот участок кода. Что ты написал, и что тебе предложили.

PS. И еще уточнение. do-while - это не функция, я языковая конструкция.

Спустя 10 минут, 45 секунд (28.10.2009 - 13:57) CyLon написал(а):
Да блин вставил , и ? ничего... Та же ошибка..

Спустя 1 минута, 8 секунд (28.10.2009 - 13:58) CyLon написал(а):
Ладно , сам разберусь....

Спустя 33 секунды (28.10.2009 - 13:58) Gabriel написал(а):
CyLon
как сказал серж посмотри на код, сбегай в мануал посмотри что такое принт и ечо и как оно работает; принтф я лично даже незнаю как и где его провильно применять но точно уж не в таких конструкциях.
ну а ошибочка какая? и я уверен на 99% что не таже ибо код он то разный

Спустя 11 минут, 8 секунд (28.10.2009 - 14:09) CyLon написал(а):
Ув. Gabriel
Дело в том что я только что решил задачу иным способом...
а sergeiss в каком то роде "наезд" устроил...
Цитата
Безо всяких вычурностей и преобразований.

Вы же не знаете что я хотел...
Ну вот и всё , проблема решилась...

Спустя 5 минут, 22 секунды (28.10.2009 - 14:15) Gabriel написал(а):
CyLon
ну так может нужнобыло сказать что ты хотел от етого ответ мог измениться

Спустя 3 минуты, 41 секунда (28.10.2009 - 14:18) sergeiss написал(а):
CyLon - я не наезд устроил smile.gif А просто "ткнул тебя носом" в то, что ты смотришь в код Габриэля, пишешь что-то своё (очень и очень отдалённо напоминающее то, что тебе посоветовали), и при этом говоришь "не работает!".

Конечно оно НЕ будет работать в том виде, как ты там написал.
"Ошибку показывает вот тут:
PHP
print ('<div class="group_container"><div class="group"><p class="name_group">%s</p><p class="description_group">%s</p></div></div>',$myrow2["name"],$myrow2["description"]);"

А твоя задача изначально понятна (если глобально смотреть): берем заведомо неправильный код и делаем из него код рабочий smile.gif В чем именно он неправильный, в теме уже было сказано (и показано).

Спустя 3 минуты, 54 секунды (28.10.2009 - 14:22) CyLon написал(а):
Впринципе вот так и всё получилось

PHP
$result2 mysql_query("SELECT id,name,description FROM `groups` WHERE num_topic='$topic'",$db);
$myrow2 mysql_fetch_array($result2);
do
{
printf ('<div class="group_container"><div class="group"><p class="name_group">%s</p><p class="description_group">%s</p></div></div>',$myrow2["name"],$myrow2["description"]);
$num_group $myrow2["id"];

$result3 mysql_query("SELECT id,title,description FROM `topic` WHERE num_group='$num_group'",$db);

$myrow3 mysql_fetch_array($result3);
do
{
printf ('<div class="topic_container"><div class="topic"><a href="library.php?t=%s" class="link_topic">%s</a><p 

class="description_topic">%s</p></div></div>'
,$myrow3["id"],$myrow3["title"],$myrow3["description"]);
}



while (
$myrow3 mysql_fetch_array($result3)) ;
}

while (
$myrow2 mysql_fetch_array($result2)) ;


Уже более понятно что должно было получиться ? Я в самом начале сказал что нужно чтобы do while был между do while'ом... Вот и получилось.


sergeiss я уже сказал какая задача у меня была... Уж извините если Вы любите тыкать когото носом , не забывайте что в каком то другом деле могут тыкнуть носом и Вас. Опять же задача другая была...

Спустя 32 минуты, 28 секунд (28.10.2009 - 14:55) sergeiss написал(а):
CyLon - ежели ты такой "умный"... Подумай, как будет работать твой код, если у тебя в выборке (в любой!!!) не будет строк.
Я тебе сразу скажу - будут ошибки. Которые можно избежать на начальном этапе, если переделать код так, как показал Габриэль.

Но если ты "умник", то оставь всё как есть wink.gif . И потом будешь жаловаться, что ошибки вылезают непонятные и бессистемные laugh.gif laugh.gif laugh.gif
Глядишь, все "при деле" будут: ты спрашиваешь, тебе отвечают... Вот только не "пеняй" потом на форум. Потому что ты сам "умный", и не хочешь слушать советов.

А если ты не понял, что я сказал - то забудь. И пиши дальше свой "поповский" код.

Удачи тебе в области поиска глупых ошибок в своем же коде! biggrin.gif

Спустя 6 минут, 53 секунды (28.10.2009 - 15:02) Gabriel написал(а):
sergeiss
ошибки помоему при отсутствии линй будут если не проверять через mysql_num_rows или не так?

Спустя 20 минут, 29 секунд (28.10.2009 - 15:22) sergeiss написал(а):
Gabriel - предложенная тобой замена do-while на while автоматически решает эту проблему, вобщем-то smile.gif Безо всяких mysql_num_rows wink.gif

Спустя 9 минут, 5 секунд (28.10.2009 - 15:31) CyLon написал(а):
sergeiss
Какие ошибки ? Я уже этот форум доканчиваю , всё идёт норм , не нагружается ... Всё как по маслу...

Я говорил что я "умный" ?
Gabriel
Я уже поставил проверку через mysql_num_rows , тем более это do while , бояться думаю нечего... Посмотрю дальше по нагрузке...

Спустя 10 минут, 54 секунды (28.10.2009 - 15:42) glock18 написал(а):
Цитата
тем более это do while

*задумчиво* дааа, do-while крутааая штууука...

Спустя 9 минут, 21 секунда (28.10.2009 - 15:51) Kuliev написал(а):
Цитата (glock18 @ 28.10.2009 - 17:42)
Цитата
тем более это do while

*задумчиво* дааа, do-while крутааая штууука...

Мега - крутая )))

Спустя 8 часов, 52 минуты, 45 секунд (29.10.2009 - 00:44) CyLon написал(а):
Цитата
Мега - крутая )))

Зато действует... Самое главное....

Спустя 38 минут, 40 секунд (29.10.2009 - 01:23) twin написал(а):
Когда понос, тоже вроде очищение организма... Ты же не кушаешь пурген для того чтоб в туалет сходить...
Зачем делать то, чего не нужно делать, даже если работает? Ведь неприятно...
И заворот кишок случиться может от частого применения...

Спустя 12 минут, 4 секунды (29.10.2009 - 01:35) Gabriel написал(а):
twin
laugh.gif просто порвал

Спустя 18 минут, 30 секунд (29.10.2009 - 01:53) glock18 написал(а):
да, twin, твои ассоциации меня иногда срубают smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.