|
|
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
Всем привет! Из базы MySQL вытаскиваю общее количество записей и потом мне надо в цикле их перебирать. ИД записей, по которым хоть как-то можно было б их перебирать нету. Хочу в цикле перебирать записи обращаясь к ним по порядковому номеру в таблице. Как это правильно сделать? спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:23:17 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51Хочу в цикле перебирать записи обращаясь к ним по порядковому номеру в таблице.У записей в таблице нет "порядкового номера". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:27:46 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
Это я понимаю, если б они были я б не поднимал вопрос ) Поэтому и спрашиваю у опытных как решать эту задачу ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:33:26 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
В MySQL с таблицами работают SQL-запросами а не циклами. ну если так необходимо какое-то ID (rownum) - FAQ: Нумерация строк и другие вопросы про использование переменных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:34:05 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51, покажите вывод SHOW CREATE TABLE вашаТабл; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:35:57 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
Alex_UstinovВ MySQL с таблицами работают SQL-запросами а не циклами. ну если так необходимо какое-то ID (rownum) - FAQ: Нумерация строк и другие вопросы про использование переменных Да нет, тут вопрос в другом. Вот ТС пишет "Из базы MySQL вытаскиваю <...> и потом мне надо в цикле их перебирать <...> Хочу в цикле перебирать записи обращаясь к ним по порядковому номеру в таблице.". Отсюда следует, что он уже эти записи (или как минимум их ид) выбрал на клиент, так нахрена ещё раз их нумеровать? На клиенте они явно в массиве лежат, ну так и перебирай тот массив. Ну или ему какая-то специальная сортировка нужна, так опять же - задай сортировку в запросе, получи отсортированный список ид в массив и проходись по нему по порядку. В общем, непонятно, зачем ТСу в принципе эта нумерация, если он один хрен запускает цикл на клиенте, где эта нумерация уже есть . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:39:44 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
По ссылке: Задача: Пронумеровать строки в запросе Достаточно часто возникает необходимость пронумеровать возвращаемые MySQL строки средствами самой базы данных. а мне надо сделать так: <? $c = количесво строк в таблице; for ( $i = 0; $i <= $c; $i++ ) { $res = mysql_query( ' SELECT * FROM my_table WHRE номер_строки_в_таблице = $i' ); ... ... } ?> Вот как-то так... А так как такой запрос не делал никогда то написал схематически то что надо.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 10:48:10 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51 Код: php 1. 2. 3. 4. 5. 6. 7. 8. Так ЯННП, что мешает сделать вот типа так? Код: php 1. 2. 3. 4. 5. 6. 7. 8. Начешуя 100500 запросов кидать, если вы всё равно всю таблицу выгребать собрались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:05:49 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
tanglir Код: php 1. Не советовал бы. Лучше просто цикл до конца выборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:09:03 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
tanglirdalexra51 Код: php 1. 2. 3. 4. 5. 6. 7. 8. Так ЯННП, что мешает сделать вот типа так? Код: php 1. 2. 3. 4. 5. 6. 7. 8. Начешуя 100500 запросов кидать, если вы всё равно всю таблицу выгребать собрались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:10:28 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
miksoft, не, ну это просто идея. Можно заранее количество посчитать или делать так, как вы сказали. Просто такое впечатление, что ТС переходит на пхп+мускль с какого-то FPD2.0 и тянет за собой все старые привычки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:14:19 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51SELECT COUNT... проблема что-ли?????Итого вместо одного запроса получим N+1, где N - количество строк в таблице. Проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:15:40 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51, если вы просто выводите данные, то прокатит. Если вы собираетесь как-то изменять данные, то вам все равно нужен уникальный ключ. Примеры есть в документации по PHP . пример использования mysqli<?php $mysqli->real_query('SELECT * FROM `test`'); $query = $mysqli->store_result(); while ($row = $query->fetch_assoc()) { $id = (int) $row['id']; $query2 = $mysqli->query("UPDATE `test` SET `label` = md5(rand()) WHERE `id` = $id"); } ?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:25:28 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51Хочу в цикле перебирать записи обращаясь к ним по порядковому номеру в таблице. Понятие порядка у записи в таблице возникает при выборке с сортировкой. До этого никакого порядка нет. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. <Страшно кричит> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:26:45 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
В общем получается что прямых механизмов нету. Поэтому придется делать это просто в каздом запросе делать офсет 1. tanglir, за один запрос выбрать все и потом этим манипулировать не получится, так как выбранное может весить гигабайты 2. Alex_Ustinov, данные просто выводятся и обрабатываются. обратно ниче не пишется. Есть еще варианты кроме пошагового OFFSET $i++ с количеством шагов = количество записей? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:45:27 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
вриант по ссылке из FAQ Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:52:17 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51, никогда не нужен запрос на гигабайты, конкретизируйте в условии по периоду по еще какому-нибудь признаку Расскажите, с какой целью вы хотите "перебрать в цикле записи" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 11:56:22 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra511. tanglir, за один запрос выбрать все и потом этим манипулировать не получится, так как выбранное может весить гигабайтыНо не было речи о том, чтобы хранить это все в памяти одновременно. Буфер может быть размером вообще всего на одну запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:01:52 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51Есть еще варианты кроме пошагового OFFSET $i++ с количеством шагов = количество записей?Если речь про конструкцию LIMIT ... OFFSET ..., то это, пожалуй, наихудший вариант из возможных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:03:00 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
miksoft, а какие найлучшие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:09:32 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
dalexra51а какие найлучшие?вы сначала расскажите, что вы хотите сделать. Если это не секрет, конечно. Не "как", а "что". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:14:48 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
я кажись понял, что ему надо. у него есть таблица - пусть это будет архвив за 50 лет погоды, и вот надо пройтись по всем записям и считывать для простоты температуру скажем, дабы среднее посчитать. и вот за раз не достать их, надо пошагам, но чтобы достать всё, и каждую запись один раз гарантировано... для ТС ну так, первичный ключ автоинкремент, и ориентироваться по нему. И=0 ШАГ цикла- выбор записей с айдишниками больше И сортируя по айди по возрастанию, не более Н штук . И=И+Н и проходишь их все...читая по 1000 записей, по 10000 например. === есчё есть вариант сделать выбор в файл, и читать файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:19:38 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
alex564657498765453у него есть таблица - пусть это будет архвив за 50 лет погоды, и вот надо пройтись по всем записям и считывать для простоты температуру скажем, дабы среднее посчитать. Этот пример не объясняет, зачем лупить циклы с выборкой, ибо "среднее" считается одним запросом к базе данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:24:04 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
alex564657498765453ну так, первичный ключ автоинкремент, и ориентироваться по нему. dalexra51ИД записей, по которым хоть как-то можно было б их перебирать нету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:24:36 |
|
||
|
Выборка строк по их порядковому номеру
|
|||
|---|---|---|---|
|
#18+
есть таблица (title, text, attach, desc, img) (поля могут весить много, например изображения в base64 и так далее) надо: по очереди выбрать все поля (только чтение!)(данные потом будут вставлять в другие структуры которые не имеют отношения к теме) почему по очереди и по одному? объясню сообществу. Дело в том что делать это все должен обработчик вызываемый аяксом, и работать все это дело должно на самых слабых вирт хостах с ограничениями памяти. при этом в браузере или другом приложении, которое вызовет обработчик это должно будет все отредактироваться человеком и потом уже вставиться в новую базу например. поэтому: клиент дает запрос на выборку - обработчик достает запись и отдает клиенту - после манипуляций клиент запрашивает след запись ($i++) - обработчик достает след запись (след строку таблицы) и отдает клиенту..... и так далее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 12:34:40 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=139&tid=1833299]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 385ms |

| 0 / 0 |
