Кто нибудь подскажите пожалуйста как написать в коде php так, чтобы допустим в таблице БД есть поля name,level через php запрос я сортирую данные по возрастанию по полю level. Код (Text): $querylevel = "SELECT us_name,level FROM e_users WHERE vk_id=vk_id ORDER BY e_users.level DESC"; ///Запрос левелов $resultlevel = mysql_query($querylevel); $reslevel = mysql_fetch_array($resultlevel); Результат как я понимаю в виде таблицы, подскажите как мне преобразовать этот результат так,чтобы в echo выводилось в такой форме? Иванов,Петров,Сидоров-7,5,1 Но пытаюсь написать echo $reslevel['us_name']."-".$reslevel['level']; он выводит только так: Иванов-7 Там наверно как-то нужно Replace'ить чтобы добавить "запятые" и "тире" между элементами.
только что попробовал print_r($reslevel); вывел Array ( [0] => Иванов [us_name] => Иванов [1] => 7 [level] => 7 ) записей в БД 3 для теста,имена Иванов,Петров,Сидоров
igordata а как записать в цикле? Код (Text): foreach($reslevel as $value) { echo print_r($value), "<br>"; } я вот так записал,к 7-кам добавилось 1.
$querylevel = "SELECT us_name,level FROM e_users WHERE vk_id=vk_id ORDER BY e_users.level DESC"; ///Запрос левелов $resultlevel = mysql_query($querylevel); while ($reslevel = mysql_fetch_array($resultlevel)) { var_dump($reslevel); }
igordata Вот что мне вывело,но это да в цикле выводится,а как преобразовать,чтобы не было дубликатов типа: string(6) "Иванов" ["us_name"]=> string(6) "Иванов" [1]=> string(1) Добавлено спустя 1 минуту 21 секунду: smitt мне нужна строка,которая будет представлена на выходе в таком виде:
MYSQL_ASSOC Добавлено спустя 40 секунд: В цикле выводи, в чем вопрос? Добавлено спустя 2 минуты 10 секунд: Если нужны запятые везде то Код (PHP): while ($reslevel = mysql_fetch_array($resultlevel)) { echo implode(',', $reslevel); }
smitt просто так не вывести,пробовал таким способом,потом дошло что только 3 записи и первых три буквы выводятся. Код (Text): $lengthLevel = count ($reslevel['us_name']); for ($l=0;$l<$lengthLevel;$l++){ echo $reslevel['us_name'][$l];."-".$reslevel['level'][$l]; }
ааааааааа не ту ты функцию заюзал просто $querylevel = "SELECT us_name,level FROM e_users WHERE vk_id=vk_id ORDER BY e_users.level DESC"; ///Запрос левелов $resultlevel = mysql_query($querylevel); while ($reslevel = mysql_fetch_assoc($resultlevel)) { var_dump($reslevel); }
Код (PHP): $names = array(); $levels = array(); while ($reslevel = mysql_fetch_array($resultlevel, MYSQL_ASSOC)) { $names[] = $reslevel['us_name']; $levels[] = $reslevel['level']; } echo implode(',', $names).' - '.implode(',', $levels);
smitt да,просто хочу чтобы вывелась строка именно в такой форме с "запятыми" между именами и левелами и одним только тире, тире говорит о том что идет разделение между всеми именами пользователями и их уровнями,которые были отсортированны по возрастанию.