Помощник
|
Положение элемента в массиве |
Kuchuluk
|
Сообщение
#12
|
|
Ну так если не существует элемента массива n+1, то текущее изображение крайнее. Так же само с n-1 так id картинок не по порядку идут, а в зависимости от id пользователя, загрузившего эту картинку. в таблице с картинками есть еще поле user_id, по которому и идет выборка. Поэтому id картинок могут быть 40, 34, 21, 16 и тд |
|
|
Гость_0_* Гость_0_* |
23.5.2013, 1:09;
Ответить: Гость_0_*
Сообщение
#13
|
|
Можно создать новый массив, где будет по-порядку
|
|
|
isvetlichniy |
23.5.2013, 1:12;
Ответить: isvetlichniy
Сообщение
#14
|
|
нет, мне не надо на существование проверить. как раз таки надо проверять. а как это сделать тут уже масса вариантов. допустим так у тебя есть массив в виде $allarr[0]["id"] = 1 $allarr[1]["id"] = 2 $allarr[2]["id"] = 3 $allarr[3]["id"] = 4 первый элемент - тут все ясно $allarr[0]["id"] последний элемент можно получить вот так $count = count($allarr); $lat_item = $allarr[$count-1]["id"] я думаю этих данных должно тебе хватить |
|
|
Kuchuluk
|
Сообщение
#15
|
|
Можно создать новый массив, где будет по-порядку а как его создать? в цикле пока идет выборка присваивать каждый элемент массива другой переменной? а вообще двумерный массив можно упростить до одномерного? |
|
|
Гость_0_* Гость_0_* |
23.5.2013, 1:19;
Ответить: Гость_0_*
Сообщение
#16
|
|
[member=Kuchuluk], перебором с помощью foreach добавлять в новый массив новый элемент
|
|
|
Kuchuluk
|
Сообщение
#17
|
|
я думаю этих данных должно тебе хватить не хватит. мне надо еще знать сколько именно картинок есть до и после, потому что под большой картинкой снизу выводятся еще миниатюрки по 9 штук |
|
|
html-ka |
23.5.2013, 7:37;
Ответить: html-ka
Сообщение
#18
|
|
а документацию почитать религия не позволяет, изобретатели велосипедов?
array_shift — Извлекает первый элемент массива array_pop — Извлекает последний элемент массива |
|
|
Kuchuluk
|
Сообщение
#19
|
|
всем спасибо за наводки, я уже сделал, работает нормально
public function photoStroka($page,$login)
{ $allarr = $this->selAssoc("users_images","id","user_login = '{$login}' ORDER BY id DESC"); //выбираю из БД все id, где поле user_login равно логину пользователя $arrsize = sizeof($allarr);//считаю количество эл-тов массива, то есть кол-во фоток // если их количество больше 9, то вывожу по 9 на страницу и устанавливаю где надо стрелки, иначе просто вывожу все if ($arrsize > 9) { foreach ($allarr as $all) { foreach ($all as $key => $value) { $allid[] = $value; } } $key = array_search($page,$allid); $elem = $key + 1; if ($key >= 5) { $lim1 = $elem - 5; } else { $lim1 = 0; } $pharr = $this->selAssoc("users_images","id, image_name","user_login = '{$login}' ORDER BY id DESC LIMIT {$lim1}, 9"); foreach($pharr as $d) { $text = $text."<a href='photos.php?login={$login}&photo=".$d["id"]."'><img src='../party/users-images/".$d["id"].$d["image_name"]."'></a>"; } echo "<p id='photo-stroka'>".$text."</p>"; } else { $pharr = $this->selAssoc("users_images","id, image_name","user_login = '{$login}' ORDER BY id DESC LIMIT 0, 9"); foreach($pharr as $d) { $text = $text."<a href='photos.php?login={$login}&photo=".$d["id"]."'><img src='../party/users-images/".$d["id"].$d["image_name"]."'></a>"; } echo "<p id='photo-stroka'>".$text."</p>"; } } |
|
|
isvetlichniy |
23.5.2013, 9:34;
Ответить: isvetlichniy
Сообщение
#20
|
|
array_shift — Извлекает первый элемент массива array_pop — Извлекает последний элемент массива Изобретатель, фукнции не получают, а извлекают элементы, то есть массив уже будет измененным |
|
|
fedornabilkin |
23.5.2013, 10:26;
Ответить: fedornabilkin
Сообщение
#21
|
|
[member=Kuchuluk], как-то все это у тебя громоздко получилось очень.
$sql = "SELECT ......."; // запрос
$query = mysql_query($sql); // выполнение $rows = mysql_num_rows($query); // количество строк if( $rows > 9 ){ while( $row = mysql_fetch_assoc($query) ){ $allid[] = $row['']; // что, необходимо добавить айди и т.д. // если надо, можно еще массив собрать, но наверно не надо // для верности можно сделать счетчик и явно индексировать массив } } ////////////////// // но я бы сделал немного иначе $i = 0; while( $row = mysql_fetch_assoc($query) ){ $i++; if( $i == 1 ){ $html .= "Первая картинка, значит без левой кнопки"; } elseif( $i == $rows ){ $html .= "Последняя картинка, значит без правой кнопки"; } else{ $html .= "Очереднаякартинка, значит обе кнопки"; } } // в этом же цикле можно и миниатюры собрать |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
При удалении одного элемента, перестает работать другой. Помогите исправить! | 1 | vantusxyz | 5572 | 24.6.2016, 16:08 автор: -Degradator- |
|
Как подстроить 3 разные элемента в один ряд | 2 | Генрих Арутюнян | 5540 | 19.2.2015, 10:43 автор: -Генрих Арутюнян- |
|
Нубский вопрос про растягивание дивов и положение в нем элементов | 7 | Licoric | 7665 | 11.8.2010, 5:43 автор: -Alcorn- |
|
как задать положение рисунка | 11 | cosonic_hb | 31091 | 19.12.2009, 16:11 автор: -AndreySmith- |
|
Абсолютное положение | 4 | Martins_hb | 7056 | 29.6.2009, 2:38 автор: -goshikvia- |
Текстовая версия | Сейчас: 19.4.2024, 23:51 |