baran.f.a
پنج شنبه 09 مهر 1394, 11:51 صبح
سلام
سوالی داشتم . من فرمی دارم تحت عنوان بارنامه در این فرم قراره یک سری دستگاه ها با شماره سریالی خاص برای افراد مختلف ارسال بشه در این فرم می خوام با هر بار ئارد کردن شماره سریال دوکار رو انجام بده 1: یک insert و 2: یک select بعد از انجام این دوکار اطلاعات رو در یک جدول برای من نمایش بده تا بعد قابلیت چاپ رو داشته باشم .من با استفاده از jquery و json خواستم این کارو انجام بدم تو صفحه ی فرمم شماره سریالو با jquery به یک صفحه ی دیگه فرستادم تا اونجا کار insert در دیتابیس رو انجام بده بعد از اون در همون صفحه یک select انجام می ده و اطلاعاتو با json به صفحهی اول می بره و در یک جدول نمایش می ده .
من کار insert رو به خوبی نتیجه گرفتم ولی نمی تونم اطلاعات رو با select و json نمایش بدم حتی وقتی دستور select رو در اون صفحه می زارم کار insert هم انجام نمی شه . لطفا راهنماییم کنید . چند روزی هست که درگیرشم و متوجه نمی شم کجای کارم اشتباهه .
صفحه ی waybill.php
<form action="waybill_second.php" dir="rtl" style="margin-right:200px;" id="myform" method="get">
<p style="font-size:30px; font:Tahoma;">بارنامه شماره : <?php echo $waybill_id;?></p>
<label> نام تکنسین :</label>
<select name="technician" style="width:130px;" id="technician" checked="checked">
<option></option>
<?php
$sql = "SELECT * FROM user where permission='0'";
$rs = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($rs)){
echo "<option value='".$row["u_id"]."'>".$row["user_name"]." ".$row["user_family"]."</option>";
}
echo "</select>";
?>
</br></br>
<label>شماره سریال :</label>
<input type="text" name="name" id="name" style="width:130px;"/>
</br></br>
<span style="color:#006633"></span>
<table id="r" cellpadding="0" cellspacing="0" width="84%" >
<thead>
<tr>
<th>شماره سریال</th>
<th>کد پذیرنده</th>
<th>نام فروشگاه</th>
<th>شهر</th>
<th>آدرس</th>
<th>تلفن تماس</th>
<th>نام تکنسین</th>
<th>تاریخ خروج </th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script type="text/javascript">
var giCount = 1;
var date="<?php echo $out; ?>";
var waybill_id = "<?php echo $num; ?>";
$('#r').dataTable();
$(document).ready(function(){
$('#name').change(function(){
$.ajax({
type: 'POST',
url: 'waybill_js.php',
data: {
serial_code : $('#name').val(),
technician : $('#technician').val(),
waybill : waybill_id
},
dataType: "json",
success: function fnClickAddRow(JSONObject) {
for (var key in JSONObject) {
if (JSONObject.hasOwnProperty(key)) {
$('#r').dataTable().fnAddData( [
JSONObject[key]["serial"],
JSONObject[key]["merchant"],
JSONObject[key]["business_name"],
JSONObject[key]["city"],
JSONObject[key]["address"],
JSONObject[key]["mobile_number"],
JSONObject[key]["user_family"],
JSONObject[key]["departures"] ] );
$("#name").val('').focus();
giCount++;
}
}
},
error: function(){
alert('error');
}
});
});
});
$('#name').on('keyup', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) {
fnClickAddRow();
}
});
</script>
</br></br>
</form>
و صفحه ی waybill_js.php:
<?php
session_start();
require_once 'connect.php';
include_once('jdf.php');
connecttodb();
mysql_query('SET NAMES utf8');
$time=date('Y/m/d H:i:s');
$out=jdate('Ymd','','','','en');
$month=jdate('Ym','','','','en');
if(!empty($_POST['technician']) && !empty($_POST['serial_code']) && !empty($_POST['waybill'])){
$waybill=mysql_real_escape_string($_POST['waybill']);
$technican=mysql_real_escape_string($_POST['technician']);
$user_id=mysql_real_escape_string($_SESSION['user_id']);
$serial_code=mysql_real_escape_string($_POST['serial_code']);
$ins=mysql_query("insert into change_location (serial_code,terminal_code,merchant_id,psp_id,
departures_date,attribution_date,status,location,u ser_id,technician_id,month,waybill_id,update_date)
select pos.serial_code,pos.terminal_code,pos.merchant_id, pos.psp_id,'$out',pos. depatures_date,pos.status,'D','$user_id','$technic an','$month','$waybill','$time'
from pos
where pos.serial_code='$_POST[serial_code]'
and pos.status='3'")or die(mysql_error());
if($ins){
$select=mysql_query("select change_location.serial_code,change_location.mercha nt_id ,merchant.business_name,merchant.city,merchant.add ress,merchant.mobile_number,change_location.techni cian_id,
user.user_family,change_location.departures_date
from change_location
LEFT JOIN merchant
on merchant.m_id=change_location.merchant_id
LEFT JOIN psp
on psp.id=change_location.psp_id
LEFT JOIN user
on user.u_id=change_location.technician_id
where waybill_id='$waybill'
and serial_code='$_POST[serial_code]'") or die(mysql_error());
$someArray = [];
// Loop through query and push results into $someArray;
while ($row = mysql_fetch_assoc($select)) {
array_push($someArray, [
'serial' => $row['serial_code'],
'merchant' => $row['merchant_id'],
'business_name' => $row['business_name'],
'city' => $row['city'],
'address' => $row['address'],
'mobile_number' => $row['mobile_number'],
'user_family' => $row['user_family'],
'departures' => $row['departures_date'],
]);
}
// Convert the Array to a JSON String and echo it
$someJSON = json_encode($someArray);
echo $someJSON;
}
}
else {
echo "<script type=\"text/javascript\">
alert(\"لطفا تکنسین مورد نظر را انتخاب کنید ..\");
window.location = \"waybill.php\"
</script>";
}
?>
سوالی داشتم . من فرمی دارم تحت عنوان بارنامه در این فرم قراره یک سری دستگاه ها با شماره سریالی خاص برای افراد مختلف ارسال بشه در این فرم می خوام با هر بار ئارد کردن شماره سریال دوکار رو انجام بده 1: یک insert و 2: یک select بعد از انجام این دوکار اطلاعات رو در یک جدول برای من نمایش بده تا بعد قابلیت چاپ رو داشته باشم .من با استفاده از jquery و json خواستم این کارو انجام بدم تو صفحه ی فرمم شماره سریالو با jquery به یک صفحه ی دیگه فرستادم تا اونجا کار insert در دیتابیس رو انجام بده بعد از اون در همون صفحه یک select انجام می ده و اطلاعاتو با json به صفحهی اول می بره و در یک جدول نمایش می ده .
من کار insert رو به خوبی نتیجه گرفتم ولی نمی تونم اطلاعات رو با select و json نمایش بدم حتی وقتی دستور select رو در اون صفحه می زارم کار insert هم انجام نمی شه . لطفا راهنماییم کنید . چند روزی هست که درگیرشم و متوجه نمی شم کجای کارم اشتباهه .
صفحه ی waybill.php
<form action="waybill_second.php" dir="rtl" style="margin-right:200px;" id="myform" method="get">
<p style="font-size:30px; font:Tahoma;">بارنامه شماره : <?php echo $waybill_id;?></p>
<label> نام تکنسین :</label>
<select name="technician" style="width:130px;" id="technician" checked="checked">
<option></option>
<?php
$sql = "SELECT * FROM user where permission='0'";
$rs = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($rs)){
echo "<option value='".$row["u_id"]."'>".$row["user_name"]." ".$row["user_family"]."</option>";
}
echo "</select>";
?>
</br></br>
<label>شماره سریال :</label>
<input type="text" name="name" id="name" style="width:130px;"/>
</br></br>
<span style="color:#006633"></span>
<table id="r" cellpadding="0" cellspacing="0" width="84%" >
<thead>
<tr>
<th>شماره سریال</th>
<th>کد پذیرنده</th>
<th>نام فروشگاه</th>
<th>شهر</th>
<th>آدرس</th>
<th>تلفن تماس</th>
<th>نام تکنسین</th>
<th>تاریخ خروج </th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script type="text/javascript">
var giCount = 1;
var date="<?php echo $out; ?>";
var waybill_id = "<?php echo $num; ?>";
$('#r').dataTable();
$(document).ready(function(){
$('#name').change(function(){
$.ajax({
type: 'POST',
url: 'waybill_js.php',
data: {
serial_code : $('#name').val(),
technician : $('#technician').val(),
waybill : waybill_id
},
dataType: "json",
success: function fnClickAddRow(JSONObject) {
for (var key in JSONObject) {
if (JSONObject.hasOwnProperty(key)) {
$('#r').dataTable().fnAddData( [
JSONObject[key]["serial"],
JSONObject[key]["merchant"],
JSONObject[key]["business_name"],
JSONObject[key]["city"],
JSONObject[key]["address"],
JSONObject[key]["mobile_number"],
JSONObject[key]["user_family"],
JSONObject[key]["departures"] ] );
$("#name").val('').focus();
giCount++;
}
}
},
error: function(){
alert('error');
}
});
});
});
$('#name').on('keyup', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) {
fnClickAddRow();
}
});
</script>
</br></br>
</form>
و صفحه ی waybill_js.php:
<?php
session_start();
require_once 'connect.php';
include_once('jdf.php');
connecttodb();
mysql_query('SET NAMES utf8');
$time=date('Y/m/d H:i:s');
$out=jdate('Ymd','','','','en');
$month=jdate('Ym','','','','en');
if(!empty($_POST['technician']) && !empty($_POST['serial_code']) && !empty($_POST['waybill'])){
$waybill=mysql_real_escape_string($_POST['waybill']);
$technican=mysql_real_escape_string($_POST['technician']);
$user_id=mysql_real_escape_string($_SESSION['user_id']);
$serial_code=mysql_real_escape_string($_POST['serial_code']);
$ins=mysql_query("insert into change_location (serial_code,terminal_code,merchant_id,psp_id,
departures_date,attribution_date,status,location,u ser_id,technician_id,month,waybill_id,update_date)
select pos.serial_code,pos.terminal_code,pos.merchant_id, pos.psp_id,'$out',pos. depatures_date,pos.status,'D','$user_id','$technic an','$month','$waybill','$time'
from pos
where pos.serial_code='$_POST[serial_code]'
and pos.status='3'")or die(mysql_error());
if($ins){
$select=mysql_query("select change_location.serial_code,change_location.mercha nt_id ,merchant.business_name,merchant.city,merchant.add ress,merchant.mobile_number,change_location.techni cian_id,
user.user_family,change_location.departures_date
from change_location
LEFT JOIN merchant
on merchant.m_id=change_location.merchant_id
LEFT JOIN psp
on psp.id=change_location.psp_id
LEFT JOIN user
on user.u_id=change_location.technician_id
where waybill_id='$waybill'
and serial_code='$_POST[serial_code]'") or die(mysql_error());
$someArray = [];
// Loop through query and push results into $someArray;
while ($row = mysql_fetch_assoc($select)) {
array_push($someArray, [
'serial' => $row['serial_code'],
'merchant' => $row['merchant_id'],
'business_name' => $row['business_name'],
'city' => $row['city'],
'address' => $row['address'],
'mobile_number' => $row['mobile_number'],
'user_family' => $row['user_family'],
'departures' => $row['departures_date'],
]);
}
// Convert the Array to a JSON String and echo it
$someJSON = json_encode($someArray);
echo $someJSON;
}
}
else {
echo "<script type=\"text/javascript\">
alert(\"لطفا تکنسین مورد نظر را انتخاب کنید ..\");
window.location = \"waybill.php\"
</script>";
}
?>