Срочно внести изменения в код!

Тема в разделе "PHP", создана пользователем vave, 17 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Случилась такая беда, что в скрипте "Autoboss" нужно срочно внести изменения, надо сделать так что бы одна категория не выводилась в результате поиска, вот код где выводится результат, надеюсь тот:nezn:
    PHP:
    <div align="center">
        <table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
            <tr>
            <tr>
                <td height="16" align="left" width="100%"><font size="2" face="Arial">&nbsp;<?php
    if($conf[featured]) $first "featured DESC,"; else $first "";
    $result mysql_query("SELECT * FROM $dblist $where ORDER BY $first $_GET[srt] LIMIT $start$_GET[p]"$link);
    if(
    mysql_num_rows($result)) {
        
    $n 0;
        while(
    $row mysql_fetch_array($result)) {
            
    // determine which image to display
            
    if($row[images]) {
                
    $image mysql_query("SELECT fname FROM $dbimgs WHERE listid='$row[id]' ORDER BY id ASC LIMIT 1"$link);
                
    $image mysql_fetch_array($image);
                
    $image "thumbs/".$image[fname];
            } else {
                
    $image "common/no-photo-thumb.jpg";
            }
            
    // make data display-friendly
            
    $row safe_data($row'display');
            if(
    $n 2$alternate "alt"; else $alternate "";
            
    // create variable string to pass
            
    $show =  "show.php?id=$row[id]";
            foreach(
    $_GET as $name => $value) if($name != 'id'$show .= "&amp;$name=$value";
            echo 
    "<div class='listing $alternate'>";
            
    // featured status
            
    if($row[featured]) echo "<div class='featured'>F E A T U R E D</div>";
            
    // photo
            
    echo "<div class='photo'><a target='_blank' href='$show'><img class='none' src='$image' width='200' alt=''/></a></div>";
            
    // general information
            
    echo "<div class='info'>";
            echo 
    "<a target='_blank' href='$show'><strong><font size='3'>";
            echo 
    $row[make]</strong></a></font>";
            echo 
    "</div>";
            
    // description summary
            
    echo "<div align='left' class='description'>";
            if(
    $row[tagline]) echo "<strong>$row[tagline]</strong>";
            elseif(
    $row[description]) echo summary($row[description], 20)." <a target='_blank' href='$show'>More</a>";
                echo 
    "<br/>";    
            echo 
    "</div>";            
            
    // compare check box
            
    echo "</div>";
            
    $n++;
        }
    } else {
        echo 
    "<div id='msg-alert'>We're sorry, no listings could be found that match your query.</div>";
    }
    ?></font></td>
            </tr>
            <tr>
                <td width="100%">&nbsp;</td>
            </tr>
            <tr>
                <td width="100%"><div class='pages'>
        <font size="2" face="Arial" color="#333333">Page <?php echo $_GET[page]; ?> of <?php echo $pages?>&nbsp;&nbsp;(<?php echo $total?> 
        Listings)
        <?php if($pages 1) { ?>
        </font><div class='links'>
            <font size="2" face="Arial" color="#333333">
            <?php $_GET safe_data($_GET'display'); page_links($_GET$pages$_SERVER[PHP_SELF]); ?>
            </font>
        </div>
        <font size="2" face="Arial" color="#333333">
        <?php ?></font></td>
            </tr>
        </table>
    </div>
    Очень надеюсь на Вашу помощь!:thenks:
     
    werder457 нравится это.
  2. nsd_net

    nsd_net Создатель

    Регистр.:
    12 июл 2009
    Сообщения:
    26
    Симпатии:
    7
    а что не должно выводиться?
     
  3. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Есть например категории
    1) Sampel1
    2) Sampel2
    3) Sampel3

    и вот Sampel3 недолжна показыватся в результате поиска, просто одно и то-же имя может быть во всех категориях, в результате поиска выдаётся 3 имени из базы данных, и вот надо сделать так что бы Sampel3 как то скрывался:nezn:
     
  4. nsd_net

    nsd_net Создатель

    Регистр.:
    12 июл 2009
    Сообщения:
    26
    Симпатии:
    7
    "категория" у тебя это имя картинки?
    если да, то заменить
    на
    если нет, то я не вижу столбцы в $dblist..:read:
     
  5. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Категория что выводится как &category=категория
    в админ понеле строка так и называется "Category:"
    там может быть много картинок:)

    если надо я могу выложить весь скрипт!
     
  6. jID

    jID Постоялец

    Регистр.:
    12 фев 2008
    Сообщения:
    106
    Симпатии:
    31
    и чему в запросе
    Код:
    SELECT * FROM $dblist $where ORDER BY $first $_GET[srt] LIMIT $start, $_GET[p]
    равна переменная $where?
    Кажется мне, именно она формирует тот самый список.
    И ещё кинь формат таблиц, которые судя по всему сидят в переменных $dblist и $dbimgs.
     
  7. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Я прикрепил весь скрип, думаю вы быстрее разберётесь, очень надеюсь на помощь!:thenks:
     

    Вложения:

    • autoboss.rar
      Размер файла:
      111,1 КБ
      Просмотров:
      3
  8. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    Хех... ты не скрипт... ты весь модуль вывалил)))
    Судя по всему список категорий у тебя формируется в module-listings.php в строке 19 (если я правильно уловил суть вопроса). В этом запросе можно поставить условие выборки. К примеру у нас есть листинг 1,2,3,4 в котором содержатся твои категории. Нам не нужны 2,3. Запрос тогда будет таким:
    PHP:
    $result mysql_query("SELECT DISTINCT category 
                           FROM 
    $dblist 
                           WHERE id NOT IN (2,3) 
                           ORDER BY category ASC"
    $link);
    Хотя если тебе всего лишь необходимо убрать дубли, то твой DISTINCT с этим вполне должен справиться =)
    или можешь поковырять module-query.php. Как я понимаю он как раз и предназначен для наложения ограничений на выборки.
     
  9. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Наверное я делаю что-то не так или не так меня поняли:)
    Опишу еще раз проблему,
    в общем есть 4 категории
    например:
    1) Category_1
    2) Category_2
    3) Category_3
    4) Category_4

    в них много всякой всячины, но Category_4 должна быть особенной, для неё у меня даже отдельный файл module-listings.php (там все картинки 5 на 5 а не в столбик) но не в этом суть, при поиске всячины результат должен выводится только первых трёх категорий а "Category_4" не должна появляется в результате поиска, какбудто этой категории и нету вовсе! Даже не имею представления как это сделать а очень надо:confused:
     
  10. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    364
    Симпатии:
    14
    Неужели это не возможно?:confused:
     
Статус темы:
Закрыта.