У меня ест балица. В ней 3 поля: id, pole1, pole2 Вывожу в таблицу Код: Выделить всё Код (Text): do {printf ну и т.д. но при сортировки получается так: |№|pole1|pole2| | 2|ааааа|рррр| | 1|sddsfs|sdfsf| | 4|ааdfb|ррdf| | 3|аsdаа|рfhр| Как же сделать чтоб № был по порядку?? Но сортировка мне нужна не по ID а по pole1! Надо чтоб нумерация шла автоматически
Код (Text): $result = mysql_query ("SELECT * FROM a ORDER BY author ASC",$db); $myrow = mysql_fetch_array ($result); printf (" <table align='center' cellpadding='0' cellspacing='0' '> <tr> <td width='32' height='22'>№</td> <td width='345'>Автор</td> <td width='90'>Количество песен</td> <td width='90'>Количество GPT</td> </tr> "); do { printf (" <tr> <td align='center'>??????????</td> <td> %s</td> <td align='center'><strong>%s</strong></td> <td align='center'><strong>%s</strong></td> </tr>", $myrow["silka"],$myrow["kol_pesen"],$myrow["kol_gpt"]); } while ($myrow = mysql_fetch_array ($result)); printf ("</table>"); Вот вместо ????????? надо чтоб нумерация шла!! Че то не врубаюсь как организовать!
Код (Text): $i = 0; while ($myrow = mysql_fetch_array ($result)) { $i++; printf (" <tr> <td align='center'>%s</td> <td> %s</td> <td align='center'><strong>%s</strong></td> <td align='center'><strong>%s</strong></td> </tr>", $i, $myrow["silka"],$myrow["kol_pesen"],$myrow["kol_gpt"]); } print "</table>";
Код (Text): $i = 0; ... <td align='center'>%d</td> ... ", ++$i, $myrow["silka"],$myrow["kol_pesen"],$myrow["kol_gpt"]);
Код (Text): $result = mysql_query ("SELECT id,author,kol_pesen,kol_gpt,kol_not,silka FROM a ORDER BY author ASC LIMIT $start, $num ",$db); $myrow = mysql_fetch_array ($result); printf (" <table align='center' cellpadding='0' cellspacing='0' class='tablica_bukwi'> <tr class='tablica_bukwi_jach'> <td width='32' height='22'>№</td> <td width='345'>Автор</td> <td width='90'>Количество песен</td> <td width='90'>Количество GPT</td> </tr> "); do { $i = 0; while ($myrow = mysql_fetch_array ($result)) { $i++; printf (" <tr class='cwet_text_tabl'> <td align='center'>%s</td> <td> %s</td> <td align='center'><strong>%s</strong></td> <td align='center'><strong>%s</strong></td> </tr>", $i, $myrow["silka"],$myrow["kol_pesen"],$myrow["kol_gpt"]); } while ($myrow = mysql_fetch_array ($result)); printf ("</table>"); Все так сделал и выдает ошисинтаксическую ошибку: Parse error: syntax error, unexpected $end in Z:\home\test.ru\www\a\a.php on line 101 а 101 строка уже пустая она идет после тега Код (Text): </html>
Да действительно не хватало }! Но теперь возникла другая проблема. У меня весь этот вывод заключен в постраничный вывод и на каждой странице нумерация опять начинается с 1. А как же сделать она продолжалась? Вот код страницы: Код (Text): <?php $result77 = mysql_query("SELECT str FROM options", $db); $myrow77 = mysql_fetch_array($result77); $num = $myrow77["str"]; @$page = $_GET['page']; $result00 = mysql_query("SELECT COUNT(*) FROM a "); $temp = mysql_fetch_array($result00); $posts = $temp[0]; $total = (($posts - 1) / $num) + 1; $total = intval($total); $page = intval($page); if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; $start = $page * $num - $num; $result = mysql_query ("SELECT id,author,kol_pesen,kol_gpt,kol_not,silka FROM a ORDER BY author ASC LIMIT $start, $num ",$db); $myrow = mysql_fetch_array ($result); printf (" <table align='center' cellpadding='0' cellspacing='0' class='tablica_bukwi'> <tr class='tablica_bukwi_jach'> <td width='32' height='22'>№</td> <td width='345'>Автор</td> <td width='90'>Количество песен</td> <td width='90'>Количество GPT</td> </tr> "); do { $i = 0; while ($myrow = mysql_fetch_array ($result)) { $i++; printf (" <tr class='cwet_text_tabl'> <td align='center'>%s</td> <td> %s</td> <td align='center'><strong>%s</strong></td> <td align='center'><strong>%s</strong></td> </tr>", $i, $myrow["silka"],$myrow["kol_pesen"],$myrow["kol_gpt"]); } } while ($myrow = mysql_fetch_array ($result)); printf ("</table>"); if ($page != 1) $pervpage = '<a href=a.php?'.$cat.'&page=1>Первая</a> | <a href=a.php?'.$cat.'&page='. ($page - 1) .'>Предыдущая</a> | '; if ($page != $total) $nextpage = ' | <a href=a.php?'.$cat.'&page='. ($page + 1) .'>Следующая</a> | <a href=a.php?'.$cat.'&page=' .$total. '>Последняя</a>'; if($page - 5 > 0) $page5left = ' <a href=a.php?'.$cat.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | '; if($page - 4 > 0) $page4left = ' <a href=a.php?'.$cat.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | '; if($page - 3 > 0) $page3left = ' <a href=a.php?'.$cat.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | '; if($page - 2 > 0) $page2left = ' <a href=a.php?'.$cat.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | '; if($page - 1 > 0) $page1left = '<a href=a.php?'.$cat.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | '; if($page + 5 <= $total) $page5right = ' | <a href=a.php?'.$cat.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>'; if($page + 4 <= $total) $page4right = ' | <a href=a.php?'.$cat.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>'; if($page + 3 <= $total) $page3right = ' | <a href=a.php?'.$cat.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>'; if($page + 2 <= $total) $page2right = ' | <a href=a.php?'.$cat.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>'; if($page + 1 <= $total) $page1right = ' | <a href=a.php?'.$cat.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>'; if ($total > 1) { Error_Reporting(E_ALL & ~E_NOTICE); echo "<div class=\"pstrnav\">"; echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage; echo "</div>"; } ?>
это невозможно, ещё месяц назад были единичные случии появления поповоучеников, а теперь каждый день!
Код (Text): $i = 0; $i = $page > 1 ?$page *10 : 0; while ($myrow = mysql_fetch_array ($result)) { $i++; Сделал вот так. Вывод идет по 20 записей из БД на страницу. Но при переходе с 1 на 2 страницу из базы в 21 строку таблицы вписывается 22 строка из базы то есть теряется запись, точнее он ее пропускает почему то. И при переходе с 2 на 3 страницу последняя была 40 запись а на 3 странице появляется 31 почему нумерация не продолжается 41, 42, 43, и т.д.??
Подумай своей головой, или в курсах было сказано, если что то не получается, то не в кое случае не пытайтесь самостоятельно решить проблему, лучше пускай её решить кто-нибудь за Вас. ??? Так вот, тут такое только за деньги.
Код (Text): do { $i = $page > 1 ?$page *20 : 0; while ($myrow = mysql_fetch_array ($result)) { $i++; Потому что если вот так сделать, то на 1 странице выводит 20 записей с 1 по 20, а на второй с 41 по 60!!!
Ладно, понятно что сам не додумается, последний раз помогаю Поповским ученикам. $i = $start; Дальше придётся самому. Ответ всё время был перед твоими глазами, $start = $page * $num - $num;. Пытался подвести тебя к нему, но понял что бесполезно. В общем, нельзя научится программировать за 33 часа 22 минуты... Особенно если вообще не думать.
Это то я понял!! А почему у меня при переходе с одной страницы на другую теряется один порядковый номер??