2016-01-18 10 views
1

Я хочу получить значения, разделенные запятыми, из базы данных и сохранить каждое значение в переменной.Как получить запятые данные из базы данных?

Например: в моей колонке у меня есть следующие: 2,3,5,8,9,21

Я хотел бы хранить номера внутри переменных, как это:

$a=2 
$b=3 
$c=5 
// and so on… 
+2

В зависимости от того, что вы на самом деле хотите, чтобы делать с данными и СУБД вы можете рассмотреть [nomalizing данные] (https://en.wikipedia.org/вики/Database_normalization). – VolkerK

ответ

0

взглянуть на ниже решений:

Метод 1

$alphabet = range('a', 'z'); 
$str = '2,3,5,8,9,21'; 
$str_array = explode(',', $str); 
foreach($str_array as $k=>$v){ 
    ${$alphabet[$k]} = $v; 
} 

echo $a,$b,$c,$d; 

Способ 2

$var = 'a'; 

$str = '2,3,5,8,9,21'; 
$str_array = explode(',', $str); 
foreach($str_array as $k=>$v){ 
    ${$var} = $v; 
    ++$var; 
} 
echo $a,$b,$c,$d; 

выход Как раствор в:

2358 
1

Если вы хотите загрузить строку, которая содержит целые числа, разделенные с ',' или '.' или 'a' или ';' делать:

  • Если вы хотите идти ' ':

    $ полукокса ='';

  • Если вы хотите пойти:

    $ полукокса =; ' ''.'

  • Если вы хотите пойти на 'а':

    $ полукокса = 'а';

  • Если вы хотите пойти на ';':

    $ символ = ';';

(я добавил это, чтобы помочь любому, что есть какой-либо другой синтаксис строки)

Для подключения вы можете сделать (Documentation):

$connection = mysql_connect('adress', 'mysql_user', 'mysql_password'); 

Ладно, у нас есть связь. Теперь возьмите данные (Documentation).

$database = "DatabaseWithTableWithIntegers"; 
$table = "TableWithIntegers"; 
$rowname = "RowWithIntegers"; 
$sql = "USE $database; SELECT $rowname FROM $table;"; 
$result = mysql_query ($sql, $connection); 

Теперь объявить что-то вроде списка:

$arr = []; // array for fetching 
$vrr = []; // array for fetched 

Следующий шаг заключается в выборку строк (Documentation):

while($row = mysql_fetch_row($result)){ 

Row имеют строку типа «2,142,124,53,3511,513,531, 53 ", если разделитель был", "и запись существует в базе данных/таблице. Магическая функция взрывается, он отрезает все сегменты в массив (Documentation):

$arr = explode($char, $row[$rowname]); //rowname is to be 100% sure 

Последнее, что должен сделать преобразование (Documentation)

for($arr as &$a){ 
$value = intval($a); 
array_push($vrr, $value); // to save the value into vrr([Documentation][6]) 
}} 
+0

Спасибо за ваш ответ, я новичок в php, пожалуйста, дайте мне полный код –

+0

Я могу скопировать его, когда я приеду домой, смартфон очень последний редактор кода (eta 4h) –

+0

Надеюсь, теперь ясно –

0

, если вы храните данные в форма a1, a2, a3 в одном столбце, почему бы вам просто не получить данные и не разделить их с помощью метода explode()?

, если вы используете ассоциативный массив, а затем использовать json_encode() при хранении данных в виде строки, а затем декодировать его с помощью json_decode() после извлекается из базы данных

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