Добавить значения в массив - PullRequest
0 голосов
/ 01 февраля 2012

Этот код читает таблицы базы данных mysql и должен возвращать несколько имен.Но каждое имя отправляется в виде отдельной строки.Мне это нужно в одну строку.Вот код:

<?php
session_start();

function prList($REQUEST){

  include ('into_sql.php');
  mysql_select_db("db394771350", $conn);

  $usr = $REQUEST["usnm"];
  $fID = $REQUEST["friendID"];
  $sql = mysql_query("SELECT * FROM users WHERE username='$usr'");
  $a=mysql_fetch_array($sql);

  $uID = $a["id"];

  $res1 = mysql_query("SELECT * FROM friends WHERE friendID='$uID' AND accept='0'");
  while($b=mysql_fetch_array($res1)){
    $fuID = $b["userID"];

    $res2 = mysql_query("SELECT * FROM users WHERE id='$fuID'");

    while($c=mysql_fetch_array($res2)){

      $usrn = $c["username"];
      $array = array("$usrn");
      encode($array);
    }
  }
}
?>

Это вывод:

["rhys"]["alexroan"]["bobjosh"]["xc.j.gingex"]["tom"]

Ответы [ 4 ]

2 голосов
/ 01 февраля 2012
$usrn = "";
while($c=mysql_fetch_array($res2)){

$usrn .= $c["username"];
}
echo $usrn;
0 голосов
/ 01 февраля 2012

Проверить это может быть helpfule forl

FIND_IN_SET (str, strlist)

Возвращает значение в диапазоне от 1 до N, если строка str находится всписок строк strlist, состоящий из N подстрок.Список строк - это строка, состоящая из подстрок, разделенных символами «,».Если первый аргумент является константной строкой, а второй - столбцом типа SET, функция FIND_IN_SET () оптимизирована для использования битовой арифметики.Возвращает 0, если str отсутствует в strlist или если strlist является пустой строкой.Возвращает NULL, если один из аргументов равен NULL.Эта функция не работает должным образом, если первый аргумент содержит запятую («,»).

mysql> SELECT FIND_IN_SET ('b', 'a, b, c, d');-> 2

0 голосов
/ 01 февраля 2012

Почему бы вам просто не объединить результаты?

$result = "";
$i = false;
while ($c=mysql_fetch_array($res2)){
   if ($i)
      $result .= ' ';
   $result .= $c["username"];
   $i = true;
}

echo $result;
0 голосов
/ 01 февраля 2012

Как определяется функция encode? Я бы предложил заменить $array = array("$usrn"); на $array[] = $c["username"] и в конце просто сжать все записи в одну строку с помощью `$string = implode($array)

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