2013-03-22 2 views
1

Я последовал онлайн учебник, чтобы создать администратор фоновым, и я закончил с этим кодом перед HTML тегов страницы PHP:

<?php 
$product_list = ""; 
$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC"); 
$productCount = mysql_num_rows($sql); // count the output amount 

if ($productCount > 0) 
{ 
    while($row = mysql_fetch_array($sql)) 
    { 
    $id = $row["id"]; 
    $product_name = $row["product_name"]; 
    $price = $row["price"]; 
    $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); 
    $product_list .= "Product ID: $id - <strong>$product_name</strong> - $$price - <em>Added $date_added</em> &nbsp; &nbsp; &nbsp; <a href='inventory_edit.php?pid=$id'>edit</a> &bull; <a href='inventory_list.php?deleteid=$id'>delete</a><br />"; 
    } 
} 
else 
{ 
    $product_list = "You have no products listed in your store yet"; 
} 
?> 

Когда я поставил <?php echo $product_list; ?> на содержании страницы я извлечь список результат:

Product ID: 1 - Strawberries - $10 - Added Mar 22, 2013  edit • delete 
Product ID: 2 - Apples 1 - $10 - Added Mar 22, 2013  edit • delete 

То, что я хочу, чтобы положить его в симметричном виде списка, как с таблицей или так, чтобы представить результаты и редактировать/удалять опции. Пытался поставить стол с 1 строкой и 5 колонками на $product_list без успеха.

+2

Вы спрашиваете о том, как добавить '

и' '
тегов в вашем выводе? – mario

+0

нет. когда я создаю новый продукт, страница обновления инвентаря обновляется, давая мне все продукты моей базы данных, но в этом формате на «строке текста». то, что мне нужно, - это привести результаты к некоторому списку, например таблице. но я не могу управлять этим кодом, чтобы сделать это. (noob в доме, извините) –

+0

[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **] (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (http://j.mp/XqV7Lp). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. – Kermit

ответ

1
$mysqli = new mysqli("localhost", "username", "password", "database_name"); 

$query = "SELECT * FROM products ORDER BY date_added DESC"; 
$result = $mysqli->query($query); 

$product_list = '<table>'; 
$product_list .= '<thead><tr>ID</tr><tr>Name</tr><tr>Price</tr><tr>Added</tr></thead>'; 
$product_list .= '<tbody>'; 

while($row = $result->fetch_array()){ 
    $id = $row["id"]; 
    $product_name = $row["product_name"]; 
    $price = $row["price"]; 
    $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); 
    $product_list .= "<tr><td>$id</td><td>$product_name</td><td>$price</td> <td>$date_added</td></tr>"; 
} 

$product_list .= '</tbody>'; 
$product_list .= '</table>'; 

echo $product_list; 
+0

Хороший ответ, но переключитесь на MYSQLI или PDO. – Sablefoste

+0

Согласовано. Позвольте мне переписать его. –

+0

спасибо. Я заменил код, который вы написали, и придумал эти ошибки: Предупреждение: mysqli :: query() ожидает, что параметр 1 будет строкой, ресурс указан в /home/mutesoft/public_html/fStore/admin/inventory_list.php в строке 80 Неустранимая ошибка: вызовите функцию-член fetch_array() для не-объекта в /home/mutesoft/public_html/fStore/admin/inventory_list.php в строке 86 –

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