Вивід тільки однієї строки mysqli_fetch_array

imbo

Постоялец
Регистрация
19 Окт 2018
Сообщения
63
Реакции
23
Доброго здоров ячка

маю такий запрос до бази
while ($r= mysqli_fetch_array($select)) {
echo " ".$r['s_name'] ;
}

виводить назву міста але проблема в тому що наприклад існує 6 Берлінів , тому мені 6 раз виводить Berlin.
Як обрізати щоб виводило тільки один раз із однакових резултатів?

Дякую
 
Может позже вывод тогда из цикла и собрать в массив.

Код:
$array = array();
while ($r= mysqli_fetch_array($select)) {
       $array[] = $r['s_name'];
       }
$array = array_unique($array); // уникализирует массив .
var_dump($array);
 

Вложения

  • Screenshot from 2022-12-05 16-02-17.png
    Screenshot from 2022-12-05 16-02-17.png
    7,6 KB · Просмотры: 10
Покажи тогда что в массиве

Код:
$array = array();
while ($r= mysqli_fetch_array($select)) {
       $array[] = $r['s_name'];
       }
//$array = array_unique($array); // уникализирует массив .
var_dump($array); // <- здесь

наверное всеравно в массив лучше, может строки разные и на выходе можно просто взять первый элемент
echo array[0];
 
Думаю, лучше к вопросу со стороны sql зайти, - использовать DISTINCT в запросе
 
  • Нравится
Реакции: imbo
Покажи тогда что в массиве
ось повний скриптик


PHP:
<?php
///
///Обработчик домена для добавления текста в TITLE
///
//Получение поддомена
$str = $_SERVER['SERVER_NAME'];
//Обрезание поддомена до точки
preg_match( "#([^\.\!\?]*[\.\!\?])|(.*)#si" , $str , $r );
//Обрезание точки
$name = $r[0];
$name = str_replace('.', '', $name);

//Подключение к MySQL
$sdd_db_host='localhost'; // ваш хост
$sdd_db_name='im1'; // ваша бд
$sdd_db_user='imb1'; // пользователь бд
$sdd_db_pass='wgX'; // пароль к бд
$conn = new mysqli($sdd_db_host,$sdd_db_user,$sdd_db_pass); // коннект с сервером бд
mysqli_set_charset($conn, 'utf8');

$select= mysqli_query($conn, "SELECT s_name, s_slug FROM `im...`.`oc_t_city` WHERE s_slug LIKE '$name';");




while ($r= mysqli_fetch_array($select)) {
        echo " ".$r['s_name'] ;
        }


?>
 
Рішення підказав Nei
в строчці з запросом до БД


Код:
$select= mysqli_query($conn, "SELECT table, s_slug FROM `im...`.`oc_t_city` WHERE s_slug LIKE '$name';");


Треба додати limit 1
і виходить таке

Код:
$select= mysqli_query($conn, "SELECT table, s_slug FROM `tab`.`oc_t` WHERE pole LIKE '$name' limit 1;");

Всім дякую
 
Назад
Сверху