2015-10-18 2 views
0

Я выбираю данные из MySQL. Мой код выглядит так:SQL select как функция PHP

$sql = "SELECT oznacenie_odpadu FROM zdroj_dat ORDER by ID ASC"; 

if ($result = $conn->query($sql)) { 
// fetch associative array 
while($row = $result->fetch_assoc()) { 
echo '<option value="'.$row['oznacenie_odpadu'].'"  >'.$row['oznacenie_odpadu'].'</option>';  
} 
} 

Эта часть кода находится в моем коде несколько раз. Я называю это 5 раз меняется только строка «oznacenie_odpadu». Поэтому я сделал функцию:

function select($data) { 
$sql = "SELECT rozmer FROM zdroj_dat ORDER by id ASC"; 

if ($result = $conn->query($sql)) { 
// fetch associative array 
    while($row = $result->fetch_assoc()) { 
    echo '<option value="'.$row[$data].'" >'.$row[$data].'</option>';  
    } 
} 
} 

Вызов с помощью select ("somevalue");

Синтаксис в порядке, потому что я ничего не менял, но когда я загружаю страницу, данные из базы данных не извлекаются.

ответ

0

У вас есть проблема с переменной областью. $conn не доступен внутри вашей функции. Вам необходимо передать его в качестве параметра, который будет использоваться внутри вашей функции.

function select($conn, $data) { 
    $sql = "SELECT rozmer FROM zdroj_dat ORDER by id ASC"; 

    if ($result = $conn->query($sql)) { 
    // fetch associative array 
     while($row = $result->fetch_assoc()) { 
     echo '<option value="'.$row[$data].'" >'.$row[$data].'</option>';  
     } 
    } 
} 

Вызов его:

select($conn, "somevalue"); 
+0

Сэр, вы правы. Благодарю. – trenccan