[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    InfectedM, а ты ничего не забыл?

    PHP:
    $query mysql_query("select count(id_tovar) as qwerty from sklad where id_type_spares = ".$_GET['add_id_type_spares']." AND id_spares = ".$_GET['add_id_spares']); 
    Где тут diller-то?
    Видимо, так должно быть...
    PHP:
    $query mysql_query("select count(id_tovar) as qwerty from sklad where id_type_spares = ".$_GET['add_id_type_spares']." AND id_spares = ".$_GET['add_id_spares']." AND diller='чё-то там'); 
     
    #1141 FindeR, 2 Jun 2010
    Last edited: 2 Jun 2010
  2. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    блин точно.
    спс)
    сонный был и спутал запрос с echo по тупости)
     
  3. Firax

    Firax New Member

    Joined:
    21 Oct 2009
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Добрый вечер.

    Уменя такой вопрос у меня БД библиотека есть таблица выдачи книг и я там указываю число когда читатель должен вернуть книгу, как сделать что бы он автоматически перекидывался в таблицу должнеков когда он просрочит срок возвращения книги ?

    Зарание спасибо.
     
  4. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Может, немного не в тему ответ, но...зачем заводить ещё одну таблицу под должников? У тебя же уже есть таблица с читателями. У каждого имеется дата возврата книги. Вот и выводи тех, у кого дата возврата > текущей.
     
  5. Failure

    Failure Elder - Старейшина

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    =\
    http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timediff
    http://php.net/manual/en/function.mysql-fetch-assoc.php
     
  6. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Тогда уж:

    PHP:
    $query ="SELECT TIMEDIFF(NOW(), datetime) as diff FROM log";
    $result mysql_query($query) or die(mysql_error());

    while (
    $row mysql_fetch_assoc($result)) 
    {echo 
    $row["diff"];}
     
  7. ZenstatioN

    ZenstatioN New Member

    Joined:
    17 Dec 2004
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Cпасибо, то что надо :)
     
  8. Firax

    Firax New Member

    Joined:
    21 Oct 2009
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    FindeR, ну мне на них еще штрафы накладывать надо и в бан ставить если нарушили правила.
     
  9. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Firax, я бы всё равно не стал плодить таблицы.
    Добавил бы поле banned (smallint 1), debtor (smallint 1)..ну и поле penalty.

    Потом кроном проходился, например, раз в сутки по таблице. Если у кого-то дата просрочена - ставим ему в debtor единицу, ну и в penalty определённый штраф записываем.
    Если кого-то нужно забанить - в banned единицу.
     
  10. Jed7777

    Jed7777 Elder - Старейшина

    Joined:
    16 Jun 2008
    Messages:
    0
    Likes Received:
    11
    Reputations:
    0
    Я импортировал в бд таблицы скриптом а они отображаются как "????????", то есть неправильная кодировка. Не могу это исправить.
    PHP:
    mysql_query('SET NAMES cp1251');  
    не помогает.
     
  11. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Вставляю в БД примерно 20 тыс строк, длинна трок небольшая, всего лишь прокси и страна, вставляеться оч медленно, минут 5. В чем может быть причина?
    ЗЫ сервер mysql на локалхосте, возможно изза малого объема оперативы? Ось вин7 свободной оперативы 100мб )))))

     
  12. namak

    namak Member

    Joined:
    29 Jan 2009
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0
    где можно посмотреть пример использования GROUP BY, HAVING, чтобы все подробно было расписано. а не заумными словами.
    желательно с примером использования.
     
  13. GrandMaster

    GrandMaster Active Member

    Joined:
    16 May 2009
    Messages:
    107
    Likes Received:
    114
    Reputations:
    25
    Маловато, конечно, оперативки.
    http://www.citforum.ru/database/sql_kg/2-5-3.shtml
     
  14. Failure

    Failure Elder - Старейшина

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    http://www.mysql.ru/docs/man/Group_by_functions.html :eek:
     
  15. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    [​IMG]

    в таблице есть поле поставщик


    нужно вывести из этой таблицы поставщиков что бы они не повторялись.
    тоесть результат должен быть такой:
    стеклайн
    стеклито



    Не актульно,вопрос решен
     
    #1155 InfectedM, 9 Jun 2010
    Last edited: 10 Jun 2010
  16. Firax

    Firax New Member

    Joined:
    21 Oct 2009
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Подскажи те плиз как хотя примерно писать запросы с датами. БД на MySQL/

    Как например сделать запросы 1. вывести задолжников со сроком более 10 дней на данном пукте выдочи
    или

    2.Получить перечень и общие число книг поступивших и утреяных за последний год для данного читательно зала.

    Подскажите плиз как писать запросы с датами :(
     
  17. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Ищу такую функцию: Должна считать кол-во символов в строке
    Смысле:
    some_function('привет юзернейм','е') должно вернуть 3, потомучо в строке 3 буквы "е"
    Есть такое?
     
  18. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Нашел в гугле и немного видоизменил
    PHP:
    function some_function($str,$key) {
      
    $CharStat = array(); 
      
    $TotalChars StrLen($str); 
      for(
    $a=0;$a<$TotalChars;$a++) 
      { 
        
    $ch strtolower($str{$a}); 
        if(
    array_key_exists($ch,$CharStat)) 
          
    $CharStat[$ch]++; 
        else 
          
    $CharStat[$ch] = 1
      } 
      return 
    $CharStat[$key]; 
    }
    echo 
    some_function("привет юзернейм","е");
     
  19. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    LStr1ke, тема пыха рядом, мне в MySQL :eek:
    И мне родное, встроеное в мускуль надо
    P.S. Если уже говорить о пыхе
    PHP:
    <?php
    $s 
    'привет юзернейм';
    str_replace('е',null,$s,$count);
    echo 
    $count//3
    ?>
    <тут был бред, просто я не сплю часов 18, пурепутол strlen и strval :( >
     
    #1159 Ponchik, 10 Jun 2010
    Last edited: 10 Jun 2010
  20. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Ponchik, так, что ли, хочешь?:)
    Code:
    SELECT  (char_length('привет юзернейм') - char_length(REPLACE('привет юзернейм','е','')))
    
    Кстати, если уж на пыхе - то проще уж
    PHP:
    echo substr_count('привет юзернейм',"е");
     
    1 person likes this.
Thread Status:
Not open for further replies.