2015-01-10 2 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

대신 while 루프의

?> 
<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> 

<?} 

나는 그것이 도움이되기를 바랍니다.

편집

PHP 팀이되지 않는 것으로 mysql 가족이 표시되기 때문에 mysqli 또는 PDOmysql PHP 함수에서 변경하는 것을 고려하십시오. 여기에서 mysqliPDO에 대한 자세한 내용을 확인할 수 있습니다.

1

while 루프는 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

와우 대단히 감사합니다. 각 항목에 대해 별도의 이미지를 사용하는 방법을 알고 있습니까? – 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>"; 
} 

이것은 리팩터링 될 수 있지만, 내가 생각하는 것처럼 생각합니다.