الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أضيف سطر جديد للمنتجات؟

بدأه موظف في 24 مارس 2009 · 1 رد · 409 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته...

أحاول عمل صفحة تمثل قسم مشتريات لشركة مفترضة تنظم علاقة الشركة في مشترياتها مع الموردين للشركة، حيث يقوم أحد موظفي الشركة بالدخول على هذه الصفحة بإسم مستخدم و كلمة سر ثم إنشاء أمر شراء، حيث يحدد في تفاصيل أمر الشراء هذا من هو المورد للمنتجات المطلوبة، تاريخ أمر الشراء، المنتجات المطلوبة،...،إلخ.

واجهتني مشكلة عدم العلم المسبق بعدد المنتجات التي قد ينوي الموظف إدخالها بأمر الشراء، فكرت بالبداية بتخصيص عشرة حقول للمنتجات و بالتالي إلزام الموظف و شركته المفترضة بشرط أن كل أمر شراء سيكون أقصى عدد للمنتجات المسموح طلبها فيه هو عشرة منتجات!، لكن لم أجده حل عملي و لم يعجبني. بعد البحث وجدت في الإنترنت كود صفحة فيه javascript funtion تقوم بإضافة سطر جديد ليتم وضع تفاصيل المنتج فيه، و هو عين ما أبحث عنه و أريده الحمدلله. لكن عندما حاولت التدرب على الكود لدمجه بعدها في صفحتي وجدت أن دالة زيادة السطر هذه لا تعمل!، ولا أدري كيف أضبطها أو إن كان يتوجب كتابة كود PHP لاستدعائها أو ما شابه؟!.

أرفقت ملف الكود مع هذه المشاركة و هو ملف html فقط و ليس PHP، أتمنى إن كان أحد من الإخوة هنا يستطيع إلقاء نظرة على الملف لعله يجد أين المشكلة فيه و كيف أحل الأمر كي تعمل هذه ال javascript funtion و أتمكن بذلك من إضافة سطر جديد للمنتج.

شكراً جزيلاً،،،،

add_raw_test.rar

#2

هذا هو الكود للإحتياط:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Add Row</title>
</head>

<body><div id="wrap">

<div id="header">
<h1>Home Page</h1>
<p> </p>
<p> </p>
</div>

<div id="avmenu">
<h2 class="hide">Menu:</h2>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="create_po.php">Create PO</a></li>
<li> </li>
<h3>View Po's</h3>
<ul>

<li><a href="pending.php">Pending</a></li>
<li><a href="approved.php">Approved</a></li>
<li><a href="rejected.php">Rejected</a></li>
<li><a href="delivered.php">Delivered</a></li>
</ul>
<h3>Settings</h3>
<li><a href="departments.php">Departments</a></li>
<li><a href="suppliers.php">Suppliers</a></li>
<li><a href="java script:alert('Not yet implemented')">Users</a></li>
</ul>



</div>

<div id="extras">

</div>

<div id="content">
<font color="red"></font><br />
<script language="javascript" type="text/javascript">
function multiply() {
var total;
var temp;
total=0.00;
total=parseFloat(total);
for (var n = 0; n <= 1; n++)
{
if (checkNum(document.getElementsByName('qty[' + n + ']')[0].value) == 0) {
alert("Quantity is not a valid number.  Please try again.");
}
if (checkNum(document.getElementsByName('item_price[' + n + ']')[0].value) == 0) {
alert("Item Price is not a valid number.  Please try again.");
}

document.getElementsByName('total[' + n + ']')[0].value = document.getElementsByName('qty[' + n + ']')[0].value * document.getElementsByName('item_price[' + n + ']')[0].value;

document.getElementsByName('total[' + n + ']')[0].value=RoundTo2dp(document.getElementsByName('total[' + n + ']')[0].value);

temp = document.getElementsByName('total[' + n + ']')[0].value;
temp = parseFloat(temp);
total = total + temp;
total=parseFloat(total);
total=RoundTo2dp(total);
}
document.po_form.po_total.value = total;
}

function RoundTo2dp(X) { return Math.round(X*100)/100 }
function checkNum(data) {
var valid = ".0123456789�.";
var ok = 1;
var checktemp;
for (var i=0; i<data.length; i++)
{
checktemp = "" + data.substring(i, i+1);
if (valid.indexOf(checktemp) == "-1") return 0;
}
return 1;
}

function newLine() {
document.po_form.newline.value = '1';
document.po_form.submit();
}
</script>

<h2>Create / Edit PO:</h2>
<form action="create_po.php" method="post" name="po_form">
<table width="60%" cellpadding="1" cellspacing="0" border="1">
<tr><td class="datacol2">PO ID:</td><td class="datacol">New</td></tr>
<tr><td class="datacol2">PO Number:</td><td class="datacol"><input type="text" name="po_num" value="" size="20" maxlength="20"></td></tr>
<tr><td class="datacol2" width="30%">Department:</td><td class="datacol">
<select name="department" onClick="multiply()">

<option value="7" >Compta_vaat</option>
<option value="39" >d</option>

<option value="40" >Demo Department</option>
<option value="28" >fake</option>
<option value="15" >Happenings</option>
<option value="6" >ICT</option>
<option value="36" >informatica2</option>
<option value="41" >IT</option>
<option value="22" >Mailing</option>
<option value="5" >Marketing</option>
<option value="2" >Marketing</option>

<option value="24" >Mason Distribution</option>
<option value="25" >Mason Retail 2012</option>
<option value="19" >Payables</option>
<option value="4" >Plant 17</option>
<option value="29" >PMS</option>
<option value="20" >S Test</option>
<option value="3" >Sales</option>
<option value="38" >SGQ e PESQUISA</option>
<option value="17" >temp1</option>

<option value="37" >test</option>
<option value="21" >test</option>
<option value="26" >Thien Nguyen</option>
<option value="12" >total</option>
<option value="18" >Venezuela (Webmaster Server Hosting)</option>
<option value="35" >Ventas SYPSA</option>
<option value="8" >Wankas</option>
<option value="27" >younis</option>
</select>

</td></tr>
<tr><td class="datacol2">Supplier:</td><td class="datacol">
<select name="supplier" onClick="multiply()">

<option value="2" >Another Company Ltd.</option>
<option value="5" >Burtek</option>
<option value="9" >CACONNA</option>
<option value="10" >Company</option>
<option value="11" >Deli XL</option>
<option value="27" >dkfl</option>

<option value="25" >donkey dust</option>
<option value="28" >dskflskdjflkdsjjlkdsjflkdsjlfkdjslkfjlskj</option>
<option value="29" >fdgfdshfhfg</option>
<option value="14" >hlhoho</option>
<option value="18" >Home sale</option>
<option value="24" >IBM</option>
<option value="16" >Joe Blows</option>
<option value="12" >klosjefrance</option>
<option value="17" >Laptop</option>

<option value="31" >LP -1</option>
<option value="3" >Majestic Wines</option>
<option value="4" >Pants</option>
<option value="15" >Phlegm Productions, LLC</option>
<option value="30" >pro</option>
<option value="1" >Some Company Plc</option>
<option value="19" >Stemco</option>
<option value="26" >test</option>
<option value="21" >Test Company</option>

<option value="20" >vcb</option>
<option value="7" >Wstore</option>
<option value="13" >yu</option>
</select>
</td></tr>
</table>
<br />
<table width="100%" class="datalist" cellpadding="1" cellspacing="0" border="1">
<tr class="header"><td width="50%">Item</td><td>Unit Price</td><td>Qty</td><td>Total</td></tr>

<tr class="datarow"><td><input type="text" name="item_desc[0]" value="" size="40" maxlength="100" onchange="multiply()"></td><td><input type="text" name="item_price[0]" size="10" maxlength="20" value="" onchange="multiply()"></td><td><input type="text" name="qty[0]" value="" size="5" maxlength="10" onchange="multiply()"></td><td><input type="text" name="total[0]" size="10" disabled></td></tr>
<tr class="datarow2"><td><input type="text" name="item_desc[1]" value="" size="40" maxlength="100" onchange="multiply()"></td><td><input type="text" name="item_price[1]" size="10" maxlength="20" value="" onchange="multiply()"></td><td><input type="text" name="qty[1]" value="" size="5" maxlength="10" onchange="multiply()"></td><td><input type="text" name="total[1]" size="10" disabled></td></tr>
<tr class="totalrow"><td colspan="3" align="right">Total: </td><td><input type="text" size="10" name="po_total" id="po_total" disabled></td></tr>
</table>
<input type="hidden" name="lines" value="2">
<input type="hidden" name="newline" value="0">
<input type="hidden" name="data_action" value="save">
<a href="java script:newLine()">Add New Line</a><br />
<center><input type="submit" value="Save" onclick="multiply()"></center>
</form>
</div>

<div id="footer"></div>

</div>
</body>
</html>

مواضيع مشابهة