Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2010, 17:13   #1
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию Записать значения ячеек в порядке выполнения скрипта в массив

PHP код:
$up_array1 = Array();
$up_query1 mysql_query("SELECT * FROM `sb_comments` WHERE `com_owner_name` = '$owner_login' ORDER BY 

`com_date` DESC"
);
while(
$up1 mysql_fetch_array($up_query1)) 
{
$up_array1[]=Array('com_id' => $up1[com_id], 'com_us_name' => $up1[com_us_name], 'com_com' => $up1[com_com], 

'com_date' => $up1[com_date]);

$qu1 mysql_query("SELECT user_photo FROM `sb_users` WHERE `user_login` = '$up1[com_us_name]'");
$ci = Array();
$qu=mysql_fetch_array($qu1);
$ci[]=Array('user_photo' => $qu1);
}
echo(
$ci[0][user_photo]); 
Суть кода в том, что он сначала записывает в массив все данные очередного комментария, который принадлежит стене юзера в сессии, а потом вытаскивает по никам оставивших комментарии их фото. Если написать эхо внутри скобки и что-то сделать с кодом, то выводило все имена фоток. Но когда я пытаюсь последовательно записывать их в массив вместо вывода, пишется только 0 значение. На 1 уже ничего не выдает. В чем тут проблема?
Krasi вне форума Ответить с цитированием
Старый 23.07.2010, 17:45   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Может, в конце надо так:
Код:
$ci[0]['user_photo']
?
motorway вне форума Ответить с цитированием
Старый 23.07.2010, 18:33   #3
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

У меня от этого раньше ничего не менялось. Ну я еще раз попробовал, все-равно выводится только 0 элемент. Просто я и не умею записывать в массив, может у меня все время идет перезапись 0 элемента? Вот при таком изменении выводит от 0 элемента то, что надо:
PHP код:
$qu1 mysql_query("SELECT user_photo FROM `sb_users` WHERE `user_login` = '$up1[com_us_name]' LIMIT 1");
$ci = Array();
list(
$qu)=mysql_fetch_array($qu1);
$ci[]=Array('user_photo' => $qu); 
Но от остальных - пустота.
Krasi вне форума Ответить с цитированием
Старый 23.07.2010, 19:04   #4
werewolf999
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 46
По умолчанию

все можно сделать быстрее и проще используя возможности mysql и другую функцию для получения результата запроса
PHP код:
$up_array1 = Array();
// получаем все данные одним запросом(включая фотки)
$up_query1 mysql_query("SELECT s_c.com_id, s_c.com_us_name, s_c.com_com, s_u.user_photo FROM `sb_comments` AS s_c LEFT JOIN `sb_users` AS s_u ON (s_u.`user_login` = s_c.`com_us_name`) WHERE s_c.`com_owner_name` = '$owner_login' ORDER BY s_c.`com_date` DESC");
// используем mysql_fetch_assoc чтобы сразу получить ассоциативный массив
while($up1 mysql_fetch_assoc($up_query1)) {
    
$up_array1[] = $up1;
}
// смотрим результат
var_dump($up_array1); 
PS: хранить связи с использованием имени пользователя не очень оптимально для базы данных
werewolf999 вне форума Ответить с цитированием
Старый 24.07.2010, 07:17   #5
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Все работает!=)
Цитата:
хранить связи с использованием имени пользователя не очень оптимально для базы данных
А как оптимально?

Последний раз редактировалось Krasi; 24.07.2010 в 07:34.
Krasi вне форума Ответить с цитированием
Старый 24.07.2010, 09:51   #6
werewolf999
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 46
По умолчанию

для организации связей лучше использовать ключевые поля - в частности id записи
то есть вместо того, чтобы в связываемой таблице хранить имя пользователя сделавшего комментарий, там хранится его id
это снимает проблемы с возможным изменением имени пользователя
плюс уменьшается объем хранимых данных, хотя это конечно важно только при больших объемах информации
werewolf999 вне форума Ответить с цитированием
Старый 25.07.2010, 23:22   #7
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А у меня есть get username и нету rewrite. Мне, например, легче запомнить ник, чем id.
Krasi вне форума Ответить с цитированием
Старый 26.07.2010, 02:48   #8
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Цитата:
Сообщение от Krasi Посмотреть сообщение
Мне, например, легче запомнить ник, чем id.
Новые веяния в программировании. Программисты сами выполняют роль базы данных. MySQL уходит в небытие. ))) Теперь за клавиатурой каждого сервера сидит программист и вручную отвечает на все запросы к базе данных! Им так легче! )
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 27.07.2010, 20:16   #9
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

=) Например, вконтакте все идет по id пользователя, но там сайт для поиска. А у меня, наоборот, ситуация, когда я знаю кличку юзера и хочу ему отправить что-то, написать и тп, не обязательно как живая база данных.
Krasi вне форума Ответить с цитированием
Старый 27.07.2010, 23:47   #10
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Кросспостим, чтоле? http://www.programmersforum.ru/showt...82764&posted=1
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический вывод результата выполнения php скрипта. amdbodia JavaScript, Ajax 26 21.01.2010 23:23
Как записать все элементы матрицы в порядке неубывания? May_Be Помощь студентам 10 26.12.2009 01:50
как разделить значения ячеек по формату ячеек? ARIRAN Microsoft Office Excel 6 11.12.2009 15:30
Разбить время выполнения скрипта iankov PHP 9 03.08.2009 09:10
заданную строку записать в обратном порядке Defa4ka Помощь студентам 1 13.05.2009 11:50