2015-12-29 3 views
-2

Я новичок в php, и я хочу разделить записи запятой.Отдельные записи с запятой

База данных: the table in sql

Я использую этот код, чтобы получить данные:

<?php 
$id = get_the_ID(); 
$sql = "SELECT * 
     FROM tablename 
     WHERE parent_id=$id"; 
$result = $conn->query($sql); 

while($row = mysqli_fetch_array($result)) 
{ 
echo "Test: " . $row["value"]. "<br>"; 
} 

mysqli_close($con); 
?> 

Это возвращение в два раза:

Test: Test 
Test: Test1 

Я хочу, чтобы разделить записи с», 'следующим образом:

Test: Test, Test1 
+0

вам нужно узнать больше о строке для массива или массиве в строку. – devpro

ответ

1

Сохраните ваши значения в array, а затем выполните развязку с ",". Вы получите результат:

$id = get_the_ID(); 
$sql = "SELECT * 
     FROM tablename 
     WHERE parent_id=$id"; 
$result = $conn->query($sql); 

$yourArr = array(); 
while($row = mysqli_fetch_array($result)) 
{ 
    $yourArr[] = $row["value"]; 
    //echo "Test: " . $row["value"]. "<br>"; 
} 
echo "Test: ". implode(",",$yourArr); 
+0

@HzrCan: ну, теперь отметьте как принято лучший ответ, это поможет другим, кто сталкивается с этой проблемой. – devpro

-1

можно использовать запрос на обновление для этого

$query="Update tablename set value=CONCAT(value,',test1') where parentid='295'"; 
$result=mysqli_query($conn,$query); 
0

Вы можете сделать это полностью в MySQL с помощью GROUP_CONCAT:

<?php 
$id = get_the_ID(); 
$sql = "SELECT `parent_id`, GROUP_CONCAT(`value` SEPARATOR ', ') AS comma_separated_values 
     FROM tablename 
     WHERE `parent_id` = '$id' 
     GROUP BY `parent_id`"; 
$result = $conn->query($sql); 
while ($row = mysqli_fetch_array($result)) 
{ 
    echo 'Test: ' . $row["comma_separated_values"]; // Test: test, test2 
} 
mysqli_close($con); 
?> 

Вы должны изменить «comma_separated_values msgstr "назвать что-то более подходящее для ваших данных.

В вашем конкретном случае вам не нужен цикл while(), так как мы ограничиваем MySQL одной строкой.

Если вы хотите удалить WHERE parent_id = '$id' из SQL-запроса, вы можете вернуть результаты из нескольких значений parent_id. Например:

while ($row = mysqli_fetch_array($result)) 
{ 
    echo 'Parent ' . $row['parent_id'] .': ' . $row["comma_separated_values"] . '<br>'; 
} 

вернуться бы:

Родитель 292: Test1, Test2
Родитель 293: Test3, Test4
Родитель 294: test5, test10, Test50
и т.д ...

Смежные вопросы