Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как сделать выборку из ассоциативного масива при одном неизветном элементе?!
 
 автор: dimonich2004   (11.02.2008 в 02:13)   письмо автору
 
 

листал книги не нашёл....((((
помогите!
Я имею массив:

$pp=
Array ( [0] => Array ( [page] => 1 [page_n] => 1 [id_n] => 91 )
[1] => Array ( [page] => 1 [page_n] => 2 [id_n] => 90 )
[2] => Array ( [page] => 1 [page_n] => 3 [id_n] => 89 )
[3] => Array ( [page] => 2 [page_n] => 0 [id_n] => 87 )
[4] => Array ( [page] => 2 [page_n] => 1 [id_n] => 86 )
[5] => Array ( [page] => 2 [page_n] => 2 [id_n] => 85 )
[6] => Array ( [page] => 2 [page_n] => 3 [id_n] => 84 )
[7] => Array ( [page] => 3 [page_n] => 0 [id_n] => 6 )
[8] => Array ( [page] => 3 [page_n] => 1 [id_n] => 1 ) )


и мне в цикле нужно переменной $a присваивать c известным значением поля 'page' значение поля 'id_n'

<?php
$ii
=4;


for (
$i=0 ; $i<$ii ; $i++)
{

$a=$pp(тут я непойму как записать.... подскажите ) 
 
} 
?>

   
 
 автор: exp   (11.02.2008 в 05:35)   письмо автору
 
   для: dimonich2004   (11.02.2008 в 02:13)
 

что-то вроде такого
<?php
$pp
=
array(
0 => array( 'page' => 1, 'page_n' => 1, 'id_n' => 91 ),
1 => array( 'page' => 1, 'page_n' => 2, 'id_n' => 90 ), 
2 => array( 'page' => 1, 'page_n' => 3, 'id_n' => 89 ), 
3 => array( 'page' => 2 ,'page_n' => 0, 'id_n' => 87 ) ,
4 => array( 'page' => 2, 'page_n' => 1,'id_n' => 86 ) ,
5 => array( 'page' => 2, 'page_n' => 2, 'id_n' => 85 ) ,
6 => array( 'page' => 2, 'page_n' => 3, 'id_n' => 84 ) ,
7 => array( 'page' => 3, 'page_n' => 0, 'id_n' => 6 ) ,
8 => array( 'page' => 3 ,'page_n' => 1,'id_n' => 1 ) );
$ii=4;
$i=0;

while (
$i < $ii && ($v = (isset($v)) ? next($pp) : current($pp)))
{
        if (
$v['page'] != 2) continue;
       echo (
$a=$v['id_n']) . "<br>\n";
        
$i++;
}

   
 
 автор: Akdmeh   (11.02.2008 в 08:49)   письмо автору
 
   для: exp   (11.02.2008 в 05:35)
 

Imho,массив массивов делать конечно хорошо,но я бы посоветовал это как то оптимизировать.

   
 
 автор: dimonich2004   (11.02.2008 в 09:26)   письмо автору
 
   для: exp   (11.02.2008 в 05:35)
 

а без прохода по всему масиву никак?! вдруг будет тысяча новостей
и придёццо два раза проходиццо в цикле по ним(((( ибо:
-Это я пытаюсь сделать навичацию по страницам:

в начале просмотра у меня создаёццо 2 масива :
Один несёт значения : [страница],[количество новостей на ней]
а второй несёт в себе [страницу][очерёдность новости на странице][id новости]

   
 
 автор: Akdmeh   (11.02.2008 в 09:30)   письмо автору
 
   для: dimonich2004   (11.02.2008 в 09:26)
 

вы новости хотите делать? А не проще это сделать на базе? И навигация на порядок легче будет,и скорость повыситься,да и примеров много,ибо то,что вы делаете-очень медленно и неудобно. Вот,посмотрите,какой код вышел!

   
 
 автор: dimonich2004   (11.02.2008 в 09:32)   письмо автору
 
   для: Akdmeh   (11.02.2008 в 09:30)
 

она и есть у меня в SQL
всё что тут есть не рабочее
непонятно выходит с последней страницей предположим новостей 11
выводим по 10 новостей на страницу - так вот на второй странице получается 10 пустых новостей
Пытался разобраццо и решил что попробую сам таким способом...)))) 4 день уже парюсь

   
 
 автор: Akdmeh   (11.02.2008 в 09:37)   письмо автору
 
   для: dimonich2004   (11.02.2008 в 09:32)
 

Как то проще все должно быть. Я бы показал код,но сеть ужасно глючит. В коде вообще не нужно массивы. Создайте подобную таблицу-столбик дата,ид,автор,сообщение,ссылки. Все проблемы. При вызове с базы брать,например,десять значений,начиная,например, с значения page=2. Если страница не выведена,то вывести последние 10. Навигация проще простого. Пример написать? Или вы хочете что-то сложнее? Тогда зачем?

   
 
 автор: Akdmeh   (11.02.2008 в 09:40)   письмо автору
 
   для: Akdmeh   (11.02.2008 в 09:37)
 

Если вам интересно,как я вижу вашу проблему,и написать код новостей-то напишите в тему или мне в приват-надеюсь,чем-то помогу.

   
 
 автор: dimonich2004   (11.02.2008 в 10:51)   письмо автору
 
   для: Akdmeh   (11.02.2008 в 09:37)
 

база новостей mySQL выглядет у меня так
CREATE TABLE `news` (
`id` int(128) NOT NULL auto_increment,
`news_name` text character set cp1251 collate cp1251_general_cs NOT NULL,
`img_n` text character set cp1251 collate cp1251_general_cs NOT NULL,
`text_s` text character set cp1251 collate cp1251_general_cs NOT NULL,
`text_f` text character set cp1251 collate cp1251_general_cs NOT NULL,
`news_date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=79 ;

   
 
 автор: dimonich2004   (11.02.2008 в 09:37)   письмо автору
 
   для: dimonich2004   (11.02.2008 в 09:26)
 

в принципе исключить порядок новости на странице можно....
из масива

   
 
 автор: Akdmeh   (11.02.2008 в 16:20)   письмо автору
 
   для: dimonich2004   (11.02.2008 в 09:37)
 

В жизни массивы не использовал и такого не видел!..

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования