2015-01-10 3 views
0

Как объединить эту таблицу в 3 раздела? Один для начала, сеть и десерты.php/MySQL - Как присоединиться к таблице продуктов вместе

Вот мой код до сих пор:

<?php 

session_start(); 

$page = 'index.php'; 

mysql_connect('localhost','root','') or die(mysql_error()); 
mysql_select_db('cart') or die(mysql_error()); 

if (isset($_GET['add'])) { 
    $quantity = mysql_query('SELECT id, quantity FROM products WHERE id='.mysql_real_escape_string((int)$_GET['add'])); 
    while ($quantity_row = mysql_fetch_assoc($quantity)) { 
     if ($quantity_row['quantity']!=$_SESSION['cart_'.(int)$_GET['add']]) { 
     $_SESSION['cart_' . (int)$_GET['add']] +='1'; 
     header('Location: ' . $page); 

    } 
} 
header('Location: ' . $page); 

} 

if (isset($_GET['remove'])) { 
    $_SESSION['cart_'.(int)$_GET['remove']]--; 
    header ('Location: ' . $page); 

} 

if (isset($_GET['delete'])) { 
    $_SESSION['cart_' . (int)$_GET['delete']]='0'; 
    header ('Location: ' . $page); 
} 



function products() { 
    $get = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 ORDER BY id DESC'); 
    if (mysql_num_rows($get) == 0) { 
     echo "There are no products to display."; 
    } 
    else { 

    while ($get_row = mysql_fetch_assoc($get)) {?> 
     <center> 
     <table border=2 width=90% cellspacing=5 cellpadding=10 bgcolor=cyan cols=2> 
     <th>View</th> 
     <th>Dish</th> 
     <th>Description</th> 
     <th>Item Price</th> 
     <tr> 
     <td>  
     <a href="ice.png"</a> 
     </td> 
     <td> 
     <?echo '<p>'.$get_row['name']?> 
     </td> 
     <td> 
     <?echo $get_row['description']?> 
     </td> 
     <td> 
     <?echo '&pound'.number_format($get_row['price'],2).'<br><br> <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';?> 
     </td> 
     </tr> 
     </table></center> 

    <?} 

} 


} 

Это в настоящее время показывает:

enter image description here

Но в идеале я не хотел бы заголовки для каждого для элементов!

+0

Разве это не просто HTML? (вместо всех этих тегов)? –

ответ

0

Пожалуйста, попробуйте

?> 
<center> 
<table border=2 width=90% cellspacing=5 cellpadding=10 bgcolor=cyan cols=2> 
<tr> 
<th>View</th> 
<th>Dish</th> 
<th>Description</th> 
<th>Item Price</th> 
<tr> 
<? 
while ($get_row = mysql_fetch_assoc($get)) {?> 
    <tr> 
    <td>  
    <a href="ice.png"</a> 
    </td> 
    <td> 
    <?echo '<p>'.$get_row['name']?> 
    </td> 
    <td> 
    <?echo $get_row['description']?> 
    </td> 
    <td> 
    <?echo '&pound'.number_format($get_row['price'],2).'<br><br> <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';?> 
    </td> 
    </tr> 
<? 
} 
?> 
</table></center> 
<? 

вместо вашего время цикла:

while ($get_row = mysql_fetch_assoc($get)) {?> 
    <center> 
    <table border=2 width=90% cellspacing=5 cellpadding=10 bgcolor=cyan cols=2> 

    .............. 

    </table></center> 

<?} 

Я надеюсь, что это помогает.

редактировать

Пожалуйста, обратите внимание изменения от mysql PHP функций mysqli или PDO поскольку mysql семьи отмечена как устаревшая PHP команды. Здесь вы можете найти больше о: mysqli и PDO.

1

Вы звоните table and table header во время цикла. так, что выход по этой причине. Попробуйте это изменение

function products() { 
    $get = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 ORDER BY id DESC'); 
    if (mysql_num_rows($get) == 0) { 
     echo "There are no products to display."; 
    } 
    else { 
     echo "<center>\n"; 
     echo " <table border=2 width=90% cellspacing=5 cellpadding=10 bgcolor=cyan cols=2>\n"; 
     echo "  <tr>\n"; 
     echo "  <th>View</th>\n"; 
     echo "  <th>Dish</th>\n"; 
     echo "  <th>Description</th>\n"; 
     echo "  <th>Item Price</th>\n"; 
     echo "  </tr>\n"; 
     while ($get_row = mysql_fetch_assoc($get)) { 

     ?> 
     <tr> 
      <td>  <a href="ice.png"</a> </td> 
      <td> <?echo '<p>'.$get_row['name']?> </td> 
      <td> <?echo $get_row['description']?> </td> 
      <td> <?echo '&pound'.number_format($get_row['price'],2).'<br><br> <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';?> </td> 
     </tr> 
     <? 
     } 
     echo "</table>\n"; 
     echo "</center>\n"; 
    } 
}   
+0

Wow большое спасибо, это отлично работает! Знаете ли вы, как я могу использовать отдельное изображение для каждого элемента? – Oscar

+0

где придет Img src? если в соответствии с продуктом, то '' 'изменение ' –

+0

хмм это, кажется, чтобы показать его по всем пунктам еще и когда я нажимаю он отображает изображение :(Вы можете помочь мне исправить это? – Oscar

-1

Я полагаю, ваша таблица будет иметь поле «тип», который содержит «стартер», «главный» или «десерт». Если это не так, я не знаю, как вы будете различать продукты.

Я бы получить стартеры, сетевой и десерты отдельно, как это первая:

$starters = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 AND type = 'starter' ORDER BY id DESC'); 

$mains = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 AND type = 'main' ORDER BY id DESC'); 

$desserts = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 AND type = 'dessert' ORDER BY id DESC'); 

Затем в цикле функции по каждой группе отдельно с заголовками таблицы в только сверху.

function products() { 
    $get = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 ORDER BY id DESC'); 
    if (mysql_num_rows($get) == 0) { 
     echo "There are no products to display."; 
    } 
    else { 
    echo <<<HERE 
<center> 
     <table border=2 width=90% cellspacing=5 cellpadding=10 bgcolor=cyan cols=2> 
     <th>View</th> 
     <th>Dish</th> 
     <th>Description</th> 
     <th>Item Price</th> 
     <tr> 
HERE; 

    while ($get_row = mysql_fetch_assoc($starters)) {?> 

     <td>  
     <a href="ice.png"</a> 
     </td> 
     <td> 
     <?echo '<p>'.$get_row['name']?> 
     </td> 
     <td> 
     <?echo $get_row['description']?> 
     </td> 
     <td> 
     <?echo '&pound'.number_format($get_row['price'],2).'<br><br> <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';?> 
     </td> 
     </tr> 


    <?} 

    while ($get_row = mysql_fetch_assoc($mains)) {?> 

     <td>  
     <a href="ice.png"</a> 
     </td> 
     <td> 
     <?echo '<p>'.$get_row['name']?> 
     </td> 
     <td> 
     <?echo $get_row['description']?> 
     </td> 
     <td> 
     <?echo '&pound'.number_format($get_row['price'],2).'<br><br> <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';?> 
     </td> 
     </tr> 


    <?} 

    while ($get_row = mysql_fetch_assoc($desserts)) {?> 

     <td>  
     <a href="ice.png"</a> 
     </td> 
     <td> 
     <?echo '<p>'.$get_row['name']?> 
     </td> 
     <td> 
     <?echo $get_row['description']?> 
     </td> 
     <td> 
     <?echo '&pound'.number_format($get_row['price'],2).'<br><br> <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';?> 
     </td> 
     </tr> 


    <?} 
echo "</table></center>"; 
} 

Это может быть реорганизовано, но я думаю, что это то, что вы ищете.

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