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

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

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

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    L I G A, чем оптимальнее код - тем выше его работоспособность. Пускай, для одного юзера все будет одинаково, но если на скрипт зайдут 100-200? Умножь кол-во потраченого времени, оперативки на это число. В этом случае он будет часто падать. Да, ты скажешь - ну и кто на этот скрипт будет заходить, он же для теста его написал? А, может, он планирует серьезно занятся PHP, а твои посты будут учить его "быдлокодингу", что он и будет в дальнеешем писать.

    1.
    PHP:
    <?php

    mysql_connect
    ('localhost''root'false) or die(mysql_error());
    mysql_select_db('mysql');
    $result mysql_query('SELECT * FROM `user`');
    while (
    $array mysql_fetch_assoc($result))
        
    print_r($array);

    ?>
    2,3. Никто, но в первом ответе ты оправдывался, хотя я просил ответа. Если не устраивает так, тогда - это не ответ.
    4,5. См. первые строчки.

    Чтобы помочь пользователю, недостаточно исправить кусок кода - надо исправить ВЕСЬ код, если это необходимо, и объяснить что к чему и зачем, что и сделал я.

    PS: Если нечего сказать - промолчи, а материться иди на другой форум.
     
    1 person likes this.
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Я отредактировал свой пост, добавив код, а он его не увидел, т.к. новая страница создалась. После твоего поста он не появлялся в теме. Если бы у него не вышло с моим кодом, он бы написал.

    Да, мне так захотелось, и я имею право делать с поставленными мною плюсами все, что захочу.

    Всеравно неоптимизирован (кавычки, for).

    В конкретном случае - это лишнее. В одном скрипте инклюд больше памяти займет, нежели в двиге. Можешь проверить :)
    Я говорил про оптимальность, а не про читабельность. На крайняк - можно в сорсы заглянуть.

    Плюс мы для теста выводим print_r, т.к. в коде print_r использоваться не будет. Покажи-ка, как в твоем коде вывести даные, используя эхо, если в БД, н.п., 4 записи, не повторяя индексы. В моем это возможно
    PHP:
    <?php 

    mysql_connect
    ('localhost''root'false) or die(mysql_error()); 
    mysql_select_db('mysql'); 
    $result mysql_query('SELECT * FROM `user`'); 
    while (
    $array mysql_fetch_assoc($result)) 
    echo 
    $array['User'].':'.$array['Password'].'<br>'

    ?>
     
  3. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    есть доказательства?

    в конкретном случае не имеет разницы что while что for

    ну я тоже не говорил про оптимальность.

    я до такого уровня опускатся не буду.

    отдельное спс,поржал.

    только у этого кода есть недостаток,потому как в таблице может быть еще такая колонкa как id
    и он её выводить не будет.

    no problem
    Покажу-ка:
    PHP:
    <?php
    require_once "mysql_connect.php";
    $r=mysql_query('SELECT * FROM user')
    or die (
    mysql_error());
    for(
    $data=array();$row=mysql_fetch_assoc($r);$data[]=$row){
    echo 
    $row['User'].':'.$row['Password'].'<br>';
     }
    ?>
     
  4. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Ты сам видел... + Есть снизу "Последний раз редактировалось:..."
    С точки зрения оптимальности: имеет.
    Нет, ты про читабельность. Читабельность и оптимальность - разные вещи.
    А тебя никто и не просит.
    Что смешного?
    Я показал пример. Не трудно будет еще добавить $array['id'];
    :) У тебя в логическом выражении стоят три функции :) В инструкции (теле цикла) одна. Вместе 4.
    У меня в логическом выражении одна. В инструкции также одна. Вместе 2, т.е. в два раза меньше чем у тебя. Опять оптимальность...
     
  5. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    гонщик
    вот и правильно пока ты не начал писать про оптимальность я ничего не писал про читабильность

    я про :не повторяя индексы
    какие могут быть индексы у переменных?(я знаю что индексы могут быть у массивов) ведь все переменные начинаются со знака доллара(С)Мэилбруш
    ок,а если в теблице не три колонки а во много раз больше ты будешь дописывать в него все? бред.

    в конкретном случае это его не замедлит.
     
  6. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    for($data=array();$row=mysql_fetch_assoc($r);$data    []=$row);  
    тут кое что лишнее
    PHP:
    for(;$row=mysql_fetch_assoc($r);)
    и нормально
    И вообще спор на пустом месте.
     
    #10786 Chaak, 15 Jul 2009
    Last edited: 15 Jul 2009
    1 person likes this.
  7. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Опять за свое... пост слипа почитай.
    иного слова не знаешь?
    А это тут при чем?
    В этом случае можно будет юзать цикл foreach.
     
  8. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    это для наглядности потому как я писал этот код новичку и чтоб ему было вилно что $data массив.
    никто не спорит что while быстре.

    А это тут при чем?

    эмм,код больше станет т памяти больше займет,у нас экономия!
    а вот так будет быстрее ,читабильней а главное экономней!:
    echo "<pre>";
    print_r($data);
    echo "</pre>";
     
    #10788 L I G A, 15 Jul 2009
    Last edited: 15 Jul 2009
  9. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    И как ты, интерестно, будешь использовать это в выводе данных? Ну, например, пишешь ты скрипт просмотра профиля, по ID. Ты будешь там print_r() юзать? Думаю, нет. А если уже пошло на оптимальность, экономию, можно юзать код
    PHP:
        while ($row mysql_fetch_array($resultMYSQL_NUM)) { 
            
    printf ("ID: %s  Username: %s"$row[0], $row[1]);   
        }
    Ты спорил... пока ChaaK не появился.
     
  10. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    не надо тему переводить мы сейчас о другом скрипте говорим,и для него будет оптимальней
    print_r();
    найди пост в которм я писал что for быстрее while.
    я писал чо в данном скрипте это роли не играет.
    и с таким же успехом могу написать что ты спорил будто Земля имеет форму куба :D
     
  11. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Какраз играет. В любом скрипте while быстрее for, если тело цикла одинаковое.
     
  12. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    наносекунды...)
     
  13. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Но все же играет:) Мб перестанем спорить?
     
  14. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    мудрое решение),так бы сразу.
     
  15. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Это не значит, что я сдался :). Я довел, что мой скрипт работает оптимальнее, а потом предложил мир:) Только не надо сейчас опять разводить споры насчет предыдущего предложения.
     
  16. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    это будет моей последний пост на эту тему болше спорить не буду).
    Да твой скрипт оптимальней тем что его сценарий выполняется на наносекунды быстрее моего,(не начального).
    я спор не разводил и не собираюсь разводить насчет предыдущего предложения ;)
     
    1 person likes this.
  17. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    Привет вам) Кто может подсказать скриптик который будет числа в диапозоне показывать) НУ пример:

    Сейчас на сайте: 34 чел..

    Страницу обновил:

    Сейчас на сайте: 43 чел.

    Спасибо)
     
  18. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <?php

    $min 
    0;
    $max 100;

    $result rand($min$max);
    echo 
    $result;

    ?>
    Такой ?
     
    1 person likes this.
  19. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    да +
     
    1 person likes this.
  20. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    мм.. и еще вопросик) как вывести это в DLE?)) Просто в шаб вставить естественно не робит.
     
    1 person likes this.
Thread Status:
Not open for further replies.