[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

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

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Да нет чтобы применить limit нужно этих данных ещё набрать.
    Я говорю отом что при добавлении комментариев во всех системах в базу каждый раз добавляется id чего то и поиск ведётся по всей базе при выборке именно по нему.
    А если бы он был один то как бы снизилась нагрузка!!
     
  2. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    "Интересно какая такая ещё обработка?
     
  3. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    При построении БД надо учесть основные правила построения БД
    Одно из них(простыми словами) - у каждой записи должно быть поле, значение которого отличает его от остальных. В твоём случае - это id сообщения. То есть, конструкция, приведённая тобой работать не будет.
     
    1 person likes this.
  4. ~NeiTRoN~

    ~NeiTRoN~ Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    64
    Likes Received:
    2
    Reputations:
    0
    Для оптимизации в твоей таблице не хватает привязки коментария к определенной теме и сообщения которое коментируется. А если будет существовать эта привязка то поиск по базе будет суживать именно это, тобишь в базе будет проверется индификатор сообщения или темя, а потом+ id пользователя,что и даст оптимизацию скрипта!
     
  5. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    post_id автоинкремент
    user_id id юзера
    coment коментарии

    Code:
    SELECT * FROM `table`WHERE `user_id`='id'
    В чем проблемма то? Ты хоть расстолкуй :D
     
  6. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Хорошо что про sql заговорили))

    как в WHERE указать несколько параметров?
    что-то вроде:
    PHP:
    SELECT FROM `tableWHERE `id` = 123
    то исть выборку осуществлять только с указанными id.
    понятно что этот код не работает, а очень хотелось бы всю эту дрянь получить одним запросом. В доках ничего полезного не нашёл...
    сейчас для этой цели юзаю цикл.
     
  7. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Code:
     SELECT * FROM `table` WHERE `id` = '1' AND WHERE `id` = '2' AND WHERE `id` = '3'
     
  8. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Union попробуй...объединяет запросы :)
     
  9. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    union не подходит т.к. количество id-шников может быть любое
     
  10. ~NeiTRoN~

    ~NeiTRoN~ Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    64
    Likes Received:
    2
    Reputations:
    0
    Попробуй такой
    PHP:
    mysql_query ("SELECT * FROM table ORDER BY id DESC LIMIT $query");
    В переменной $query укажи число и он прогонит все id до этого числа!
     
  11. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    ~NeiTRoN~
    да эт не то...я б давно лимитом вывел если б id-шники были упорядоченными....а они могут быть например 1, 20, 8, 96, 47...
     
  12. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    .:EnoT:., модератор может сам будет задавть вопросы по SQL в соотв.теме?

    AND AND AND юзай
     
  13. ~NeiTRoN~

    ~NeiTRoN~ Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    64
    Likes Received:
    2
    Reputations:
    0
    А от чего зависят эти ид, тоесть меняются ли эти id или есть определенный порядок 1, 20, 8, 96, 47 который не меняется и всегда он запрашивается?
     
  14. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Что за бред? Причём тут нагрузка? Какой поиск? В БД вообще то существует индексация.
    Если показ всех постов то
    SELECT post FROM tbl1

    Показ постов для конкретного юзера:
    SELECT post FROM tbl1 WHERE userd_id='...'

    Вывод определённого комментария:
    SELECT user_id, post FROM tbl1 WHERE user_id='...'

    Пойми для начала принцип работы базы данных. Не надо писать бред про нагрузку и прочее
     
  15. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    нет не может, т.к. считает что вопрос по связке php+mysql вполне нормально задавать в теме php.
    Абалдеть ты умный, или ты думаешь, что я не попробовал с первого раза использовать and?
    Ну посмотри к примеру результат этого запроса:
    PHP:
    $q mysql_query("select `id` from `table` where `id` ='1' and `id` = '5'");
    echo 
    mysql_num_rows($q);
    даже новичку будет понятно что результат будет равен 0

    ~NeiTRoN~
    Они могут быть совершенно любые и в любом порядке.
     
    1 person likes this.
  16. ~NeiTRoN~

    ~NeiTRoN~ Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    64
    Likes Received:
    2
    Reputations:
    0
    А каким методом это список формируется?? пост, гет, берется из базы или из файла или может еще как???
     
  17. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    1) Юзай не AND, а OR
    2) select `id` from `table` where `id` IN ( множество )
    множество можно получать и подзапросом
     
    #4357 Naydav, 28 Jul 2008
    Last edited: 28 Jul 2008
    1 person likes this.
  18. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    подскажите скрипт который записывает Ip юзера и время перехода по ссылке, очень надо.
    за полезную инфу буду благодарен!
     
  19. ~NeiTRoN~

    ~NeiTRoN~ Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    64
    Likes Received:
    2
    Reputations:
    0
    Пожалуйста
    PHP:
    <?
    $time time ("формат времени");
    mysql_query ("INSERT INTO таблица (time, host) values ('$time', '$ip') ");
    ?>
     
  20. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    ~NeiTRoN~
    а как он работает? через бд?
     
Thread Status:
Not open for further replies.