ФорумРазработкаБазы данных → 2 простых вопроса

2 простых вопроса

  • Malin-ka

    Сообщения: 83 Репутация: N Группа: Кто попало

    Spritz 25 февраля 2010 г. 14:47

    Здравствуйте !

    1. Нужно просто посчитать кол-во строк. Без массивов и прочей нагрузки.
    Я пишу
    $r=mysql_num_rows(mysql_query("SELECT id FROM baza WHERE x=3"));

    Как можно проще и с меньшей нагрузкой на сервак получить $r ?

    2. В столбец таблицы 'foto' пишется значение time().$prefix.
    Нужно кроном удалять строки, где time() каждого из этих значений > чем 10 дней.
    Можно сделать так:

    $r=mysql_query("SELECT foto FROM baza");
    while($m=mysql_fetch_assoc($r)) {
    if(substr($m['foto']0,10)*864000>time()) {mysql_query("DELETE FROM baza WHERE foto=$m['foto']");} }


    Можно ли обойтись просто одним DELETE FROM…, и если да, то как ? Ну вобщем тоже, как сделать проще ?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 25 февраля 2010 г. 14:51, спустя 3 минуты 18 секунд

    1) SELECT COUNT …..
    2) DELETE FROM `table` WHERE expires_date > current_date
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 25 февраля 2010 г. 14:54, спустя 3 минуты 16 секунд

    1)
    SELECT COUNT (`id`) as `number` FROM `baza` WHERE `x` =  3

    $result['number'] - то, что тебе нужно. Но не уверен, что правильно синтаксически написал. Поправят если что.
    2) Во втором хз. Префикс то зачем?
    Спустя 29 сек.
    NRG, у нее там
    'foto' пишется значение time().$prefix.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 25 февраля 2010 г. 15:09, спустя 15 минут 23 секунды

    Нужно кроном удалять строки, где time() каждого из этих значений > чем 10 дней.


    А нельзя использовать дату из таблицы?
    DELETE FROM `table` WHERE `created` < DATE_ADD(CURDATE(), INTERVAL -10 DAY) 

    где created - DATE/DATETIME/TIMESTAMP
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 25 февраля 2010 г. 15:55, спустя 45 минут 31 секунду

    adw0rd, ахуенно! Я совсем забыл про DATE_ADD. Красивый селект получился что пиздец
  • Malin-ka

    Сообщения: 83 Репутация: N Группа: Кто попало

    Spritz 25 февраля 2010 г. 18:03, спустя 2 часа 7 минут 52 секунды

    Т.е. полюбому еще одно поле с датой в таблицу, я так поняла…ок, спасибо !
    И по первому - тож спасибо ! :)
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 25 февраля 2010 г. 18:13, спустя 9 минут 56 секунд

    Malin-ka, ну это удобнее будет и быстрее
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 25 февраля 2010 г. 18:34, спустя 21 минуту 37 секунд

    отличный способ зарегаться под женским ником, чтоб лучше помогали в решении вопросов
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Malin-ka

    Сообщения: 83 Репутация: N Группа: Кто попало

    Spritz 25 февраля 2010 г. 19:55, спустя 1 час 20 минут 15 секунд

    Обычно регистрируюсь под мужским. Помогают так же, а вот скабрезных шуток намного меньше :)
    …и таких вот блестящих догадок тоже…
  • Malin-ka

    Сообщения: 83 Репутация: N Группа: Кто попало

    Spritz 25 февраля 2010 г. 20:05, спустя 10 минут 47 секунд

    …кстати, это мне муж запретил регистрироваться под мужским именем. Сказал, что так я больше туплю в разговорах :)
    А он (Фроззек) меня рассекретил ! :) Ай малацца ! :)))))))))))
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 25 февраля 2010 г. 20:32, спустя 26 минут 44 секунды

    а с чего Вы взяли, что я имею ввиду Вас?
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Malin-ka

    Сообщения: 83 Репутация: N Группа: Кто попало

    Spritz 25 февраля 2010 г. 21:08, спустя 36 минут 14 секунд

    Тут кроме нас были NRG, SpartakuS, adw0rd и Baboot.

    Кого имел в виду - вариантов не много :
    1. Кого-то из них;
    2. Себя;
    3. Не в ту тему запостил.

  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 25 февраля 2010 г. 21:26, спустя 17 минут 16 секунд

    4. Pyha style (offtop)
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Malin-ka

    Сообщения: 83 Репутация: N Группа: Кто попало

    Spritz 25 февраля 2010 г. 21:50, спустя 24 минуты 10 секунд

    Посоветуй лучше, почему у меня запрос не работает.
    Пишу
    $q=sprintf("SELECT COUNT (*)  FROM `%s` WHERE `%s`='%s' AND `%s`='%s'",'table','type',$type,'cat',$cat);
    $r=mysql_query($q,$db) or die(mysql_error()); $i=mysql_result($r,0);


    В $i должна быть цифра, но до него не доходит. error пишет:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM `table` WHERE `type`='1' AND `cat`='0'' at line 1

    В примерах везде так. Что я неправильно написала ?
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 25 февраля 2010 г. 21:57, спустя 7 минут 26 секунд

    а скобки там зачем?
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!