পিএইচপি এর মাধ্যমে মাইএসকিউএলের ডেটা নিয়ে আসুন, তারপর একই কলাম মান এবং গণনা সহ গ্রুপের সারি

আমি মূলত এই প্রোগ্রাম যা একটি ডাটাবেস থেকে আদেশ fetches। আমার সমস্যাটি এমনভাবে একটি রিপোর্ট করতে হবে যাতে স্ক্রিপ্ট একই কলাম মানের সাথে সারি পাবে এবং তারপর তাদের গণনা এবং তাদের প্রদর্শন করবে।

টেবিল 'অর্ডার' বলুন

salesorder family product
1111111    pi_gx  af000
1111111    pi_gx  af000
1111112    sfng   af111
1111113    pi_gx  af000

আমার পিএইচপি পৃষ্ঠাতে প্রদর্শন করা হবে

sales order   family  qty   product
1111111       pi_gx   2     af000
1111112       sfng    1     af111
1111113       pi_gx   1     af000

এটি বিক্রয় বিক্রয় আদেশ সারি পরিমাণ গণনা এবং পরিমাণ প্রদর্শন, একই সময়ে শুধুমাত্র আমার পৃষ্ঠাতে যে বিক্রয় আদেশ একক কপি প্রদর্শন।

এখানে কোড:

<body class="printable">

New Orders Dropped for Product Integration 1X

<table align="center" width="100%">
<tr>
    <td class="labels">Prepared: </td>
<td class="boxed"><?php date_default_timezone_set("Asia/Singapore");$today = date("d/m/y H:i");echo $today; ?></td>
    <td class="divider"> </td>
    <td class="labels">Time Coverage:  </td>
    <td class="boxed">12:00 to 2:00</td>
    <td class="divider"> </td>
    <td class="labels">BirthStamp: </td>
    <td class="boxed">5/21/2012</td>
    <td class="divider"> </td>
    <td class="labels">Saved: </td>
    <td class="boxed"><?php echo $today; ?></td>
</tr>
<tr>
    <td class="labels">Prepared by (Production): </td>
    <td><input type="text" name="preparer" id="preparer" class="boxedPrepared" /></td>
    <td class="divider"></td>
    <td class="labels">Recorded by (Store): </td>
    <td><input type="text" name="recorder" id="recorded" class="boxedPrepared" /></td>
    <td class="divider"></td>
    <td class="labels">Recorded: </td>
    <td class="boxed" colspan="3"><?php echo $today; ?></td>
</tr>
</table>

<?php $conn = mysql_connect("localhost", "root", "123456") or die(mysql_error()); mysql_select_db("store") or die(mysql_error()); $sql = mysql_query("SELECT * FROM report ORDER BY salesorder AND masterproduct ASC") or die(mysql_error()); if(mysql_num_rows($sql) == 0) { echo "
No ORDER/S in Queue
";
} else {
    echo "
    <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" class=\"data\">
              <tr>
                <td class=\"dataHeader\">Sales Order</td>
                <td class=\"dataHeader\">Sales Order Code</td>
                <td class=\"dataHeader\">Family</td>
                <td class=\"dataHeader\">Product Code</td>
                <td class=\"dataHeader\">Quantity</td>
                <td class=\"dataHeader\">Birth Stamp</td>
                <td class=\"dataHeader\">Due Date</td>
              </tr>
    ";
    while($result = mysql_fetch_array($sql)) {
        echo "
              <tr>
                <td class=\"data\">".$result['salesorder']."</td>
                <td class=\"data\">*".$result['salesorder']."*
".$result['salesorder']."</td> <td class=\"data\">".$result['family']."</td> <td class=\"data\">*".$result['masterproduct']."*
".$result['masterproduct']."</td> <td class=\"data\">"; //need to echo the value here echo "</td> <td class=\"data\">".$result['birthstamp']."</td> <td class=\"data\">*".$result['duedate']."*
".$result['duedate']."</td> </tr> "; } echo "</table>"; } ?>
0
যোগ সম্পাদিত
মতামত: 1
দুঃখিত, আমি সত্যিই এই অনেক বুঝতে পারি না কারণ আমি এখনও একটি noob আমি এটা কিভাবে করব?
যোগ লেখক JudeJitsu, উৎস
দুঃখিত, এখনও এটি পেতে পারে না। আপনি কি আমার কোড সম্পর্কে কি করতে হবে দয়া করে আমাকে বলতে পারেন? আমি সাহায্যের প্রশংসা করবো :(
যোগ লেখক JudeJitsu, উৎস
সম্পর্কীয় ডাটাবেস এই কাজ করার জন্য তৈরি করা হয়। আমি সমষ্টিগত ফাংশন পড়তে সুপারিশ করব যেগুলি MySQL সমর্থন করে: dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
যোগ লেখক zebediah49, উৎস
যে ক্ষেত্রে আমি আমার এসকিউএল একক ফাংশন, যোগদান, এবং subqueries সঙ্গে কি করতে পারেন আপ পড়তে সুপারিশ করবে। আমি নিশ্চিত যে আপনি কিছু ভাল জিনিস নিজেকে খুঁজে পেতে পারেন, কিন্তু dev.mysql.com /tech-resources/articles/subqueries_part_1.html tizag.com/mysqlTutorial/mysqljoins। PHP আপনার বন্ধ শুরু করা উচিত।
যোগ লেখক zebediah49, উৎস

3 উত্তর

অবশেষে এটি figured আউট সাহায্য করার জন্য আপনাকে ধন্যবাদ বলছি আমি আমার এসকিউএল ক্যোয়ারিকে এই পরিবর্তন করেছি:

$sql = mysql_query("SELECT salesorder, masterproduct, family, birthstamp, duedate, COUNT( * ) AS total FROM report WHERE family = '$family' AND birthstamp BETWEEN '$startDT' AND '$endDT' GROUP BY salesorder, masterproduct, family, duedate  ");

এবং এটি জরিমানা কাজ!

0
যোগ
SELECT salesorder, family, product, COUNT() AS qty FROM orders 
       GROUP BY salesorder;

সম্পাদনা করুন: ঠিক আছে, আকারের জন্য এটি চেষ্টা করুন:

SELECT r.*, t.qty FROM report r LEFT JOIN
      (SELECT salesorder, COUNT() AS qty FROM orders 
         GROUP BY salesorder) t
      ON t.salesorder=r.salesorder
    ORDER BY r.salesorder AND r.masterproduct ASC
0
যোগ
দ্রুত উত্তর দেওয়ার জন্য আপনাকে ধন্যবাদ, তবে সমস্যাটি অন্য ক্যোয়ারীর ভিতরে ঢোকাতে হবে। উপরে আমার সম্পাদনা দেখুন দয়া করে।
যোগ লেখক JudeJitsu, উৎস
হাই @ zebediah49, দুঃখিত আমার সম্পাদনা দেরী ছিল। আমি মূলত উপরোক্ত কোড দিয়ে এটি করতে হবে, আমি পরিমাণ করা উচিত যেখানে একটি মন্তব্য করা। আমি সত্যিই এই বিষয়ে আমার প্রথম ক্যোয়ারী সঠিক কিনা তা নিশ্চিত নই
যোগ লেখক JudeJitsu, উৎস
@ zebediah49, আকারের সাথে আপনার প্রশ্নটি চেষ্টা করে দেখায়, "আপনার এসকিউএল সিনট্যাক্সে একটি ত্রুটি আছে, আপনার মাইএসকিউএল সার্ভার সংস্করণটির সাথে সম্পর্কিত ডান সিনট্যাক্সের সাথে সম্পর্কযুক্ত চেক করুন" t.salesorder = r.saleorder ORDER B 'লাইন 1 এ
যোগ লেখক JudeJitsu, উৎস
<�কোড> COUNT() AS গুণ
যোগ লেখক flowfree, উৎস
হে, নিজেকে বলেছিলাম, "আমি ঠিক সেই ফর্মে সম্পাদনা করব এবং সেই মন্তব্যটি দেখব"। ভাল ধরা, এমনকি আমি এটা পড়ার আগে এটি ঠিক আছে কি না :)
যোগ লেখক zebediah49, উৎস
আপনি সম্পূর্ণভাবে এটি মত subquery করতে পারেন, কোন সমস্যা। (যদিও আমি এখনও কোন সম্পাদনা দেখতে পাইনি)
যোগ লেখক zebediah49, উৎস
আহ আমি দেখি. আর রিলেশনাল ডাটাবেসের আরেকটি চমৎকার বৈশিষ্ট্য: JOIN : D। আপনি যদি জানেন না যে, সেটি প্রতিবেদন থেকে সবকিছুই নির্বাচন করবে, এবং তারপরে মিলিত হওয়ার জন্য বিক্রয়োত্তর আধিকারিকদের ব্যবহার করে উপকূলে টানা পরিমাণে আঠালো লাগবে।
যোগ লেখক zebediah49, উৎস

এই প্রশ্নটি চেষ্টা করুন:

SELECT 
 COUNT() AS qty, sales_order, family, products 
FROM orders 
GROUP BY sales_order
0
যোগ