- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте !
Помогите реализовать цикл, do while ... чтобы например:
Есть 3 автора ... когда я добавляю в базу книгу первого автора, затем 2 книги 2-ого автора...
Как сделать, чтобы цикл вывел только имена 2-х авторов у которых произошло обновление ?
Здравствуйте !
Помогите реализовать цикл, do while ... чтобы например:
Есть 3 автора ... когда я добавляю в базу книгу первого автора, затем 2 книги 2-ого автора...
Как сделать, чтобы цикл вывел только имена 2-х авторов у которых произошло обновление ?
не совсем ясно, что есть "после обновления". до обновления у для авторов не были добавлены книги? или "после обновления" - книги добавлены недавно.
в первом случае можно завести в базе поле-флаг и менять его при добавлении книги. во втором случае, с датой играть. и тут скорее while, чем do while
не совсем ясно, что есть "после обновления". до обновления...
Я бы еще спросил что есть "добавляю в базу" и что есть "база"...
Если речь о мускуле, то очевидно что в базе должно быть:
autor/book/add_date
тогда while тут совсем ни при чем... Просто:
SELECT autor FROM table WHERE add_date='чему угодно' GROUP BY autor
запрос сам выберет только авторов.
надо просто поколдовать с этим самым "чему угодно"
Здравствуйте !
Помогите реализовать цикл, do while ... чтобы например:
Есть 3 автора ... когда я добавляю в базу книгу первого автора, затем 2 книги 2-ого автора...
Как сделать, чтобы цикл вывел только имена 2-х авторов у которых произошло обновление ?
цикл можно прервать в любое время по любому условию командой break;
Откуда данные берутся?
MySQL или другие способы хранения информации?
Я заношу двоим авторам в базу MySQL: первому 1 книгу, а второму две книги ... если я выведу в цикле
$result = mysql_query("SELECT id_author FROM book ORDER BY id_book DESC LIMIT 6",$db);
$myrow = mysql_fetch_array($result);
В таков случае выведутся 3 имени ... одно имя автора у которого 1 книга и два раза имя второго автора у которого 2 книги.
Мне же нужно, чтобы неким образом вывелось только 2 имени авторов у которых произошло обновление в книгографии. Это возможно ?
Думаю, в Вашем случае речь идет об агрегирующих функциях...
$result = mysql_query("SELECT id_author, count(id_book) FROM book GROUP BY id_book",$db);
$myrow = mysql_fetch_array($result);
Результатом запроса будут уникальные id авторов и количество книг, относящимся к ним.
Есть другой путь, но уродский в данном случае. Есть оператор DISTINCT. Он исключает повторения.
$result = mysql_query("SELECT DISTINCT id_author FROM book ORDER BY id_book DESC LIMIT 6",$db);
$myrow = mysql_fetch_array($result);
В этом случае из базы возьмутся по одному разу все авторы. Но, ИМХО, первый сбособ более правильный.
Я заношу двоим авторам в базу MySQL: первому 1 книгу, а второму две книги ... если я выведу в цикле
$result = mysql_query("SELECT id_author FROM book ORDER BY id_book DESC LIMIT 6",$db);
$myrow = mysql_fetch_array($result);
В таков случае выведутся 3 имени ... одно имя автора у которого 1 книга и два раза имя второго автора у которого 2 книги.
Мне же нужно, чтобы неким образом вывелось только 2 имени авторов у которых произошло обновление в книгографии. Это возможно ?
Потому что Вам НУЖНА!!! Группировка по авторам (их id) что непонятно то? Тогда и выводится будут только два.
$result = mysql_query("SELECT id_author, count(id_book) FROM book GROUP BY id_autor",$db);
$myrow = mysql_fetch_array($result);.
Облажался, спасибо malls, я нашел ошибку у себя.
$result = mysql_query("SELECT id_author, count(id_book) FROM book GROUP BY id_autor",$db);
$myrow = mysql_fetch_array($result);.
Мне нужно не сортировка по id авторов, а именно обновления чтобы выводились, но без повторов !
Мне нужно не сортировка по id авторов, а именно обновления чтобы выводились, но без повторов !
Это не сортировка, а группировка, она это и сделает. Или что должно выводится без повторов?