У меня есть результаты поиска mysql из поиска ключевых слов на моем сайте. Они сортируются по рангу членства (0-3). Тем не менее, мне нужно отображать ряды по-другому, так как ранг 3 получает более заметное форматирование, чем другие.
Я думал о разделении строк на отдельные массивы. Так как array0 будет содержать все строки с рангами 0 и т. Д. Затем проведите через эти массивы, чтобы отобразить результаты. У меня просто нет идеи, как это сделать – разделите массив на меньшие массивы.
(Для справки, я нашел этот вопрос: разбивая большой массив на меньшие массивы на основе имен ключей, но я не был уверен, что это то, что мне нужно … может быть, некоторые пояснения в этом вопросе помогут здесь?)
Например, вот мой массив:
Array ( [rank] => 3 [organization] => Test Company [imagecompany] => 1636.gif [website] => http://www.google.com [phone] => 344-433-3424 [fax] => [address_on_web] => physical [address] => 2342 Test Ave [city] => York [stateprov] => WA [postalcode] => 00000 [address_mailing] => 2342 Test Ave [city_mailing] => Seattle [state_mailing] => WA [zip_mailing] => 00000 [description] => 'Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test' [customerid] => 1636 )
Вы можете использовать ранг в качестве ключа для создания многомерного массива следующим образом:
$aRanks = array(); foreach($aArray as $aEntry) { $aRanks[$aEntry['rank']][] = $aEntry; } echo '<pre>'; print_r($aRanks);
У меня есть результаты поиска mysql из поиска по ключевым словам
Затем сортируйте его, используя базу данных / SQL, а не PHP. Это быстрее и использует меньше кода.
$query = mysql_query(); // your query here $result = mysql_fetch_array($query); foreach($result as $row){ switch($row['rank']){ case 3: // statement to apply formatting, add to each case // example: echo "<span style="color:red;">; break; case 2: break; case 1: break; } }
Затем выводите каждую строку, закрывая echo </span>
(или div или что-то еще), где вы хотите, чтобы форматирование заканчивалось