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

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

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

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Pashkela ты вообще вопросы читаешь или просто так от балды пишешь?
     
  2. MotoR

    MotoR New Member

    Joined:
    25 Apr 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Если я правильно понял, то будет приблизительно вот так:

    PHP:
    <?php  
    $query 
    "SELECT value FROM table1 WHERE id =1";
    $query1 "SELECT value FROM table2 WHERE id =99";  
    if (
    $result mysql_query($query)){ 
    // дальнейшие необходимые действия, т.е. выполнилось первое условие существования записи в таблице tabel с id=1 

    else {     
    $result mysql_query($query1);     
    // дальнейшие необходимые действия, т.е. выполнилось второе условие существования записи в таблице tabel2 с id=99 

    ?>
     
  3. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    MotoR :D до этого я бы и сам додумылся мне нужен 1 запрос )
     
  4. MotoR

    MotoR New Member

    Joined:
    25 Apr 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Ну а что мешает объединить эти два запроса через логическое "или" (OR) ?
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Сорри, не увидел просто сразу, что таблы разные, l1ght поправил)
     
  6. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    проблема что все предлогаеют выбрть сразу из 2ух таблиц а мне нада сначала проверить если в 1ой есть а если нету там то со второй выбрать ...
     
  7. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Возможно, так
    Code:
    SELECT CASE WHEN EXISTS (SELECT * FROM table1 WHERE id = 1) 
    THEN (SELECT value FROM table1 WHERE id = 1) 
    ELSE (SELECT value FROM table2 WHERE id = 99) END;
    
     
    1 person likes this.
  8. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как выбрать все записи у которых в определенном столбце нету точки
     
  9. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    SELECT * FROM `table` WHERE `column` NOT LIKE '%.%';
     
    1 person likes this.
  10. Demon1X

    Demon1X New Member

    Joined:
    31 May 2007
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    тут вчера обзор цмсок читал
    http://habrahabr.ru/blogs/webdev/92607/
    встретил пару таких перлов
    Вопрос как они подсчитывают количество запросок генерируемых скриптом к БД?

    Можно конечно написать скриптик который будет парсить скрипт на количество запросов переходить на включаемые в него др. скрипты и там подсчитывать вызовы тоже. Но я так понимаю есть куда более изящное решение?
     
  11. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    а посмотри например в http://cogear.ru/ внизу страницы...

    если CMS написана на фреймворке, то статистические данные не проблема
     
  12. Demon1X

    Demon1X New Member

    Joined:
    31 May 2007
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    а иначе тогда узнать кол-во запросов, можно только вышеозначенным мною способом?
     
  13. ultimatum

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

    Joined:
    28 Apr 2007
    Messages:
    142
    Likes Received:
    65
    Reputations:
    -13
    Незнал что можно делать условия в запросе.

    Сколько здесь запросов к/в базе?
     
  14. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Можно. Запросов к БД два
     
  15. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    [​IMG]
    В этом же запросе необходимо определить кол-во программ, созданных разработчиками.
     
  16. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    чото типо:

    SELECT
    Производители.[Название производителя],Производители.[Номер производителя],Производители.[Рейтинг], COUNT(Программы.[Название программы]) AS AllProg
    FROM
    Производители
    INNER JOIN
    Программы ON Производители.[Номер производителя] = Программы.[Номер производителя]
    GROUP BY
    Производители.[Название производителя],Производители.[Номер производителя],Производители.[Рейтинг];
     
    1 person likes this.
  17. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Блин.. пробывал ошибку писало. Спасибо.
     
  18. truelamer

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

    Joined:
    6 Nov 2007
    Messages:
    135
    Likes Received:
    30
    Reputations:
    5
    Всем привет, помогите разобраться. У меня есть таблица в которую каждые 1-3 секунды поступают данные причем предыдущие данные должны быть удалены перед вставкой или их значение должны быть обновлены. как мне лучше это реализовать? есть идея о том что значало делать транкейт таблицы а потом просто вставку объединенным инсертом, update мне кажется бдет наиболее тормозным вариантом. Так вот если делать сначало транкейт а потом сразу инсерт не получится ли ситуация что в это время между этими процессами пролезет запрос а таблица пуста, запросы к таблице тоже очень часто идут. подскажите вариант
     
  19. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    http://php.net/manual/en/function.mysql-pconnect.php
    truncate и insert выполняются намного быстрей чем за 1-3 секунды, так что думаю всё должно быть норм
     
  20. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Code:
    1|1|11
    2|2|11
    3|44|1
    Code:
    select count(id_tovar) as qwerty from sklad where id_type_spares = 1 AND id_spares = 1 AND diller=111111111111
    
    значения 111111111111 не существует...

    ввожу этот запрос в PHPmyadmin выводит 0
    почему ПХП пишет что 2,елси ответ 0 ?
    в чем может быть косяк?

    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']); 

    echo(
    "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 = ".$_GET['diller']); 
    echo(
    '<br><br><br>');
     
    $userdata mysql_fetch_assoc($query); 
    $povtor=$userdata['qwerty'];

    echo(
    $povtor);
     
    #1140 InfectedM, 2 Jun 2010
    Last edited: 2 Jun 2010
Thread Status:
Not open for further replies.