Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр 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=$i<$ii $i++)
{

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

?>

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

что-то вроде такого
<?php
$pp
=
array(
=> array( 'page' => 1'page_n' => 1'id_n' => 91 ),
=> array( 'page' => 1'page_n' => 2'id_n' => 90 ), 
=> array( 'page' => 1'page_n' => 3'id_n' => 89 ), 
=> array( 'page' => ,'page_n' => 0'id_n' => 87 ) ,
=> array( 'page' => 2'page_n' => 1,'id_n' => 86 ) ,
=> array( 'page' => 2'page_n' => 2'id_n' => 85 ) ,
=> array( 'page' => 2'page_n' => 3'id_n' => 84 ) ,
=> array( 'page' => 3'page_n' => 0'id_n' => ) ,
=> array( 'page' => ,'page_n' => 1,'id_n' => ) );
$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 Яндекс.Метрика Яндекс цитирования