Nemo Если надо, могу скинуть простой чат (без привата и списка он-лайн пользователей) - в принципе, необходимый движок, даже с комментариями в коде
Кидай... dragonofdeath@bk.ru а если будет эллементарный с приватом и списком юзеров... буду очень благодарен
Nemo я очень рад, что ты считаешь себя не совсем ламером. А моему последнему совету, всё-таки последуй.
Nemo В SQL нет ничего страшного. В экселе работал? Там столбцы названия имеют А В С, а тут ты их сам именуешь и задаешь тип данных, которые будут храниться. Вот и все, образно говоря.
Значит... опять я что-то туплю... PHP: <? db_connect ($dbhost , $dbname, $dbpasswd, $dbuser); mysql_query('SET NAMES CP1251'); $data = mysql_fetch_array(mysql_query("SELECT username FROM `phpbb_users` WHERE `chat_online` = '1'")); print_r ($data); /* foreach ($data as $temp) { echo $temp.'<br>'; } */ for ($n = 0; $n < count($data)-1; $n++) { echo $data[$n].'<br>'; } ?> Почему-то выводится только первая запись удовлетворяющая условию... Остальные как-то не очень Не могу понять в чем дело... Принт_Р выводит две записи Хотя со статусом == 1 три человека! Сам поменял в phpMyAdmin, проверил, что действительно изменились Задача: Вывести в столбик список всех пользователей (только ники (usernames)) у кого chat_online == 1.
Дело в том, что mysql выводит структуру данных, отличную от массива. Я вижу её так (хотя она другая): [sql]DragonOfDeath | User 1 | User 2[/sql] Когда ты применяешь функцию fetch_array, то выбирается первый результат и из него образуется массив. Поэтому эту функцию нужно применять в цикле, чтобы в следующий раз она выбрала из результата User 1... Если бы запрос был бы такой - SELECT `id`, `username` FROM `phpbb_users` WHERE `chat_online` = '1' То результат был бы такой: [sql] 1 | 2 | 3 DragonOfDeath | User 1 | User 2[/sql] Первый массив был бы - Array ( [0] => 1 [id] => 1 [1] => DragonOfDeath [username] => DragonOfDeath )
а как тогда выводить список? (( Попробовал вот так Код (Text): $sql = "SELECT * FROM `phpbb_users` WHERE 'chat_online'='1'"; $sql=mysql_query($sql) or die("Error"); while($nextrow = mysql_fetch_array($sql)) { echo $nextrow['username'].'<br>'; } Но так вообще ничего не выводится
Nemo - эх ... я бы тебя даж кодером невзял! PHP: <? $sql = "SELECT * FROM `phpbb_users` WHERE 'chat_online'='1'"; фигли имя столбца в одинарных кавычках ?? а построфы ?? PHP: <? $sql = "SELECT * FROM `phpbb_users` WHERE `chat_online`='1'"; а потом нафиг mysql_fetch_array ??? есть пара очень удобных вещей : mysql_fetch_array( resource $result , MYSQL_ASSOC ) что по сути равно mysql_fetch_assoc () или вот ещё удобная mysql_fetch_object
Nemo Синтаксис языка SQL схож с английским языком... Поэтому простые запросы (выборка данных из одной таблицы) пишутся почти на чистом английском P.S. апострофы необязательны...