View Full Version : Question about if condition
rhodarose
01-28-2011, 12:13 AM
Good day!
I have if condition in my code and it is for checking the input data from the user or client.
Here is my if statement:
if($_POST["from1_date"] && $_POST["to1_date"] && $_POST["shift1"])
this code is work when i insert in the text field the from date, to date and the shift. I have 3 types of shift. For example I input from 2011-01-01 to 2011-01-02 shift 1-6 all the data that the shift is 1-6 is appear. My problem now is when i did not input shift no data was appear. I want to happen is when I did not input shift all the data from date to date will appear.
Any help is highly appreciated.
Thank you
fastsol1
01-28-2011, 03:10 AM
Just take out the && $_POST["shift1"] part of the if() and it won't check to see if it has any data in that part.
rhodarose
01-28-2011, 03:14 AM
Here is my whole code:
if($_POST["from_date"] && $_POST["to_date"] && $_POST["shift"])
{
$from_date = mysql_real_escape_string($_POST['from_date']);
$to_date = mysql_real_escape_string($_POST['to_date']);
$shift = mysql_real_escape_string($_POST['shift']);
$query = "SELECT d.operation_name, SUM(d.input_qty) AS inputqty, d.input_unit, SUM(d.output_qty) AS outputqty, d.output_unit FROM traceability d, plt_transact t WHERE t.plt_date BETWEEN '$from_date' AND '$to_date' AND d.shift = '$shift' AND d.operation_name IN ('01 Oper', '02 Oper', '03 Oper', '04 Oper') GROUP BY d.operation_name, d.output_unit, d.input_unit ORDER BY d.operation_name";
$result = mysql_query($query);
if($result)
{
echo "<table cellspacing='2' style='font-family: arial narrow; font-size: 12px; border-width: 2px 2px 2px 2px; border-style: solid;'>";
echo "<tr>";
echo "<tr><b> From Date: " . $_POST['from_date'] . "</b></tr>";
echo "<tr><b> To Date: " . $_POST['to_date'] . "</b></tr>";
echo "<tr><b> Shift Date: " . $_POST['shift'] . "</b></tr>";
echo "<th class='tdclass'>PLT #</th>";
$total_row = mysql_num_rows($result);
$total_columns = $total_row;
for($ctr=0; $ctr < $total_row; $ctr++)
{
$opname = mysql_result($result,$ctr,"operation_name");
$i = strpos($opname," ",0);
$opname = substr($opname,$i);
echo "<th colspan='2' class='tdclass'>" . $opname . "<br /></th>";
}
echo "<th class='tdclass'>PLT Yield</th>";
echo "</tr>";
echo "<tr>";
echo "<td class='tdclass'></td>";
for($ctr=0; $ctr < $total_row; $ctr++)
{
echo "<td class='tdclass'>Input</td>";
echo "<td class='tdclass'>Output</td>";
}
echo "<td class='tdclass'>";
echo "</td>";
echo "</tr>";
}
$query = "SELECT DISTINCT p.plt_no FROM plt_transact p , traceability t WHERE p.plt_date BETWEEN '" . $_POST["from_date"] . "' AND '" . $_POST["to_date"] . "' AND t.shift = '". $_POST["shift"] ."' AND t.operation_name IN('01 Oper' , '02 Oper' , '03 Oper' , '04 Oper') AND p.plt_transact_id = t.plt_transact_id ";
$result_loop = mysql_query($query);
while($row = mysql_fetch_array($result_loop))
{
$loopctr += 1;
$plt_no = $row["plt_no"];
$query = "SELECT * FROM plt_transact WHERE plt_no = '$plt_no'";
$result_no = mysql_query($query);
if($result_no)
{
if(mysql_num_rows($result_no) > 0)
{
$chemicalweighing_input = 0;
$extrusion_output = 0;
$query = "SELECT SUM(t.input_qty) AS chemicalweighing_input FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='01 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $chemicalweighing_input = mysql_result($resultyield,0,"chemicalweighing_input");
}
$query = "SELECT SUM(t.output_qty) AS extrusion_output FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='04 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $extrusion_output = mysql_result($resultyield,0,"extrusion_output");
}
$PLT_yield = @($extrusion_output / $chemicalweighing_input) * 100;
$query = "SELECT d.operation_name, SUM(d.input_qty) AS inputqty, SUM(d.output_qty) AS outputqty FROM traceability d, plt_transact t WHERE t.plt_no = '$plt_no' AND t.plt_date BETWEEN '$from_date' AND '$to_date' AND d.shift = '$shift' AND d.plt_transact_id = t.plt_transact_id AND d.operation_name IN ('01 Oper', '02 Oper', '03 Oper' , '04 Oper') GROUP BY d.operation_name ORDER BY d.operation_name";
$result = mysql_query($query);
$total_row = mysql_num_rows($result);
if($result)
{
echo "<tr>";
echo "<td><strong>$plt_no</strong></td>";
if($total_row == 0)
{
echo "<td class='tdclass'>";
echo "</td>";
echo "<td class='tdclass'>";
echo "</td>";
}
for($ctr=0; $ctr < $total_row; $ctr++)
{
echo "<td class='tdclass'>";
echo number_format((mysql_result($result,$ctr,"inputqty")),2);
echo "</td>";
echo "<td class='tdclass'>";
echo number_format((mysql_result($result,$ctr,"outputqty")),2);
echo "</td>";
}
if($total_row < $total_columns)
{
for($ctr = 0; $ctr < ($total_columns - $total_row); $ctr++)
{
echo "<td class='tdclass'>";
echo "</td>";
echo "<td class='tdclass'>";
echo "</td>";
}
}
echo "<td class='tdclass'><strong>";
printf ("%01.2f", $PLT_yield);
echo "%</strong></td>";
echo "</tr>";
}
}
}
}
echo "</table>";
}
I don't know how can put the condition that you suggested.
Thank you
mehran
01-28-2011, 04:58 AM
that is the only why to go through it,
or you can validated it through certain other wayes,
like if you want
if(($_post['from_date'] !="")&&($_post['to_date'] !="") || ($_post['shift'] !=""){
code here
}
rhodarose
01-28-2011, 07:17 AM
Here is my whole code:
if($_POST["from_date"] && $_POST["to_date"] && $_POST["shift"])
{
$from_date = mysql_real_escape_string($_POST['from_date']);
$to_date = mysql_real_escape_string($_POST['to_date']);
$shift = mysql_real_escape_string($_POST['shift']);
$query = "SELECT d.operation_name, SUM(d.input_qty) AS inputqty, d.input_unit, SUM(d.output_qty) AS outputqty, d.output_unit FROM traceability d, plt_transact t WHERE t.plt_date BETWEEN '$from_date' AND '$to_date' AND d.shift = '$shift' AND d.operation_name IN ('01 Oper', '02 Oper', '03 Oper', '04 Oper') GROUP BY d.operation_name, d.output_unit, d.input_unit ORDER BY d.operation_name";
$result = mysql_query($query);
if($result)
{
echo "<table cellspacing='2' style='font-family: arial narrow; font-size: 12px; border-width: 2px 2px 2px 2px; border-style: solid;'>";
echo "<tr>";
echo "<tr><b> From Date: " . $_POST['from_date'] . "</b></tr>";
echo "<tr><b> To Date: " . $_POST['to_date'] . "</b></tr>";
echo "<tr><b> Shift Date: " . $_POST['shift'] . "</b></tr>";
echo "<th class='tdclass'>PLT #</th>";
$total_row = mysql_num_rows($result);
$total_columns = $total_row;
for($ctr=0; $ctr < $total_row; $ctr++)
{
$opname = mysql_result($result,$ctr,"operation_name");
$i = strpos($opname," ",0);
$opname = substr($opname,$i);
echo "<th colspan='2' class='tdclass'>" . $opname . "<br /></th>";
}
echo "<th class='tdclass'>PLT Yield</th>";
echo "</tr>";
echo "<tr>";
echo "<td class='tdclass'></td>";
for($ctr=0; $ctr < $total_row; $ctr++)
{
echo "<td class='tdclass'>Input</td>";
echo "<td class='tdclass'>Output</td>";
}
echo "<td class='tdclass'>";
echo "</td>";
echo "</tr>";
}
$query = "SELECT DISTINCT p.plt_no FROM plt_transact p , traceability t WHERE p.plt_date BETWEEN '" . $_POST["from_date"] . "' AND '" . $_POST["to_date"] . "' AND t.shift = '". $_POST["shift"] ."' AND t.operation_name IN('01 Oper' , '02 Oper' , '03 Oper' , '04 Oper') AND p.plt_transact_id = t.plt_transact_id ";
$result_loop = mysql_query($query);
while($row = mysql_fetch_array($result_loop))
{
$loopctr += 1;
$plt_no = $row["plt_no"];
$query = "SELECT * FROM plt_transact WHERE plt_no = '$plt_no'";
$result_no = mysql_query($query);
if($result_no)
{
if(mysql_num_rows($result_no) > 0)
{
$chemicalweighing_input = 0;
$extrusion_output = 0;
$query = "SELECT SUM(t.input_qty) AS chemicalweighing_input FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='01 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $chemicalweighing_input = mysql_result($resultyield,0,"chemicalweighing_input");
}
$query = "SELECT SUM(t.output_qty) AS extrusion_output FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='04 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $extrusion_output = mysql_result($resultyield,0,"extrusion_output");
}
$PLT_yield = @($extrusion_output / $chemicalweighing_input) * 100;
$query = "SELECT d.operation_name, SUM(d.input_qty) AS inputqty, SUM(d.output_qty) AS outputqty FROM traceability d, plt_transact t WHERE t.plt_no = '$plt_no' AND t.plt_date BETWEEN '$from_date' AND '$to_date' AND d.shift = '$shift' AND d.plt_transact_id = t.plt_transact_id AND d.operation_name IN ('01 Oper', '02 Oper', '03 Oper' , '04 Oper') GROUP BY d.operation_name ORDER BY d.operation_name";
$result = mysql_query($query);
$total_row = mysql_num_rows($result);
if($result)
{
echo "<tr>";
echo "<td><strong>$plt_no</strong></td>";
if($total_row == 0)
{
echo "<td class='tdclass'>";
echo "</td>";
echo "<td class='tdclass'>";
echo "</td>";
}
for($ctr=0; $ctr < $total_row; $ctr++)
{
echo "<td class='tdclass'>";
echo number_format((mysql_result($result,$ctr,"inputqty")),2);
echo "</td>";
echo "<td class='tdclass'>";
echo number_format((mysql_result($result,$ctr,"outputqty")),2);
echo "</td>";
}
if($total_row < $total_columns)
{
for($ctr = 0; $ctr < ($total_columns - $total_row); $ctr++)
{
echo "<td class='tdclass'>";
echo "</td>";
echo "<td class='tdclass'>";
echo "</td>";
}
}
echo "<td class='tdclass'><strong>";
printf ("%01.2f", $PLT_yield);
echo "%</strong></td>";
echo "</tr>";
}
}
}
}
echo "</table>";
}
I don't know how can put the condition that you suggested.
Thank you
rhodarose
02-02-2011, 12:28 AM
Good day!
Thank you for the suggested logic and code. By the way here is my whole code:
<?php
elseif($_POST["from1_date"] && $_POST["to1_date"] && $_POST["shift1"])
{
$from_date = mysql_real_escape_string($_POST['from1_date']);
$to_date = mysql_real_escape_string($_POST['to1_date']);
$shift = mysql_real_escape_string($_POST['shift1']);
$Batch_yield = 0;
$c_input = 0;
$co_output = 0;
$loopctr = 0;
$totalloop = 0;
$query = "SELECT d.operation_name, SUM(d.input_qty) AS inputqty, SUM(d.output_qty) AS outputqty FROM traceability d, plt_transact t WHERE t.plt_date BETWEEN '$from_date' AND '$to_date' AND d.shift = '$shift' AND d.operation_name IN ('01 Oper', '02 Oper', '03 Oper', '04 Oper' , '05 Oper' , '06 Oper' , '07 Oper', '08 Oper' , '09 Oper' , '10 Oper') GROUP BY d.operation_name ORDER BY d.operation_name";
$result = mysql_query($query);
if($result)
{
echo "<table cellspacing='2' style='font-family: arial narrow; font-size: 12px; border-width: 2px 2px 2px 2px; border-style: solid;'>";
echo "<tr>";
echo "<tr><b> From Date: " . $_POST['from1_date'] . "</b></tr>";
echo "<tr><b> To Date: " . $_POST['to1_date'] . "</b></tr>";
echo "<tr><b> Shift Date: " . $_POST['shift1'] . "</b></tr>";
echo "<th class='tdclass'>PLT #</th>";
$total_row = mysql_num_rows($result);
$total_columns = $total_row;
for($ctr=0; $ctr < $total_row; $ctr++)
{
$opname = mysql_result($result,$ctr,"operation_name");
$i = strpos($opname," ",0);
$opname = substr($opname,$i);
echo "<th colspan='3' class='tdclass'>" . $opname . "<br /></th>";
}
echo "<th class='tdclass'>Batch Yield</th>";
echo "</tr>";
echo "<tr>";
echo "<td class='tdclass'></td>";
for($ctr=0; $ctr < $total_row; $ctr++)
{
echo "<td class='tdclass'>Input</td>";
echo "<td class='tdclass'>Output</td>";
echo "<td class='tdclass'>Yield</td>";
}
echo "<td class='tdclass'>";
echo "</td>";
echo "</tr>";
}
$query = "SELECT DISTINCT p.plt_no FROM plt_transact p, traceability t WHERE plt_date BETWEEN '" . $_POST["from1_date"] . "' AND '" . $_POST["to1_date"] . "' AND t.shift = '" . $_POST["shift1"] . "' AND p.plt_transact_id = t.plt_transact_id";
$result_loop = mysql_query($query);
while($row = mysql_fetch_array($result_loop))
{
$loopctr += 1;
$plt_no = $row["plt_no"];
$query = "SELECT * FROM plt_transact WHERE plt_no = '$plt_no'";
$result_no = mysql_query($query);
if($result_no)
{
if(mysql_num_rows($result_no) > 0)
{
$chemical_input = 0;
$core_output = 0;
$query = "SELECT SUM(t.output_qty) AS c_input FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='01 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $c_input = $c_input + mysql_result($resultyield,0,"c_input");
}
$query = "SELECT SUM(t.output_qty) AS co_output FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='10 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $co_output = $co_output + mysql_result($resultyield,0,"co_output");
}
$PLT_yield = @($co_output / $c_input) * 100;
$query = "SELECT SUM(t.input_qty) AS c_input FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='01 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $c_input = $chem_input + mysql_result($resultyield,0,"c_input");
}
$query = "SELECT SUM(t.output_qty) AS co_output FROM traceability t, plt_transact p WHERE t.plt_transact_id = p.plt_transact_id AND t.operation_name='10 Oper' AND p.plt_no = '$plt_no'";
$resultyield = mysql_query($query);
if($resultyield)
{
if(mysql_num_rows($resultyield) > 0) $co_output = $co_output + mysql_result($resultyield,0,"co_output");
}
$query = "SELECT d.operation_name, SUM(d.input_qty) AS inputqty, SUM(d.output_qty) AS outputqty FROM traceability d, plt_transact t WHERE t.plt_no = '$plt_no' AND t.plt_date BETWEEN '$from_date' AND '$to_date' AND d.shift = '$shift' AND d.plt_transact_id = t.plt_transact_id GROUP BY d.operation_name ORDER BY d.operation_name";
$result = mysql_query($query);
if($result)
{
echo "<tr>";
echo "<td><strong>$plt_no</strong></td>";
while($row2 = mysql_fetch_array($result))
{
echo "<td class='tdclass'>" . number_format($row2["inputqty"],2) . "</td>";
echo "<td class='tdclass'>" . number_format($row2["outputqty"],2) . "</td>";
$inputqty = $row2["inputqty"];
$outputqty = $row2["outputqty"];
$yield = @(($outputqty / $inputqty)*100);
echo "<td class='tdclass'>" . number_format($yield,2) . "</td>";
echo "</td>";
}
echo "<td style='text-align: right; font-weight: bold; font-family: Arial; font-size:10' class = 'tdclass' colspan='";
$loopctr = ($total_row * 2) + 20;
echo "$loopctr'>";
printf ("%01.2f", $PLT_yield);
echo "<strong>%";
echo "</td>";
echo "</tr>";
}
}
}
}
$Batch_yield = @($coresolutioning_output / $chem_input) * 100;
echo "<tr>";
echo "<td style='text-align: right; font-weight: bold; font-family: Arial; font-size:10' class = 'tdclass' colspan='";
$loopctr = ($total_row * 2) + 20;
echo "$loopctr'>Total Batch Yield: ";
printf ("%01.2f", $Batch_yield);
echo "<strong>%";
echo "</td>";
echo "</tr>";
echo "</table>";
}
?>
Where I don't know how can i used the codes that you suggested.
Thank you
In that code if i input from date, to date and shift the output display is correct the elseif condition was satisfied, but when i only input from date and to date no output display and I want to be output is all the data in the database where the date os from date and to date.
Thank you
djr33
02-02-2011, 12:57 AM
They have provided enough information: change the first line of your code (the if statement) as they suggested. See if that works.
Powered by vBulletin® Version 4.2.2 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.