powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как извлечь из массива пред последний елемент?
13 сообщений из 13, страница 1 из 1
Как извлечь из массива пред последний елемент?
    #35124637
SANYA_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет
Помогите пожалуйста разобраться с данной задачкой:
Мне нужно что бы выводился пред последний элемент с массива!Вот что я для этого делаю:

mysql_select_db($databases,$link);
$query = "show tables like 'Raw_1_2%'";
$result = mysql_query($query);

if ($result == 0):
echo ("<bError:>" . msyql_errno() . ":" . mysql_error() ."</b>");
elseif (mysql_num_rows($result) == 0 ):
echo ("<b>Query execution successfly</b>");
else:


printf ("<table border=1>");

for ($i=0; $i<mysql_num_rows($result); $i++) {
$row_name = mysql_fetch_row($result);

echo "<tr><td>";
for ($j=0;$j<mysql_num_fields($result);$j++) {
echo ($row_name[count($j)]-1);
}
echo "</td></tr>";
}

mysql_free_result($result);

printf ("</table>");

Но то что я сделал не работает, подскажите где я допустил ошибку и как ее решит!?
Зарание благодарен за ответ!
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35124873
van4ous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предпоследний элемент массива вытащить можно так:

Код: plaintext
1.
2.
$row_name = array("Line 1", "Line 2", "Line 3");
echo $row_name[count($row_name)- 1 ];
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35125104
SANYA_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасиб большое эт конечно правильно но есть небольшое но, в качестве элементов массива я указываю результат выполнения mysql_query($query);

$query = "show tables like 'Raw_1_2%'";
$result = mysql_query($query);
т.е
$row_name = mysql_fetch_row($query)
echo $row_name[count($row_name)-1];

В результате выводится первое название таблицы с запроса $result = mysql_query($query);
Даже если попробовать вывести второй элемент массива выводиться ошибка что нету второго элемента в массиве!
Получается что массив думает что у него только один элеммент :(
Проблема наверняка в задании массива $row_name = mysql_fetch_row($query);
Как научить его видеть все выводимые таблицы $result = mysql_query($query); ?
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35125118
van4ous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
$query = "show tables like 'Raw_1_2%'";
$result = mysql_query($query);
т.е
$row_name = mysql_fetch_row($query)
echo $row_name[count($row_name)-1];


немного не так... mysql_fetch_row() возвращает одну строку...

я бы сделал так:

Код: plaintext
1.
2.
3.
4.
5.
$row_name = array();
while($data = mysql_fetch_assoc($result)) {
     $row_name[] = $data;
}
echo $row_name[count($row_name)- 1 ]["FIELDNAME"];

токо будет экспешн, если в массиве меньше 2 элементов. надо перед обращением проверить на количество элементов в массиве
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35125609
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
van4ousпредпоследний элемент массива вытащить можно так:

Код: plaintext
1.
2.
$row_name = array("Line 1", "Line 2", "Line 3");
echo $row_name[count($row_name)- 1 ];

а ежели у меня $a = array ('first' => 'Line 1', 'second' => 'Line 2') ???
end() + prev() и будем вам щАстье
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35126042
SANYA_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
echo $row_name[count($row_name)-1]["FIELDNAME"];

Что надо указывать в качестве аргумента ["FIELDNAME"] ?
Я сделал так как Вы описывали но все равно не работает :( .

echo "<tr><td>";

$row_name = array();
while($data = mysql_fetch_assoc($result)) {
$row_name[] = $data;
}
echo $row_name[count($row_name)-1]["FIELDNAME"];

echo "</td></tr>";
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35126543
van4ous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
а ежели у меня $a = array ('first' => 'Line 1', 'second' => 'Line 2') ???
end() + prev() и будем вам щАстье

тут другая задача стояла, он же вытаскивал через mysql_fetch_row, а эта функция возвращает неассоциативный массив
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35127054
SANYA_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
van4ous автор
$query = "show tables like 'Raw_1_2%'";
$result = mysql_query($query);
т.е
$row_name = mysql_fetch_row($query)
echo $row_name[count($row_name)-1];


немного не так... mysql_fetch_row() возвращает одну строку...

я бы сделал так:

Код: plaintext
1.
2.
3.
4.
5.
$row_name = array();
while($data = mysql_fetch_assoc($result)) {
     $row_name[] = $data;
}
echo $row_name[count($row_name)- 1 ]["FIELDNAME"];

токо будет экспешн, если в массиве меньше 2 элементов. надо перед обращением проверить на количество элементов в массиве


Подскажите пожалуйста как вытащить с массива предпоследний элемент?

Все выше описанные примеры в данной ситуации не работают!!!
Вот что я делаю
printf ("<table border=1>");
for ($i=0;$i<mysql_num_rows($result);$i++) {
echo "<tr><td>";
for ($j=0;$j<mysql_num_fields($result);$j++) {
$row_name = mysql_fetch_row($result);
echo $row_name[count($row_name)-1];

}
echo "</td></tr>";
}


mysql_free_result($result);

printf ("</table>")
В этом случаю выводятся все элементы массива игнорируя то что я ему явно указываю echo $row_name[count($row_name)-1];
Вот результат вывода в браузере:
Raw_1_20080208062748
Raw_1_20080208065828
Raw_1_20080208072911
Raw_1_20080208075958
Raw_1_20080208083056
Raw_1_20080208090202
Raw_1_20080208093315
Raw_1_20080208100437
Raw_1_20080208103606
Raw_1_20080208110734
Raw_1_20080208113913
Raw_1_20080208121059
Raw_1_20080208124249 <--- надо что бы это название таблицы выводилось
Raw_1_20080208131447

Как решить эту проблему?
Зарание спасибо за ответ
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35127125
van4ous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот рабочее решение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$result = mysql_query("show tables like 'cms_%'");

printf ("<table border=1>");

$rows = array();
while($r = mysql_fetch_row($result)) {
    $rows[] = $r[ 0 ];
}

echo "<tr><td>";
echo $rows[sizeof($rows)- 2 ];
echo "</td></tr>";

mysql_free_result($result);

printf ("</table>");

пример работы тут
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #35127164
SANYA_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
van4ousвот рабочее решение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$result = mysql_query("show tables like 'cms_%'");

printf ("<table border=1>");

$rows = array();
while($r = mysql_fetch_row($result)) {
    $rows[] = $r[ 0 ];
}

echo "<tr><td>";
echo $rows[sizeof($rows)- 2 ];
echo "</td></tr>";

mysql_free_result($result);

printf ("</table>");

пример работы тут

СПАСИБО ВАМ БОЛЬШОЕ, ВСЕ РАБОТАЕТ, ДАЖЕ НЕ ПРЕДСТАВЛЯЮ ЧТО БЫ Я БЕЗ ВАШЕЙ ПОМОЩИ ДЕЛАЛ :)
ВЫ ИЗВИНИТЕ ЗА НАСТОЙЧИВОСТЬ ПРОСТО Я ЕЩЕ В PHP ЛАМЕР :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как извлечь из массива пред последний елемент?
    #38383061
topgim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон за некропостинг, а вдруг кому пригодится

// берем две последних записи из таблицы table, можно по дате (TIMESTAMP), можно по порядковому номеру (AUTO_INCREMENT)
$result = mysql_query("SELECT * FROM table ORDER BY date DESC LIMIT 2'");
// прогоняем выборку результатов, в массиве $out остается как раз предпоследняя строка из БД
while($tmp = mysql_fetch_row($result)) $out=$tmp;
echo (join(',',$out)); // ну или что там вам требуется с ней сделать....
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #38383220
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
topgim,

Код: php
1.
SELECT * FROM table ORDER BY col DESC LIMIT 1,1

тчк
...
Рейтинг: 0 / 0
Как извлечь из массива пред последний елемент?
    #38383287
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
topgimПардон за некропостинг, а вдруг кому пригодится

// берем две последних записи из таблицы table, можно по дате (TIMESTAMP), можно по порядковому номеру (AUTO_INCREMENT)
$result = mysql_query("SELECT * FROM table ORDER BY date DESC LIMIT 2'");
// прогоняем выборку результатов, в массиве $out остается как раз предпоследняя строка из БД
while($tmp = mysql_fetch_row($result)) $out=$tmp;
echo (join(',',$out)); // ну или что там вам требуется с ней сделать....


-_\\
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как извлечь из массива пред последний елемент?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]