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

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

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

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Подскажите как мне выбрать не NULL значения при Join, например, делаю так
    PHP:
    SELECT *
    FROM onlineuser
    LEFT JOIN seoinfo ON seoinfo
    .id onlineuser.refererid
    WHERE seoinfo
    .know_referer  IS NOT NULL
    LIMIT 0 
    30
    и все вроде ок, но там много колонок и все их перечеслять накладно,такой финт не проходит
    PHP:
    SELECT *
    FROM onlineuser
    LEFT JOIN seoinfo ON seoinfo
    .id onlineuser.refererid
    WHERE seoinfo
    .*  IS NOT NULL
    LIMIT 0 
    30
    как можно выбрать не NULL значения?
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ну и вопрос, если бы ты понял, что хочешь выбрать (конкретно), сам бы и ответил:

    Наверное таки не

    seoinfo.know_referer (как я понимаю имя таблицы)

    а имя колонки, значения в которой IS NOT NULL

    (т.е. просто название колонки, принадлежность которой не надо по 200 раз указывать, это сделано раньше)
     
    #382 Pashkela, 22 Dec 2008
    Last edited: 22 Dec 2008
  3. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    ММ, вроде по SQL видно - не NULL значения из seoinfo.
     
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ыыыы, seoinfo - это что? Таблица, или имя колонки? Т.е. ты LEFT JOIN seoinfo (таблицу) и потом ты меня лечишь, что seoinfo - это такая колонка одновременно же?:))

    Значения хранятся в колонках, колонки - в таблицах, таблицы - в БД

    А у тебя получается попытка присоединить таблицу seoinfo, где таблица seoinfo не Null ))))

    А если ты думаешь, что так можно заочно по всем колонкам таблицы seoinfo пробежаться, то это глубокое заблуждение, надо указывать имя КОЛОНКИ в условии WHERE, ну уж никак не имя ТАБЛИЦЫ, в твоём случае
     
    #384 Pashkela, 22 Dec 2008
    Last edited: 22 Dec 2008
  5. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Мдя, вы явно не подскажите, сразу видно спец по sql, даже я далеко не с самыми лутчшими знаниями по sql спокойно разберусь где колонка, где бд а где row, если бы мой пример( 2 ) работал я бы не спрашивал.
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    seoinfo.know_referer

    ну если вы думаете, что понимаете, что пишите, то что у вас конкретно в этом seoinfo и что такое know_referer и даже если последнее, это имя колонки, то вы что, правда думаете, что так можно писать?:))
     
  7. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    seoinfo - таблица, перечеслять ее столбцы не буду

    know_referer - row(колонка) в таблице seoinfo.

    да именно так можно писать, а вот пример маску доступа * в where нельзя.
    Вот именно из за таких, извиняюсь за выражения флудеров, которые только и надеються как бы на своем флуде себе репу набить не охота задовать лишний раз вопрос, и тратить время не на поиск решения а на бесмыленное перебранку с человеком который хочет утвердить что у него не просто так репа такая. Если не знаете ответа лутчши лишний раз промолчать.
    -1
     
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 PaCo:

    Нахрен пошел, тупой ты щегол. Флудеров и гонщиков за репой в зеркале ищи, ущербный ты наш

    Если в таблице seoinfo колонка know_referer NOT NULL, то этого вполне достатчно для всех остальных данных в этой таблице для условия отбора
     
    #388 Pashkela, 22 Dec 2008
    Last edited: 22 Dec 2008
  9. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    ХМ, теперь понятно кто из нас "тупой ты щегол",
    100% согласен
    Ну если вы будете так обрашаться к людям то естествено "атмосфера дружелюбности" к вам будет не очень.
    Дальнейший спор безсмысленен, я его продолжать не буду. PEACE.
     
    #389 PaCo, 22 Dec 2008
    Last edited: 22 Dec 2008
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ага, наверное я первый начал - флудер там, гонка за репой и всё такое - еще раз - ты обезьянко тупорылая:) Убейся

    ЗЫЖ Peace конечно:))))))))))
     
    #390 Pashkela, 22 Dec 2008
    Last edited: 22 Dec 2008
  11. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    mysql_query("INSERT INTO news(name,body,date) VALUES({$_POST['newName']},{$_POST['newBody']},date(d.m.y))");

    кавычки?ммм
     
  12. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Ru}{eeZ заковыч данные в VALUES
    т.е.
    VALUES('{$_POST['newName']}',...
     
  13. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    mysql_query("INSERT INTO news(name,body,date) VALUES('".$_POST['newName']."','".$_POST['newBody']."',date(d.m.y))");
     
    1 person likes this.
  14. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    чё-то ничё не прёт... а можете разъяснить?)
     
  15. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Стоп, тебе надо выполнить запрос в бд или через php?
    Покажи код тогда php
     
  16. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    А попробуй так:
    PHP:
    $newname $_POST['newName'];
    $newBody  $_POST['newBody'];
    $date date("d.m.Y");

    $query "INSERT INTO news(`name`,`body`,`date`) VALUES ('$newname','$newBody','$date')";

    mysql_query($query) or die('Произошла ошибка, обратитесь к администрации'mysql_error());

     
  17. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    эм, ну mysql_query()
    ну если этот кусок поможет:
    PHP:
          if(isset($_POST['newName']) && isset($_POST['newBody'])) {
            
    $content 'Новость добавлена';
            
    //Записать новость в базу
            
    mysql_query("INSERT INTO news(name,body,date) VALUES('".$_POST['newName']."','".$_POST['newBody']."',date(d.m.y))");
            
    //mysql_query("INSERT INTO news(name,body,date) VALUES("'.$_POST['newName'].'","'.$_POST['newBody'].'",date(d.m.y))");
            //mysql_query("INSERT INTO news(name,body,date) VALUES('Название новости','Текст новости','21.12.2008')");
          //Если новость не передана - вывести форму для подачи
          
    } else
    п.с. обычно я комментарии для себя оставляю)
     
  18. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    mysql_query("INSERT INTO news(name,body,date) VALUES('".$_POST['newName']."','".$_POST['newBody']."', ".date(d.m.y).")");
    Должно
     
    3 people like this.
  19. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Вот теперь работает, спасибо!
    только вот ещё нотисы непонятные к дате выдаёт:
    Notice: Use of undefined constant d - assumed 'd' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\xdf\rab\index.php on line 40

    Notice: Use of undefined constant m - assumed 'm' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\xdf\rab\index.php on line 40

    Notice: Use of undefined constant y - assumed 'y' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\xdf\rab\index.php on line 40

    а можно ещё разъяснение куда там какие кавычки и т.д.? :rolleyes:
     
  20. [dei]

    [dei] Active Member

    Joined:
    24 Nov 2008
    Messages:
    171
    Likes Received:
    112
    Reputations:
    5
    внутри date кавычки одинарные, это же аргумент функции.
    PHP:
    date('d.m.y')
     
Thread Status:
Not open for further replies.