Возвращает все строки в цикле Insert while в пределах 1 поля значения

#php #mysql

#php #MySQL

Вопрос:

У меня есть вставка:

 $sql="INSERT into tasks(TITLE,DESCRIPTION) VALUES('$projectName',
'Description Documents: [url=http://myurl/$documentID/]$documentName[/url]')";
  

Перед этим у меня есть запрос:

 $result1 = mysqli_query($con,"SELECT ID, NAME, IBLOCK_ID FROM b_iblock_element WHERE IBLOCK_ID = '36' ORDER BY ID DESC LIMIT 6");

while($row = mysqli_fetch_array($result1))
{
$documentID = $row['ID'];
$documentName = $row['NAME'];
}
  

Это возвращает 6 идентификаторов. Теперь я хочу, чтобы каждый из этих идентификаторов формировал URL-адрес во ВСТАВКЕ.. Таким образом, в основном описание вернет 6 ссылок, каждая из которых ссылается на соответствующий идентификатор.

Возможно ли это? Если да, то как?

Комментарии:

1. Вы хотите добавить все идентификаторы в один документ в описании, просто развернув текст, или вы хотите сделать что-то более интеллектуальное?

2. Все, что я хочу, это показать поле описания: имя документа 1, имя документа 2, имя документа 3, имя документа 4, имя документа 5, имя документа 6

Ответ №1:

Просто создайте строку, содержащую все URL-адреса, объединив их, например, с помощью implode() , затем добавьте этот скрипт в свое описание.

Возможно, вам также придется добавить поле NAME в запрос select, чтобы иметь возможность извлекать его из базы данных.

 $result1 = mysqli_query($con,"SELECT ID, IBLOCK_ID FROM b_iblock_element WHERE IBLOCK_ID = '36' ORDER BY ID DESC LIMIT 6");

while($row = mysqli_fetch_array($result1))
{
    $documentID = $row['ID'];
    $urls[] = "[url=http://myurl/$documentID/]" . $row["NAME"] . "[/url]";
}

$allUrls = implode(' ', $urls);

$sql="INSERT into tasks(TITLE,DESCRIPTION) VALUES('$projectName',
'Description Documents: " . $allUrls ."')";
  

Комментарии:

1. Работает отлично! Мне нужен разрыв строки между ними, но я думаю, что это связано с моей системой, работающей на BBCODE, иначе я бы включил тег <Br>, где есть ‘ ‘ . Большое вам спасибо за ваше решение.