Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывести значения из двухмерного массива только один раз
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Вывести значения из двухмерного массива только один раз

Страниц (1): [1]
 

1. Solomon - 22 Марта, 2018 - 12:31:02 - перейти к сообщению
Здравствуйте,возникла такая проблема,мне нужно выбрать темы из БД,которые похожи на запрос пользователя.Базу данных я приложил к теме.я просто не понимаю,как перебрать двухмерный массив,чтобы когда он находил совпадение выводил его и шел дальше,а не начинал все заного
Все найденные статьи в Базе данных,по вашему запросу
авп
авп
ави
авп
ави
абрва
вот код:
$result_set = $mysqli->query("SELECT `title_rus` FROM `news` WHERE `title_rus` LIKE '%$statia%'");
$offsets = $result_set->num_rows;
//
if($offsets > 0){
echo 'Все найденные статьи в Базе данных,по вашему запросу'.'<br />';
$arr = [];
while (($row = $result_set->fetch_assoc()) != false) {
$arr[]= $row;
foreach ($arr as $key => $massiv) {
foreach ($massiv as $inner_key => $value) {
echo $value."<br />";
}
}
}
}else echo 'такой статьи не было найдено!';
2. Vladimir Kheifets - 22 Марта, 2018 - 15:44:41 - перейти к сообщению
Solomon пишет:
Здравствуйте,возникла такая проблема,мне нужно выбрать темы из БД,которые похожи на запрос пользователя.Базу данных я приложил к теме.я просто не понимаю,как перебрать двухмерный массив,чтобы когда он находил совпадение выводил его и шел дальше,а не начинал все заного
Все найденные статьи в Базе данных,по вашему запросу
авп
авп
ави
авп
ави
абрва
вот код:
$result_set = $mysqli->query("SELECT `title_rus` FROM `news` WHERE `title_rus` LIKE '%$statia%'");
$offsets = $result_set->num_rows;
//
if($offsets > 0){
echo 'Все найденные статьи в Базе данных,по вашему запросу'.'<br />';
$arr = [];
while (($row = $result_set->fetch_assoc()) != false) {
$arr[]= $row;
foreach ($arr as $key => $massiv) {
foreach ($massiv as $inner_key => $value) {
echo $value."<br />";
}
}
}
}else echo 'такой статьи не было найдено!';


Добрый день!
Простите, я не понял зачем нужен $arr[]= $row, если Вам нужно только распечатать выборку.
Поробуйте сделать так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result_set = $mysqli->query("SELECT `title_rus` FROM `news` WHERE `title_rus` LIKE '%$statia%'");
  3. $offsets = $result_set->num_rows;
  4. //
  5. if($offsets > 0)
  6. {
  7.         echo 'Все найденные статьи в Базе данных,по вашему запросу'.'<br />';
  8.         //$arr = [];
  9.         while (($row = $result_set->fetch_assoc()) != false)
  10.         {
  11.                 /*
  12.                 $arr[]= $row;
  13.                 foreach ($arr as $key => $massiv)
  14.                 {
  15.                         foreach ($massiv as $inner_key => $value)
  16.                         {
  17.                                 echo $value."<br />";
  18.                         }
  19.                 }
  20.                 */
  21.                 echo $row['title_rus']."<br />";
  22.         }
  23. }
  24. else
  25.         echo 'такой статьи не было найдено!';
  26. ?>

Удачи!
3. Solomon - 26 Марта, 2018 - 17:18:22 - перейти к сообщению
Vladimir Kheifets пишет:
Solomon пишет:
Здравствуйте,возникла такая проблема,мне нужно выбрать темы из БД,которые похожи на запрос пользователя.Базу данных я приложил к теме.я просто не понимаю,как перебрать двухмерный массив,чтобы когда он находил совпадение выводил его и шел дальше,а не начинал все заного
Все найденные статьи в Базе данных,по вашему запросу
авп
авп
ави
авп
ави
абрва
вот код:
$result_set = $mysqli->query("SELECT `title_rus` FROM `news` WHERE `title_rus` LIKE '%$statia%'");
$offsets = $result_set->num_rows;
//
if($offsets > 0){
echo 'Все найденные статьи в Базе данных,по вашему запросу'.'<br />';
$arr = [];
while (($row = $result_set->fetch_assoc()) != false) {
$arr[]= $row;
foreach ($arr as $key => $massiv) {
foreach ($massiv as $inner_key => $value) {
echo $value."<br />";
}
}
}
}else echo 'такой статьи не было найдено!';


Добрый день!
Простите, я не понял зачем нужен $arr[]= $row, если Вам нужно только распечатать выборку.
Поробуйте сделать так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result_set = $mysqli->query("SELECT `title_rus` FROM `news` WHERE `title_rus` LIKE '%$statia%'");
  3. $offsets = $result_set->num_rows;
  4. //
  5. if($offsets > 0)
  6. {
  7.         echo 'Все найденные статьи в Базе данных,по вашему запросу'.'<br />';
  8.         //$arr = [];
  9.         while (($row = $result_set->fetch_assoc()) != false)
  10.         {
  11.                 /*
  12.                 $arr[]= $row;
  13.                 foreach ($arr as $key => $massiv)
  14.                 {
  15.                         foreach ($massiv as $inner_key => $value)
  16.                         {
  17.                                 echo $value."<br />";
  18.                         }
  19.                 }
  20.                 */
  21.                 echo $row['title_rus']."<br />";
  22.         }
  23. }
  24. else
  25.         echo 'такой статьи не было найдено!';
  26. ?>

Удачи!




Спасибо большое!Вы очень сильно мне помогли"

 

Powered by ExBB FM 1.0 RC1