2015-10-20 4 views
2

У меня есть функция в php, которая должна отображать все записи в таблице. Но я просто не могу показать их в HTML.Как вывести PHP-функцию sql в html?

Вот мой PHP код:

<?php 
function display_products(){ 
    $query = mysql_query("Select id, naam,prijs from product"); 
    $data = array(); 
    while ($row = mysql_fetch_assoc($result)){ 
     array_push($data, $row); 
    } 
    return $data; 
}?> 

и вот моя попытка отобразить массив в моем HTML:

<?php 
$products = display_products(); 
foreach ($products as $product): ?> 
    <ul> 
    <li><?php echo $product['naam'] ?></li> 
    <li><?php echo $product['prijs'] ?></li> 
    </ul> 
} 
<?php endforeach; unset($product); ?> 
+0

Можете ли вы показать нам код функции display_products()? –

+0

Код показан выше в первой части –

+0

Что такое вывод, если вы выполняете 'var_dump ($ products)' сразу после '$ products = display_products()' –

ответ

0

попробовать что-то вроде следующего (не забудьте изменить константы в функции mysqli_connect()). Кроме того, если вы знакомы с этим, попробуйте использовать PDO.

<?php 
function display_products() { 
    //Connect to database 
    $connection = mysqli_connect(SERVER, USER, MY_PASSWORD, MY_DATABASE); 
    mysqli_set_charset($connection, 'utf8'); 
    if (!$connection) { 
     die("Database connection failed: " . mysqli_error()); 
    } 
    //Make the query 
    $query = "SELECT id, naam, prijs FROM product;"; 
    $result = mysqli_query($connection, $query); 
    $data = array(); 
    //Fetch all the data 
    while ($row = mysqli_fetch_array($result)) { 
     array_push($data, $row); 
    } 
    return $data; 
} 
?> 


<?php 
$products = display_products(); 
foreach ($products as $product): ?> 
    <ul> 
     <li><?php echo $product['naam']; ?></li> 
     <li><?php echo $product['prijs']; ?></li> 
    </ul> 
<?php endforeach; ?> 
+0

Это сработало благодаря :). да, точно я не должен использовать mysql, может быть опасен в долгосрочной перспективе –