簡體   English   中英

顯示來自多個表mysql的大記錄

[英]show large records from more than one table mysql

嗨,我所有的朋友,當我需要從一張以上的桌子上顯示所有購買清單時,我面臨一個問題。讓我說5張桌子,分別是“片劑”,“糖漿”,“膠囊”,“注射劑”,“ “燒瓶”,每次從用戶購買的商品都必須顯示在一頁上,讓它說從每個表中獲得20條記錄,因此總共將顯示100行。問題是如何從每個表中僅顯示10行,但提供下一個和上一個按鈕,而下一個按鈕的每個按鈕都不會影響另一個表。代碼如下。問題是我有1個以上的工廠用戶,並且在某些情況下,幾乎所有用戶都在同一時間查看他們的購買交易,而我的服務器也消失了。謝謝您的所有幫助。此處提供了源。

$rs = mysql_query("SELECT * FROM tablet WHERE zomname ='".$_SESSION['username']."';",$conn) or die("Couldn't fetch records from stud");
$rs2 = mysql_query("SELECT * FROM syrup WHERE zomname ='".$_SESSION['username']."';",$conn) or die("Couldn't fetch records from stud");
$rs3 = mysql_query("SELECT * FROM capsul WHERE zomname ='".$_SESSION['username']."' LIMIT 10;",$conn) or die("Couldn't fetch records from stud");
$rs4 = mysql_query("SELECT * FROM injection WHERE zomname ='".$_SESSION['username']."';",$conn) or die("Couldn't fetch records from stud");
$rs5 = mysql_query("SELECT * FROM flask WHERE zomname ='".$_SESSION['username']."';",$conn) or die("Couldn't fetch records from stud");


$count=mysql_num_rows($rs);
$count2=mysql_num_rows($rs2);
$count3=mysql_num_rows($rs3);
$count4=mysql_num_rows($rs4);
$count5=mysql_num_rows($rs5);


if ($count>0 || $count2>0 || $count3>0 || $count4>0 || $count5>0)
{
            echo "<CENTER>";
            echo "<BR><B><U>Purchase</U></B><BR><br/>";
            echo "<TABLE align='center' border='1' cellspacing='0' cellpadding='5'>";
            echo "<TR><TH>Nama</TH><TH colspan='4'>batch</TH><TH>Hprice</TH><TH>Discount</TH><TH>Paid</TH><TH>Product</TH><TH>Branch</TH><TH>Regional</TH><TH>Time</TH></TR>";
            //print Tablet data
            $i=0;
            while($i<$count)
            {
                $name=mysql_result($rs, $i, "zomname");
                $product=mysql_result($rs, $i, "tproduct");
                $bnum1=mysql_result($rs, $i, "batch1");
                $bnum2=mysql_result($rs, $i, "batch2");
                $bnum3=mysql_result($rs, $i, "batch3");
                $bnum4=mysql_result($rs, $i, "batch4");
                $bprice=mysql_result($rs, $i, "price");
                $bprice=number_format($bprice, 0, ',', '.');
                $disc=mysql_result($rs, $i, "Tdiscount");
                $disc = $disc." persen";
                $paid=mysql_result($rs, $i, "Tpaid");
                $paid=number_format($paid, 0, ',', '.');
                $country=mysql_result($rs, $i, "Tbr");
                $Regin=mysql_result($rs, $i, "Treg");
                $date=mysql_result($rs, $i, "zomdate");
                $month=mysql_result($rs, $i, "zomonth");
                $time=mysql_result($rs, $i, "zomtime");
                $actualtime =$date."-".$month.",".$time;
                echo "<TR><TD>$name</TD><TD>$bnum1</TD><TD>$bnum2</TD><TD>$bnum3</TD><TD>$bnum4</TD><TD>$bprice</TD><TD>$disc</TD><TD>$paid</TD><TD>$product</TD><TD>$country</TD><TD>$table</TD><TD>$actualtime</TD></TR>";
                $i++;
            }
            echo "</TABLE></CENTER>";
            echo "<br/>";

//print Syrup data and so on....all of the 5 product type have to be in one page.
//but i can limit to show each 10 item from each product type by providing next n previous button for each product

您是否認為一次以10塊為單位從數據庫中提取查詢會減少數據庫的凈負載? 假設您有大量用戶在執行大量小請求,則凈負載將增加。 更不用說在分頁操作過程中可能發生實時事務時確保已顯示所有數據的健壯性問題。

mysql_ *被描述,請看mysqli

正如Pixel Maker的評論所說-使用表格來跟蹤類型,將類型硬編碼到您的php中是將來痛苦的秘訣。

我的建議:

1)為用戶提供大量過濾器選項-例如,讓他們指定購買日期范圍和購買類型,以及您能想到的任何其他有用的過濾器。 這使得返回的數據更易於管理,以供您顯示以及用戶查找所需內容。

2)在一個查詢中獲取用戶請求的所有內容。 Ajax頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM