|
Цикл в ПХП
|
| Автор |
Сообщение |
uforum $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 серии |
|
| Вернуться к началу |
|
 |
madhamster $a ||= 5;


Зарегистрирован: 09.10.2006 Сообщения: 752
34389 
|
Добавлено: Сб, 22 Ноя, 2008 19:42 Заголовок сообщения: |
|
|
1) не правильно задан SQL запрос
2) проблема в "..тут большой код" _________________
 |
|
| Вернуться к началу |
|
 |
uforum $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 серии |
|
| Вернуться к началу |
|
 |
madhamster $a ||= 5;


Зарегистрирован: 09.10.2006 Сообщения: 752
34389 
|
Добавлено: Сб, 22 Ноя, 2008 22:09 Заголовок сообщения: |
|
|
Перед циклом проверь значение переменно $maximumarticlesperpage может там 1... _________________
 |
|
| Вернуться к началу |
|
 |
uforum $a ||= 5;


Зарегистрирован: 22.01.2008 Сообщения: 715 Откуда: Литва 4862 
|
|
| Вернуться к началу |
|
 |
антон888 Хостинг — это наше всё!


Зарегистрирован: 05.11.2007 Сообщения: 245
9081 
|
|
| Вернуться к началу |
|
 |
uforum $a ||= 5;


Зарегистрирован: 22.01.2008 Сообщения: 715 Откуда: Литва 4862 
|
Добавлено: Вс, 23 Ноя, 2008 09:07 Заголовок сообщения: |
|
|
антон888
Всем спасибо мне уже памогли _________________
http://uforum.org.ua/
Всё про ОС в широком формате
http://bmw3.org.ua/
Всё про BMW 3 и 1 серии |
|
| Вернуться к началу |
|
 |
Веденин $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. Советую прочитать как правильно оформялять программы и писать структурный код (основы функционального программирования), а то вы сами свой код не можете понять. _________________ Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг, спортивная, энциклопедическая, поиск музыки и видео и много других |
|
| Вернуться к началу |
|
 |
|