Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

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

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

15.07.2009, 16:13
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
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
Провел на форуме: 6075534
Репутация:
2731
|
|
в конкретном случае это его не замедлит.
я про :не повторяя индексы
какие могут быть индексы у переменных?(я знаю что индексы могут быть у массивов) ведь все переменные начинаются со знака доллара(С)Мэилбруш
Опять за свое... пост слипа почитай.
иного слова не знаешь?
вот и правильно пока ты не начал писать про оптимальность я ничего не писал про читабильность
А это тут при чем?
ок,а если в теблице не три колонки а во много раз больше ты будешь дописывать в него все? бред.
В этом случае можно будет юзать цикл foreach.
|
|
|

15.07.2009, 16:32
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме: 4532332
Репутация:
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..
|
|
|

15.07.2009, 16:42
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
а вот так будет быстрее ,читабильней а главное экономней!:
И как ты, интерестно, будешь использовать это в выводе данных? Ну, например, пишешь ты скрипт просмотра профиля, по ID. Ты будешь там print_r() юзать? Думаю, нет. А если уже пошло на оптимальность, экономию, можно юзать код
PHP код:
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s Username: %s", $row[0], $row[1]);
}
никто не спорит что while быстре.
Ты спорил... пока ChaaK не появился.
|
|
|

15.07.2009, 16:48
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме: 4532332
Репутация:
1196
|
|
Сообщение от mailbrush
И как ты, интерестно, будешь использовать это в выводе данных? Ну, например, пишешь ты скрипт просмотра профиля, по ID.
не надо тему переводить мы сейчас о другом скрипте говорим,и для него будет оптимальней
print_r();
Сообщение от mailbrush
Ты спорил... пока ChaaK не появился.
найди пост в которм я писал что for быстрее while.
я писал чо в данном скрипте это роли не играет.
и с таким же успехом могу написать что ты спорил будто Земля имеет форму куба 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|