X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

> Помощь по Php
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 1.11.2009, 20:58; Ответить: MeTaTRoN
Сообщение #1


Вот код:
<?php
function dle_img ()
{
    global $db;
    $result = $db->query("SELECT id,title FROM dle_post");
    while ($row2 = $db->get_row($result)){
         $title_id[$row2['id']] = stripslashes($row2['title']);
    }
    $result = $db->query("SELECT * FROM dle_images ORDER BY RAND()  LIMIT 10");
$imgar = array ();
while ($row = $db->get_row($result)){
  $images = $row['images'];
  if (in_array($images, $imgar)) continue;
  $imgar[] = $row['images'];
  $images = explode("|||",$images);
  $images = $images[0];
if (file_exists(ROOT_DIR."/uploads/posts/".$images))
      { $file_dir = "posts"; }
  else
      { $file_dir = "files"; }
$title = substr($title_id[$row['news_id']],0,25)."...";
$out .="<table align=\"center\"><tr><td align=\"center\">

<table cellpadding=\"0\" cellspacing=\"0\" style=\"margin-right:10px\" height=\"135\">
<tr>
<font face=\"arial\" size=\"1\" color=\"#000000\">{$title}</font></cetner></b></td>
</tr>
<td style=\"background-color:#000000\">
<div style=\"height:2px\"></div>
<a href=\"/index.php?newsid={$row['news_id']}\">
<img border=\"0\" src=\"/uploads/".$file_dir."/{$images}\" width=\"150\" height=\"95\" title=\"{$title}\"></td>
</td>
</table>
<p><p><p>
</a></td></tr></table>";
}
return $out;
}
$dle_img = dle_img ();
?>

Как сделать, так что бы эта функция вызывалась 2 переменными, но, что значения их не повторялись?


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 9)
kronos
kronos
сообщение 1.11.2009, 23:01; Ответить: kronos
Сообщение #2


Не понял вопроса


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 1.11.2009, 23:49; Ответить: MeTaTRoN
Сообщение #3


нужно, что бы 2 переменные выводили функцию dle_img
Но что бы значения в них не повторялись


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LaeX
LaeX
сообщение 1.11.2009, 23:56; Ответить: LaeX
Сообщение #4


Попробуйте, сделать так чтобы функция возвращала массив и двух элементов, которые записываются в $out, повторений быть не должно, т.к. функция будет вызываться раз.


--------------------
ICQpix — лучшие информеры ICQ статуса
Ѡ VDS за $2.99 (реф.) → 512/1024MB RAM, 50 GB HDD, полноценный SWAP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 2.11.2009, 0:42; Ответить: MeTaTRoN
Сообщение #5


а не мог бы ты написать как бы это выглядело?


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LaeX
LaeX
сообщение 2.11.2009, 0:54; Ответить: LaeX
Сообщение #6


Вроде бы так smile.gif

<?php
function dle_img () {
    global $db;
    
    $arr_Out = array();
    $result = $db->query("SELECT id,title FROM dle_post");
    while ($row2 = $db->get_row($result)) {
        $title_id[$row2['id']] = stripslashes($row2['title']);
    }
    
    $result = $db->query("SELECT * FROM dle_images ORDER BY RAND()  LIMIT 20");
    $imgar = array ();
    
    $i = 1;
    while ($row = $db->get_row($result)) {
        $images = $row['images'];
        if (in_array($images, $imgar)) continue;
        $imgar[] = $row['images'];
        $images = explode("|||",$images);
        $images = $images[0];
        if (file_exists(ROOT_DIR."/uploads/posts/".$images)) {$file_dir = "posts";}
        else {$file_dir = "files";}

        $title = substr($title_id[$row['news_id']],0,25)."...";
        $out .= "<table align=\"center\"><tr><td align=\"center\">
        <table cellpadding=\"0\" cellspacing=\"0\" style=\"margin-right:10px\" height=\"135\">
        <tr>
        <font face=\"arial\" size=\"1\" color=\"#000000\">{$title}</font></cetner></b></td>
        </tr>
        <td style=\"background-color:#000000\">
        <div style=\"height:2px\"></div>
        <a href=\"/index.php?newsid={$row['news_id']}\">
        <img border=\"0\" src=\"/uploads/".$file_dir."/{$images}\" width=\"150\" height=\"95\" title=\"{$title}\"></td>
        </td>
        </table>
        <p><p><p>
        </a></td></tr></table>";
        if($i == 10) {$arr_Out[] = $out; $out = '';}
        $i++;
    }
    return $arr_Out;
}

$dle_img = dle_img();
echo $dle_img[0];
echo $dle_img[1];
?>


Сообщение отредактировал LaeX - 2.11.2009, 0:55


--------------------
ICQpix — лучшие информеры ICQ статуса
Ѡ VDS за $2.99 (реф.) → 512/1024MB RAM, 50 GB HDD, полноценный SWAP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 2.11.2009, 1:56; Ответить: MeTaTRoN
Сообщение #7


что то не то, весь сайт летит


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LaeX
LaeX
сообщение 2.11.2009, 1:57; Ответить: LaeX
Сообщение #8


Хм.. возможно, если эта функция используется еще где-то. Скопируйте эту функцию и переименуйте ее, а та dle_img() пусть остается не измененной.

Сообщение отредактировал LaeX - 2.11.2009, 1:59


--------------------
ICQpix — лучшие информеры ICQ статуса
Ѡ VDS за $2.99 (реф.) → 512/1024MB RAM, 50 GB HDD, полноценный SWAP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 2.11.2009, 2:21; Ответить: MeTaTRoN
Сообщение #9


нет, она 1, это точно


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
freesoccer
freesoccer
сообщение 4.11.2009, 15:33; Ответить: freesoccer
Сообщение #10


MeTaTRoN, а сколько записей всего в dle_post? По идее если записей меньше 10, то они изменяться не будут, когда будет больше 10, тогда должно заработать.
PS - имхо конечно, но первый запрос "тяжелый", когда будет пару сотен постов функция начнет подвешивать серв. Было бы логичнее первым запросом тянуть 10 случайных записей первым запросом:
$result = $db->query("SELECT id,title FROM dle_post ORDER BY RAND() LIMIT 10");

а потом для того, что получится тянуть картинки либо отдельными запросами через id, либо составить 1 сложный запрос и вытянуть все из 2-х таблиц. MySQL не боится большого числа запросов, гораздо страшнее объемы данных, которые вынимаются в результате, поэтому советую переписать первый запрос функции.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
12 Tia2 1533 25.3.2024, 6:54
автор: Skyworker
Открытая тема (нет новых ответов) требуется помощь с themasoftware (Темапостером)
0 Taylor 568 16.3.2024, 18:41
автор: Taylor
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыСостояние после ампутации - нужна помощь
благотворительный топик
46 vitvirtual 5560 12.3.2024, 21:52
автор: Гиппопотам
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3292 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1171 24.11.2023, 14:46
автор: alexey


 



RSS Текстовая версия Сейчас: 29.3.2024, 10:31
Дизайн