
15.07.2009, 14:04
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
echo_r($data) что ли? 
Я не говорил, вместо print_r, я сказал вместо print.
L I G A,
1. В конкретном случае цикл while займет меньше времени, оперативки.
2,3. Это не оправдание.
4,5. Время, оперативку.
1-5 - Если сделать все это, код будет выполнятся быстрее, станет оптимальнее. Проверить можно функцией microtime(). Оперативку до и после работы скрипта тоже можно измерить функцией, но я не помню какой.
|
|
|

15.07.2009, 14:12
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
С нами:
9362947
Репутация:
1196
|
|
Сообщение от mailbrush
Я не говорил, вместо print_r, я сказал вместо print.
L I G A,
1. В конкретном случае цикл while займет меньше времени, оперативки.
2,3. Это не оправдание.
4,5. Время, оперативку.
1-5 - Если сделать все это, код будет выполнятся быстрее, станет оптимальнее. Проверить можно функцией microtime(). Оперативку до и после работы скрипта тоже можно измерить функцией, но я не помню какой.
1запиши мне в условие while то что я написал в цикл for
2,3кто ты такой что б я перед тобой оправдывался?,я исправил кусок кода и тем самым помог пользователю в отличии от твоих бредовых постов которыми ты не знаешь как до***ца.
4,5 гонщик спиди бля
Ответ на пост снизу:
2,3 теперь я переписал полностью код,в прошлый раз я исправил только ту часть кода без которой он не работал бы
PHP код:
<?php
mysql_connect("localhost","root")or die(mysql_error());
mysql_select_db("forum");
$r=mysql_query('SELECT * FROM user')
or die (mysql_error());
for($data=array();$row=mysql_fetch_assoc($r);$data []=$row);
echo "<pre>";
print_r($data);
echo "</pre>";
?>
Код:
2. LIGA && nub-hacker, if(mysql_connect("localhost","root","")!=0) - условие будет выполнятся в том случае, если ф-кция mysql_connect не вернула 0, т.е. вернула true, т.е. "!=0" совсем не обязательно.
3. LIGA && nub-hacker, код else die(mysql_error()); лишний. Вместо него после mysql_query() можно вставить or die(mysql_error()). Ошибка выведется, когда mysql_query вернет 0, т.е. false.
4. LIGA && nub-hacker, Текст, не использующий переменных, необходимо заключать в одинарные кавычки для экономии памяти.
5. LIGA && nub-hacker, Вместо функции print использовать echo, для экономии памяти.
2,3,4,5 отпадает это были его строки кода.
__________________________________________________ _
если уже зашел розговор то соединение к БД лучше подключать через функцию require_once
например: require_once "mysql_connect.php";
как ты мог про такое забыть если же
вписывать в каждый код
PHP код:
mysql_connect("localhost","root",false)or die(mysql_error());
mysql_select_db("forum");
то сколько мы памяти это займет?(чем оптимальнее код - тем выше его работоспособность)(С)Меилб уш,не так ли?
в твоем коде :
что при запуске будет совсем не читабильно в отличии от моего:
PHP код:
echo "<pre>";
print_r($data);
echo "</pre>";
Код:
mysql_select_db('mysql');
ты же говорил что быдлокод не пишешь ?
у него БД 'forum' а не 'mysql'
__________________________________________________ _
Код HTML:
Чтобы помочь пользователю, недостаточно исправить кусок кода - надо исправить ВЕСЬ код, если это необходимо, и объяснить что к чему и зачем, что и сделал я.
Код HTML:
респект LIGA, получилось.
с твоим мего оптимезированым кодом у него почему то ничего не получилось.
вижу ты разозлился и поудалял все плюсы с мой репы,знаешь мне как то все равно я не реподрочер.
Последний раз редактировалось L I G A; 15.07.2009 в 15:09..
|
|
|

15.07.2009, 14:23
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
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: Если нечего сказать - промолчи, а материться иди на другой форум.
|
|
|

15.07.2009, 15:06
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
респект LIGA, получилось.
Я отредактировал свой пост, добавив код, а он его не увидел, т.к. новая страница создалась. После твоего поста он не появлялся в теме. Если бы у него не вышло с моим кодом, он бы написал.
вижу ты разозлился и поудалял все плюсы с мой репы,знаешь мне как то все равно я не реподрочер.
Да, мне так захотелось, и я имею право делать с поставленными мною плюсами все, что захочу.
теперь я переписал полностью код,в прошлый раз я исправил толшько ту часть кода без которой он не работал бы
Всеравно неоптимизирован (кавычки, for).
если уже зашел розговор то соединение к БД лучше подключать через функцию require_once
например require_once "mysql_connect.php";
В конкретном случае - это лишнее. В одном скрипте инклюд больше памяти займет, нежели в двиге. Можешь проверить
что при запуске будет совсем не читабильно в отличии от моего:
Я говорил про оптимальность, а не про читабельность. На крайняк - можно в сорсы заглянуть.
Плюс мы для теста выводим 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>';
?>
|
|
|

15.07.2009, 15:31
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
С нами:
9362947
Репутация:
1196
|
|
Я отредактировал свой пост, добавив код, а он его не увидел, т.к. новая страница создалась. После твоего поста он не появлялся в теме
есть доказательства?
В конкретном случае - это лишнее. В одном скрипте инклюд больше памяти займет, нежели в двиге.
в конкретном случае не имеет разницы что while что 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>';
?>
отдельное спс,поржал.
только у этого кода есть недостаток,потому как в таблице может быть еще такая колонк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>';
}
?>
|
|
|

15.07.2009, 15:53
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Ты сам видел... + Есть снизу "Последний раз редактировалось:..."
в конкретном случае не имеет разницы что while что for
С точки зрения оптимальности: имеет.
ну я тоже не говорил про оптимальность.
Нет, ты про читабельность. Читабельность и оптимальность - разные вещи.
я до такого уровня опускатся не буду.
А тебя никто и не просит.
Что смешного?
только у этого кода есть недостаток,потому как в таблице может быть еще такая колонкa как id
и он её выводить не будет.
Я показал пример. Не трудно будет еще добавить $array['id'];
 У тебя в логическом выражении стоят три функции  В инструкции (теле цикла) одна. Вместе 4.
У меня в логическом выражении одна. В инструкции также одна. Вместе 2, т.е. в два раза меньше чем у тебя. Опять оптимальность...
|
|
|

15.07.2009, 16:10
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
С нами:
9362947
Репутация:
1196
|
|
Сообщение от mailbrush
С точки зрения оптимальности: имеет.
гонщик
Сообщение от mailbrush
Нет, ты про читабельность. Читабельность и оптимальность - разные вещи.
вот и правильно пока ты не начал писать про оптимальность я ничего не писал про читабильность
Сообщение от mailbrush
Что смешного?
я про :не повторяя индексы
какие могут быть индексы у переменных?(я знаю что индексы могут быть у массивов) ведь все переменные начинаются со знака доллара(С)Мэилбруш
Сообщение от mailbrush
Я показал пример. Не трудно будет еще добавить $array['id'];
ок,а если в теблице не три колонки а во много раз больше ты будешь дописывать в него все? бред.
Сообщение от mailbrush
 У тебя в логическом выражении стоят три функции  В инструкции (теле цикла) одна. Вместе 4.
У меня в логическом выражении одна. В инструкции также одна. Вместе 2, т.е. в два раза меньше чем у тебя. Опять оптимальность...
в конкретном случае это его не замедлит.
|
|
|

15.07.2009, 16:13
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами:
9443906
Репутация:
3313
|
|
PHP код:
for($data=array();$row=mysql_fetch_assoc($r);$data []=$row);
тут кое что лишнее
PHP код:
for(;$row=mysql_fetch_assoc($r);)
и нормально
И вообще спор на пустом месте.
Последний раз редактировалось Chaak; 15.07.2009 в 16:56..
|
|
|

15.07.2009, 16:21
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
в конкретном случае это его не замедлит.
я про :не повторяя индексы
какие могут быть индексы у переменных?(я знаю что индексы могут быть у массивов) ведь все переменные начинаются со знака доллара(С)Мэилбруш
Опять за свое... пост слипа почитай.
иного слова не знаешь?
вот и правильно пока ты не начал писать про оптимальность я ничего не писал про читабильность
А это тут при чем?
ок,а если в теблице не три колонки а во много раз больше ты будешь дописывать в него все? бред.
В этом случае можно будет юзать цикл foreach.
|
|
|

15.07.2009, 16:32
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
С нами:
9362947
Репутация:
1196
|
|
Сообщение от Chaak
PHP код:
for($data=array();$row=mysql_fetch_assoc($r);$data []=$row);
это для наглядности потому как я писал этот код новичку и чтоб ему было вилно что $data массив.
никто не спорит что while быстре.
Читабельность и оптимальность - разные вещи.
А это тут при чем?
В этом случае можно будет юзать цикл foreach.
эмм,код больше станет т памяти больше займет,у нас экономия!
а вот так будет быстрее ,читабильней а главное экономней!:
echo "<pre>";
print_r($data);
echo "</pre>";
Последний раз редактировалось L I G A; 15.07.2009 в 16:35..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|