EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

RSS Feed

Цикл в ПХП

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Цикл в ПХП
Автор Сообщение
uforum
$a ||= 5;
$a ||= 5;


Зарегистрирован: 22.01.2008
Сообщения: 715
Откуда: Литва
4862 Монеты

СообщениеДобавлено: Сб, 22 Ноя, 2008 18:55    Заголовок сообщения: Цикл в ПХП Ответить с цитатой

Почему цикл отдаёт последние значение из бд?

Код:
for ($ic=0;$ic<mysql_num_rows($resultcontent);$ic++);
{
$ergebnis [$ic]=mysql_fetch_array($resultcontent);
..тут большой код

_________________


http://uforum.org.ua/
Всё про ОС в широком формате

http://bmw3.org.ua/
Всё про BMW 3 и 1 серии
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
madhamster
$a ||= 5;
$a ||= 5;


Зарегистрирован: 09.10.2006
Сообщения: 752

34389 Монеты

СообщениеДобавлено: Сб, 22 Ноя, 2008 19:42    Заголовок сообщения: Ответить с цитатой

1) не правильно задан SQL запрос
2) проблема в "..тут большой код"
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
uforum
$a ||= 5;
$a ||= 5;


Зарегистрирован: 22.01.2008
Сообщения: 715
Откуда: Литва
4862 Монеты

СообщениеДобавлено: Сб, 22 Ноя, 2008 19:54    Заголовок сообщения: Ответить с цитатой

madhamster
SQL
Код:
$sqlcontent = "SELECT * from `".$pref."content` WHERE page=0 ORDER BY `date` DESC LIMIT $starta , $maximumarticlesperpage";


Тут большой код...
Код:
         if (count($ergebnis) == 1)
            {
            echo "<h1 class=\"title\">".$ergebnis[$ic]['name']."</h1>
            ";
            }
         else
            {
            echo "<h1 class=\"title\"><a href=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\">".$ergebnis[$ic]['name']."</a></h1>";
            }
         echo "
         <p class=\"descr\"><small>".$ergebnis [$ic]['date']."</small></p>   
         <p>".$ergebnis[$ic]['content']."</p><br>
         <a href=\"".$_SERVER['PHP_SELF']."?flag=1&IDdelete=".$ergebnis[$ic]['ID']."\">".$W['deletetext']." </a><br />";   
         if ($starta>=$maximumarticlesperpage) {echo "<a href=\"".$PHP_SELF."?limit=".$starta."&start=1 \">".$W['sayback']."</a>";}
         if ($starta+$maximumarticlesperpage<$max) {echo "<a href=\"".$PHP_SELF."?limit=".$starta."&vor=1 \">".$W['saynext']."</a><br />";}
         $sqlcontentcommv = "SELECT * from `".$pref."comment` WHERE `article`=0 `article`=".$ergebnis[$ic]['ID']."";
         $resultcontentcommv = mysql_query($sqlcontentcommv, $linkmain);
            if (count($ergebnis) == 1)
               {
               echo "<br>
               <center>-------------------".$W['comments']."-------------------</center>
               <br>";
               $sqlcontentcomm = "SELECT * from `".$pref."comment` WHERE article=".$ergebnis[$ic]['ID']." ORDER BY `date` DESC LIMIT $starta , $maximumarticlesperpage";
               $resultcontentcomm = mysql_query($sqlcontentcomm, $linkmain);
               for ($icccc=0;$icccc<mysql_num_rows($resultcontentcomm);$icccc++);
                  {
                  if ($icccc <= 0)
                     {
                     echo "<center><p>".$W['nocomments']."</p></center>";
                     }
                  else
                     {
                     $ergebniscomm [$icccc]=mysql_fetch_array($resultcontentcomm);
                     echo "<h3 class=\".meta .comments\"><b>".$ergebniscomm[$icccc]['name']."</b></h3>
                     <p class=\"descr\"><small>".$ergebniscomm [$icccc]['date']."</small></p>   
                     <p>".$ergebniscomm[$icccc]['content']."</p><br>
                     <a href=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml?iddeletecode=1&idcomm=".$ergebniscomm [$icccc]['id']."\">".$W['deletetext']." </a><br />
                     <center>--------------------------------------------------------</center><br>";
                     }
                  }
                  echo "".$W['addcommet']."<br>
                  <form action=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\" method=\"get\">
                  <input type=\"hidden\" name=\"addcommetid\" value=\"".$ergebnis[$ic]['ID']."\"></p>
                  <p>".$W['yourname']."<br>
                  <input type=\"text\" name=\"commentname\" value=\"$userlogin\"></p>
                  <br>
                  <p>".$W['yourcommets']."<br>
                  <textarea cols='74' rows='10' name=\"commetform\"></textarea>
                  <br>
                  <input type=\"submit\" Value=\"".$W['send']."\">
                  </form>
                  ";
               }
            else
               {
               $sqlcontentcomm = "SELECT * from `".$pref."comment` WHERE article=".$ergebnis[$ic]['ID']." ORDER BY `date` DESC LIMIT $starta , $maximumarticlesperpage";
               $resultcontentcomm = mysql_query($sqlcontentcomm, $linkmain);
               for ($icccc=0;$icccc<mysql_num_rows($resultcontentcomm);$icccc++);
                  {
                  $ergebniscomm [$icccc]=mysql_fetch_array($resultcontentcomm);
                  $commentscount = count($ergebniscomm);
                  echo "<a href=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\">".$W['comments']." ($commentscount)</a><br>";
                  }
               }
         }   
      }
      else
         {
         $resultcontent = mysql_query($sqlcontent, $linkmain);
         for ($ic=1;$ic < mysql_num_rows($resultcontent);$ic++);
            {
            $ergebnis [$ic]= mysql_fetch_array($resultcontent);
         if (count($ergebnis) == 1)
            {
            echo "<h1 class=\"title\">".$ergebnis[$ic]['name']."</h1>
            ";
            }
         else
            {
            echo "<h1 class=\"title\"><a href=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\">".$ergebnis[$ic]['name']."</a></h1>";
            }
         echo "
         <p class=\"descr\"><small>".$ergebnis [$ic]['date']."</small></p>   
         <p>".$ergebnis[$ic]['content']."</p>";
         if ($starta>=$maximumarticlesperpage) {echo "<a href=\"".$PHP_SELF."?limit=".$starta."&start=1 \">".$W['sayback']."</a>";}
         if ($starta+$maximumarticlesperpage<$max) {echo "<a href=\"".$PHP_SELF."?limit=".$starta."&vor=1 \">".$W['saynext']."</a><br />";}
            if (count($ergebnis) == 1)
            {
               echo "<br>
               <center>-------------------".$W['comments']."-------------------</center>
               <br>";
               $sqlcontentcomm = "SELECT * from `".$pref."comment` WHERE `article`=".$ergebnis[$ic]['ID']." ORDER BY `date` DESC LIMIT $starta , $maximumarticlesperpage";
               $resultcontentcomm = mysql_query($sqlcontentcomm, $linkmain);
               for ($icccc=0;$icccc<mysql_num_rows($resultcontentcomm);$icccc++);
                  {
                  if ($icccc <= 0)
                     {
                     echo "<center><p>".$W['nocomments']."</p></center>";
                     }
                  else
                     {
                  $ergebniscomm [$icccc]=mysql_fetch_array($resultcontentcomm);
                  echo "<h3 class=\".meta .comments\"><b>".$ergebniscomm[$icccc]['name']."</b></h3>
                  <p class=\"descr\"><small>".$ergebniscomm [$icccc]['date']."</small></p>   
                  <p>".$ergebniscomm[$icccc]['content']."</p><br>
                  <center>--------------------------------------------------------</center><br>";
                     }
                  echo "".$W['addcommet']."<br>
                  <form action=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\" method=\"get\">
                  <input type=\"hidden\" name=\"addcommetid\" value=\"".$ergebnis[$ic]['ID']."\"></p>
                  <p>".$W['yourname']."<br>
                  <input type=\"text\" name=\"commentname\" value=\"$userlogin\"></p>
                  <br>
                  <p>".$W['yourcommets']."<br>
                  <textarea cols='74' rows='10' name=\"commetform\"></textarea>
                  <br>
                  <input type=\"submit\" Value=\"".$W['send']."\">
                  </form>
                  ";
               }
            }
            else
               {
               $sqlcontentcomm = "SELECT * from `".$pref."comment` WHERE article=".$ergebnis[$ic]['ID']." ORDER BY `date` DESC LIMIT $starta , $maximumarticlesperpage";
               $resultcontentcomm = mysql_query($sqlcontentcomm, $linkmain);
               for ($icccc=0;$icccc<mysql_num_rows($resultcontentcomm);$icccc++);
                  {
                  $ergebniscomm [$icccc]=mysql_fetch_array($resultcontentcomm);
                  }
                  $commentscount = count($ergebniscomm);
               echo "<a href=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\">".$W['comments']." ($commentscount)</a><br>";
               }
         }
      }
?>

_________________


http://uforum.org.ua/
Всё про ОС в широком формате

http://bmw3.org.ua/
Всё про BMW 3 и 1 серии
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
madhamster
$a ||= 5;
$a ||= 5;


Зарегистрирован: 09.10.2006
Сообщения: 752

34389 Монеты

СообщениеДобавлено: Сб, 22 Ноя, 2008 22:09    Заголовок сообщения: Ответить с цитатой

Перед циклом проверь значение переменно $maximumarticlesperpage может там 1...
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
uforum
$a ||= 5;
$a ||= 5;


Зарегистрирован: 22.01.2008
Сообщения: 715
Откуда: Литва
4862 Монеты

СообщениеДобавлено: Вс, 23 Ноя, 2008 06:38    Заголовок сообщения: Ответить с цитатой

madhamster
Не там 10
_________________


http://uforum.org.ua/
Всё про ОС в широком формате

http://bmw3.org.ua/
Всё про BMW 3 и 1 серии
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
антон888
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 05.11.2007
Сообщения: 245

9081 Монеты

СообщениеДобавлено: Вс, 23 Ноя, 2008 08:58    Заголовок сообщения: Ответить с цитатой

попробуй вынести mysql_fetch_array за цикл
_________________
Справочник жителей Петербурга
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
uforum
$a ||= 5;
$a ||= 5;


Зарегистрирован: 22.01.2008
Сообщения: 715
Откуда: Литва
4862 Монеты

СообщениеДобавлено: Вс, 23 Ноя, 2008 09:07    Заголовок сообщения: Ответить с цитатой

антон888
Всем спасибо мне уже памогли
_________________


http://uforum.org.ua/
Всё про ОС в широком формате

http://bmw3.org.ua/
Всё про BMW 3 и 1 серии
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
Веденин
$a ||= 5;
$a ||= 5;


Зарегистрирован: 17.05.2007
Сообщения: 1068
Откуда: Самара
4489 Монеты

СообщениеДобавлено: Вс, 23 Ноя, 2008 09:07    Заголовок сообщения: Ответить с цитатой

1) Проблема в том что вы этом большом коде переопределяете дискриптор $resultcontent:
Код:
         $resultcontent = mysql_query($sqlcontent, $linkmain);
         for ($ic=1;$ic < mysql_num_rows($resultcontent);$ic++);
            {
            $ergebnis [$ic]= mysql_fetch_array($resultcontent);
         if (count($ergebnis) == 1)
            {
            echo "<h1 class=\"title\">".$ergebnis[$ic]['name']."</h1>
            ";
            }
         else
            {
            echo "<h1 class=\"title\"><a href=\"http://$livesiteurl/article/".$ergebnis[$ic]['ID']."/index.shtml\">".$ergebnis[$ic]['name']."</a></h1>";
            }
'

2) Какой смысл делать запись в массив и одновременно в цикле работать с строчкой этого же массива:
типа $ergebnis[$ic]['ID'] не проще заделать временный массив $tmp['ID'] если вы все равно работаете с одной строчкой в том же цикле.

3) Чтобы не было проблем надо разделять код, сначало записываете все записи из запроса в массив, а уже потом в другом цикле с ним работаете и так для всех запросов.

4) Вам самим большой код нравится? Сделайте из него несколько различных функций и сразу все станет понятнее.

P.S. Советую прочитать как правильно оформялять программы и писать структурный код (основы функционального программирования), а то вы сами свой код не можете понять.
_________________
Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг, спортивная, энциклопедическая, поиск музыки и видео и много других
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group






Рейтинг SIMPLETOP.NET