[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: срочно нужна помощ
romanet
Привет всем нужна ваша помощь уже весь день пишу одну функцию и не могу понять почему она работает некорректно. Суть такова вытягиваю из одной таблицы массив индефикаторив по которым должен пройти выборка из другой таблицы и пишу следующие действия
	public function get_friends_id($friends)
{

foreach ($friends as $frends)
{
$friends_id = $frends['friends_id'];
$this->db->where('anccet_id', $friends_id);
$query = $this->db->get('anccet');
return $query->result_array();
}
}

но к сожалению с такой записью выводит только 1 запись



Спустя 2 минуты, 52 секунды (5.07.2011 - 22:42) waldicom написал(а):
Цитата (romanet @ 5.07.2011 - 20:39)
но к сожалению с такой записью выводит только 1 запись

Это потому что return стоит внутри цикла foreach

Спустя 3 минуты, 1 секунда (5.07.2011 - 22:45) romanet написал(а):
нет пробував по разному результат тотже

Спустя 1 минута, 21 секунда (5.07.2011 - 22:46) romanet написал(а):
только когда вывожу за ппределы цикла вывожу не первую а последнюю запись в базе

Спустя 9 минут, 31 секунда (5.07.2011 - 22:56) waldicom написал(а):
Цитата (romanet @ 5.07.2011 - 20:46)
только когда вывожу за ппределы цикла вывожу не первую а последнюю запись в базе

Потому что в массив надо собирать данные, а затем отдавать полученный массив. Примерно так:
public function get_friends_id($friends){
$retval = array();
foreach ($friends as $frends) {
$friends_id = $frends['friends_id'];
$this->db->where('anccet_id', $friends_id);
$query = $this->db->get('anccet');
$retval[] = $query->result_array();
}
return $retval;
}


Спустя 4 минуты, 14 секунд (5.07.2011 - 23:00) romanet написал(а):
Забросало ошибками и етот вариант я пробовал но большое спасибо

Спустя 5 минут, 45 секунд (5.07.2011 - 23:06) romanet написал(а):
Написал так однако выводит только одну запись
	public function get_friends_id($friends)
{
$retval = array();
foreach ($friends as $frends) {
$friends_id = $frends['friends_id'];
$this->db->where('anccet_id', $friends_id);
$query = $this->db->get('anccet');
$retval['friends_id'] = $query->result_array();
}
return $retval['friends_id'];
}

Спустя 1 минута, 34 секунды (5.07.2011 - 23:07) romanet написал(а):
Народ помогайте а то реально не вижжаю почему так! По логике должно работать а оно собака работает но выводит только 1 запись


Спустя 2 минуты, 20 секунд (5.07.2011 - 23:10) waldicom написал(а):
Что выведет вот такой код:

public function get_friends_id($friends){
$retval = array();
foreach ($friends as $frends) {
$friends_id = $frends['friends_id'];
$this->db->where('anccet_id', $friends_id);
$query = $this->db->get('anccet');
$retval[] = $query->result_array();
}
echo '<pre>';
print_r($retval);
echo '</pre>';
}

Спустя 1 минута, 26 секунд (5.07.2011 - 23:11) bulgakov написал(а):
Не пойму логики работы функции, позвольте спросить что делает эта строка?

$this->db->where('anccet_id', $friends_id);

Спустя 2 минуты, 57 секунд (5.07.2011 - 23:14) romanet написал(а):
Array
(
[
friends_id] => Array
(
[
0] => Array
(
[
anccet_id] => 26
[last_name] => Китайський Хер
[pol] => мужской
[date_nar] => 1974-03-04
[Kraina] => Китай
[Oblast] => Сунь Хуй в чай
[gorod] => Якудза
[adressa] => Привокзальна 2 скамейка
[tel] => 977577235
[ulublenni_zanjattja] =>

Люблю убивати поганих япошок

[ulublenni_games_film_musik] =>

Путь воїна дивлюсь уже в соте

[o_sebe] =>

Звичайна китайська морда нічого сказати!

[
img_url] => /uploads/46867181554bee4a2882acb898a6e60a.jpg
[count_views] => 2
[Znac_zodiac] => Терези
[semejnoe_polozenie] => Свободен
[status] => Новенький
[section_id] =>
[
username] => roman
)

)

)

Спустя 53 секунды (5.07.2011 - 23:15) romanet написал(а):
Цитата (bulgakov @ 5.07.2011 - 20:11)
Не пойму логики работы функции, позвольте спросить что делает эта строка?

$this->db->where('anccet_id', $friends_id);

$this->db->where('anccet_id', $friends_id);
Виборка з бази вибрать все подля где anccet_id'= $friends_id

Спустя 23 секунды (5.07.2011 - 23:15) SoMeOnE написал(а):
romanet
Тебе же waldicom написал, что в массив надо собирать, а ты под одним ключом записываешь опять...

Спустя 3 минуты, 32 секунды (5.07.2011 - 23:19) waldicom написал(а):
Раз с моим кодом выводит только одну запись в массиве, то видимо и на входе массив всего с одной записью.
В самом начале функции надо сделать так:
    echo '<pre>';
print_r($friends);
echo '</pre>';

Правда я ожидал увидеть массив в другом виде

Спустя 1 минута, 14 секунд (5.07.2011 - 23:20) bulgakov написал(а):
romanet
Во первых, отредактируй то что ты вывел из массива, ужас какой-то, во вторых я ничего не имею против украинского языка, но просто я его не настолько хорошо знаю.

Спустя 1 минута, 16 секунд (5.07.2011 - 23:21) romanet написал(а):
Я делал все что говорил waldicom еще до разговора с ним все варианты ведут к вывожу 1 лишь записи

Спустя 1 минута, 35 секунд (5.07.2011 - 23:23) romanet написал(а):
Относительно текста то конечно нзабивав базу чем нибуть однако есть ли еще какие советы по моему случае

Спустя 13 минут, 30 секунд (5.07.2011 - 23:37) SoMeOnE написал(а):
Совет уже дали) Распечатай массив friends до цикла foreach...

Спустя 10 часов, 24 минуты, 9 секунд (6.07.2011 - 10:01) Guest написал(а):
Я уже это делал при розпечатци видно весь маств все гуд однако при выводе данного массива забрасывает ошибками. Я уже пробовал как с указанием индекса массива так и без него. С указанием индекса все работает однако выводит массив лишь по 1 строке. Без указания бросает ошибки мол нет такого массива и данных в нем. Я понимаю что бред какой но всежтакы где
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.