2016-11-28 2 views
1

Я пытаюсь получить имена разных столбцов таблицы MYSQL, а затем сохранить их как отдельные строковые переменные, из которых я установил как файлы cookie. Проблема в том, что все рецепты сохраняются в одном элементе массива. Было бы даже полезно, если бы я мог сохранить каждое поле как отдельный объект в массиве. Более того, некоторые имена полей могут содержать пустые символы (например, пробелы). Я честно я не слишком уверен, как подойти к этому, однако я пытался в моем упрощенном коде ниже:PHP/MYSQL - Сохранить поля таблицы как отдельные строковые переменные

<?php 

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$db_name = "db_name"; 

$table_id = "table_name"; 

$conn = mysqli_connect($servername, $username, $password, $db_public_tables); 

if (!$conn) { 
    die("Error: " . mysqli_connect_error()); 
} 

$sql = "SHOW COLUMNS FROM `$table_id`"; 

$result = mysqli_query($conn, $sql); 

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

    $field_array = implode(" ", $row[0]); 

    setcookie('selected_field_array_cookie', $field_array); 
} 

mysqli_close($conn); 
?> 

Ищу выход, где я в состоянии напечатать определенное имя поля на HTML-странице. Например:

echo $field3; 

Благодарим за внимание. Ответы в любой форме приветствуется, хотя желательно с использованием PHP/MySQL/JS

ответ

1

Я полагаю, это то, что вы ищете:

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$database = "db_name"; 
$table_id = "table_name"; 

$conn = mysqli_connect($servername, $username, $password, $database); 
if(!$conn) { 
    die("Error: " . mysqli_connect_error()); 
} 

$sql = "SHOW COLUMNS FROM `$table_id`"; 
$result = mysqli_query($conn, $sql); 
$field_array = array(); 
$index = 1; 
$omitted_fields = array('id', 'reg_date'); 

while($row = mysqli_fetch_array($result)){ 
    if(!in_array($row[0], $omitted_fields)) { 
     $field_array['field' . $index] = $row[0]; 
     setcookie('field' . $index, $row[0]); 
     extract($field_array); 
     $index += 1; 
    } 
} 

echo $field1 . "<br>"; 
echo $field2 . "<br>"; 
echo $field3 . "<br>"; 
echo $_COOKIE['field1'] . "<br>"; 
echo $_COOKIE['field2'] . "<br>"; 
echo $_COOKIE['field3'] . "<br>"; 

mysqli_close($conn); 

Надеется, что это работает.

+0

Спасибо @ Perumal93 Я нашел аналогичное решение ранее, которое я собирался опубликовать завтра (компьютер выключается). Я очень ценю помощь –

+0

Добро пожаловать. – Perumal