MySQL, PHP фильтрация результатов в отображаемой таблице? - PullRequest
1 голос
/ 04 июля 2011

Я искал то, что "я думаю, что я должен искать" - но на самом деле не понимаю или не получаю, пожалуйста, кто-то может указать мне правильное направление?

Я бы хотел иметь возможность фильтровать набор результатов, используя th одного столбца (региона), и хотя я попробовал учебник по w3cs, я в итоге запутался в том, что "какой фрагмент кода идет кудаи т. д., и выпадающая форма выглядела очень неуклюже.
Все советы и помощь приветствуются.

Это мой пример веб-сайта, myTrader , нажав на ссылку Все торговые регионы на левом дисплее, насколько это у меня получилось, и это заняло у меня несколько дней, чтобы покопаться в уроках и бездельничать в темноте..

код запроса.php:

    <table id="mainTable">
    <tr><td width="300" valign="top"><H1>Welcome to myTrader!</H1>
    <span class="mainText">Glass & Paper Recycled Commodities Trading Site</span></td>
    <td valign="top" align="right"><img src="images/largeLogo.jpg" width="406" height="113" border="0"></td></tr></table>
    <P><span class="paraHeadingOne">All Region Paper Sales</span> </P>
    <P>
    <table class="dbTable">
<tr>
<tr><th>Commodity</th> <th>Region</th> <th>Member</th> <th>Size</th> <th>Price</th> <th>Date Posted</th>
</tr>
    <?php
    $link = mysql_connect('localhost', 'palegall', '******');
    if (!$link) {
    die('Could not connect: ' . mysql_error());
    }
    $db_selected = mysql_select_db('palegall_newTrader', $link);
    if (!$db_selected) {
        die ('cant find newTrader' . mysql_error());
    }
    $query = mysql_query ("SELECT * FROM `sell` WHERE `commodity`='Paper' ORDER BY `price`") or die( mysql_error() );
    $row=mysql_fetch_assoc($query);
    do
    {
    echo'<table class="dbTable">';
    echo '<tr><td>'.$row['commodity'].'</td>
   <td>'.$row['region'].'</td>
   <td>'.$row['member'].'</td>
    <td>'.$row['size'].'</td>
   <td>'.$row['price'].'</td>
   <td>'.$row['posted'].'</td>
   </tr>';
    }while($row=mysql_fetch_assoc($query));
    echo "</table>";
    ?>
  </td></tr></table>
  </td></tr></table>
  </body></html>

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Для фильтрации результатов необходимо добавить WHERE columnName = 'desiredValue' в конце запроса. При желании вы можете указать несколько условий, используя AND или OR, например:

 WHERE columnName = 'possibleValue' OR columnName = 'otherPossibleValue'
0 голосов
/ 04 июля 2011

Я думаю, я знаю, что вы имеете в виду,
Вы пытались поиграть с областью WHERE запроса. Это может изменить количество возвращаемых результатов.

У меня было что-то похожее на это, кроме помеченных мест. У меня было две идеи, во-первых, таблица с каждым столбцом tinyint, каждая из которых была определенной областью. Или другой, где был только один дополнительный столбец с разделенными пробелами значениями для определенных областей. Это был тот, на который я пошел и использовал запрос, похожий на

SELECT * FROM 'items' WHERE `locations` LIKE '% $area %'

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

в этом случае включенные данные были

ID Название местоположения
1 тест 1 пробел
2 тест 2 лондон суррей

Когда был выполнен поиск только для Лондона, тогда отображался «тест 2»

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...