2014-01-17 2 views
0

Я хотел бы сделать прошлую транзакцию для своей корзины покупок (я делаю сайт электронной коммерции), просто попробовав из учебника.Получение данных из базы данных по прошлой транзакции

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

Однако, с моим кодом, который я сделал, как показано, я могу получить свои объекты в базе данных. ОДНАКО, заголовок, «item, package, etcetc» будет повторяться также для всех разных элементов. Могу ли я узнать, как мне избавиться от заголовка, и мне бы хотелось, чтобы он показывал только один заголовок.

$des = $row_supermarketcart['productdes']; 
$pack = $row_supermarketcart['package']; 
$price = $row_supermarketcart['itemprice']; 
$qty = $row_supermarketcart['qty']; 
$ddate = $row_supermarketcart['ddate']; 

if ($row_supermarketcart['username'] == $_SESSION['MM_Username']) 
{ 
    echo "<table><tr>"; 
      echo "<td>items</td>"; 
     echo "<td>Package</td>"; 
     echo "<td>Price</td>"; 
     echo "<td>Quantity</td>"; 
     echo "<td>Date of Purchase</td>"; 
     echo "</tr>"; 
     echo "<tr>"; 
     echo "<td>". $des ."</td>"; 
     echo "<td>". $pack. "</td>"; 
     echo "<td>$" .$price. "</td>"; 
     echo "<td>". $qty. "</td>"; 
     echo "<td>".$ddate."</td>"; 
     echo "</tr>"; 
     echo "</table>"; 
      var_dump($row_supermarketcart); 
} 
else 
{ 
     echo "There are nothing in your cart"; 
} 
?> 

это мой полный код

<?php require_once('Connections/MyDatabase.php'); ?> 
    <?php 
    //initialize the session 
    if (!isset($_SESSION)) { 
     session_start(); 
    } 

    // ** Logout the current user. ** 
    $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; 
    if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ 
     $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); 
    } 

    if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ 
     //to fully log out a visitor we need to clear the session varialbles 
     $_SESSION['MM_Username'] = NULL; 
     $_SESSION['MM_UserGroup'] = NULL; 
     $_SESSION['PrevUrl'] = NULL; 
     unset($_SESSION['MM_Username']); 
     unset($_SESSION['MM_UserGroup']); 
     unset($_SESSION['PrevUrl']); 

     $logoutGoTo = "login.php"; 
     if ($logoutGoTo) { 
     header("Location: $logoutGoTo"); 
     exit; 
     } 
    } 
    ?> 
    <?php 
    if (!function_exists("GetSQLValueString")) { 
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    { 
     if (PHP_VERSION < 6) { 
     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 
     } 

     $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); 

     switch ($theType) { 
     case "text": 
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
      break;  
     case "long": 
     case "int": 
      $theValue = ($theValue != "") ? intval($theValue) : "NULL"; 
      break; 
     case "double": 
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 
      break; 
     case "date": 
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
      break; 
     case "defined": 
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 
      break; 
     } 
     return $theValue; 
    } 
    } 

    mysql_select_db($database_MyDatabase, $MyDatabase); 
    $query_supermarketcart = "SELECT * FROM supermarketcart"; 
    $supermarketcart = mysql_query($query_supermarketcart, $MyDatabase) or die(mysql_error()); 
    $row_supermarketcart = mysql_fetch_assoc($supermarketcart); 
    $totalRows_supermarketcart = mysql_num_rows($supermarketcart); 
    $query_cart = "SELECT * FROM user_data"; 
    $cart = mysql_query($query_cart, $MyDatabase) or die(mysql_error()); 
    $row_cart = mysql_fetch_assoc($cart); 
    $totalRows_cart = mysql_num_rows($cart); 
    ?> 


    <!DOCTYPE HTML> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>Your Past Transaction</title> 
    </head> 

    <body background="background.jpg"> 
    <table width="1024" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#EBF4FA"> 
     <tr> 
     <td><img src="logo.png" width="450" height="86" hspace="50"> 
     </td> 
     <td> 
      <blockquote><h4><?php echo "Welcome,".($_SESSION['MM_Username']) ?></h4> </blockquote> 
     <blockquote><img src="cart.png" alt="cart" width="35" border="0" usemap="#Map"> 
     <a href="feedback.php">Feedback</a> 
     <a href="<?php echo $logoutAction ?>">Logout</a> 

     </blockquote></td> 
     </tr> 
    </table> 
    <br> 

    <table width="1024" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#EBF4FA"> 
    <tr> 
    <td> 

    <?php 

do{ 
$des = $row_supermarketcart['productdes']; 
$pack = $row_supermarketcart['package']; 
$price = $row_supermarketcart['itemprice']; 
$qty = $row_supermarketcart['qty']; 
$ddate = $row_supermarketcart['ddate']; 


if ($row_supermarketcart['username'] == $_SESSION['MM_Username']) 
{ 
    echo "<table><tr>"; 
      echo "<td>items</td>"; 
      echo "<td>Package</td>"; 
      echo "<td>Price</td>"; 
      echo "<td>Quantity</td>"; 
      echo "<td>Date of Purchase</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>". $des ."</td>"; 
      echo "<td>". $pack. "</td>"; 
      echo "<td>$" .$price. "</td>"; 
      echo "<td>". $qty. "</td>"; 
      echo "<td>".$ddate."</td>"; 
      echo "</tr>"; 
      echo "</table>"; 

} 

else 
{ 
     echo "There are nothing in your cart"; 
} 

} while ($row_supermarketcart = mysql_fetch_assoc($supermarketcart)); 
?> 




    </td> 
    </tr> 
    </td> 
    </tr> 
    </table> 

    </body> 
    </html> 
+0

использование 'var_dump ($ row_supermarketcart)', чтобы помочь диагностировать проблему. Похоже, что то, что вы ожидаете быть строкой, на самом деле является массивом. –

+0

массив 'id' => строка '97' (длина = 2) 'itemid' => строка '1' (длина = 1) 'productdes' => строка 'CADBURY BLOCK MILK CHOCOLATE - МОЛОЧНАЯ МОЛОКО' (длина = 42) 'package' => string '220g' (length = 4) 'itemprice' => string '5.20' (length = 4) 'qty' => string '2' (length = 1) ' username '=> string' test '(length = 4) ' ddate '=> string' Fri, January 17, 2014, 13:58:51 '(length = 30) – user3205175

+0

@DigitalChris это то, что он изложил .. почему это так? извините, им новый для php – user3205175

ответ

0

Вы должны перебрать запросы:

if ($row_supermarketcart['username'] == $_SESSION['MM_Username']) 
{ 
    echo "<table><tr>"; 
      echo "<td>items</td>"; 
      echo "<td>Package</td>"; 
      echo "<td>Price</td>"; 
      echo "<td>Quantity</td>"; 
      echo "<td>Date of Purchase</td>"; 
      echo "</tr>"; 

    foreach($row_supermarketcart as $row) { 
       echo "<tr>"; 
       echo "<td>" . $row['productdes'] . "</td>"; 
       echo "<td>" . $row['package'] . "</td>"; 
       echo "<td>" . $row['itemprice'] . "</td>"; 
       echo "<td>" . $row['qty'] . "</td>"; 
       echo "<td>" . $row['ddate'] . "</td>"; 
       echo "</tr>"; 
    } 
      echo "</table>"; 
} 
+0

[] кронштейн не работает. Я использую Dreamweaver, он был освещен RED в этой строке – user3205175

+0

Я меняю его на эхо "". $ Des. ""; вместо. Тем не менее, он повторяет все те же элементы – user3205175

+0

Может ли dreamweaver лучше, если он отформатирован так? –

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