PDA

View Full Version : سوال: مشكل ليست باكس!فوري!



marjane_abi
پنج شنبه 21 مرداد 1389, 16:33 عصر
با سلام به همه دوستان
من توي سايتم صفحه اي دارم با عنوان تنظيمات كاربري كه هر كاربر بعد از عضويت مي تونه اطلاعاتش و اونجا ويرايش كنه.توي اين صفحه يه سري text box دارم و يه سري list box
عمليات ويرايش براي textbox هام درست انجام مي شه ( البته به جز كد پستي كه نمي دونم چرا!)
اما براي listbox ها ويرايش انجام نميشه
فايل رو هم ضميمه كردم

اگه ممكنه راهنماييم كنيد
ممنون:قلب:

LORD AELX
پنج شنبه 21 مرداد 1389, 21:08 عصر
دوست عزیز من که حوصله ام نگرفت از منطق کد شما سر در بیاورم و آن را ببینم... این در مورد دیگر دوستان هم صدق می کند. شما برای حل مشکلتون لطف کنید فقط قسمتی از کد رو که مشکل داره، همین جا توی تگ [source] قرار بدهید و قسمت های اضافی و مربوط به ظاهر را از کد حذف کنید تا راحت تر بشه بررسی کرد.

موفق باشید :قلب:

marjane_abi
پنج شنبه 21 مرداد 1389, 22:08 عصر
ممنون از تذكرتون
اينم كد اصلي اش

<?php
include("PublicFunction.php") ;
$action =strtolower($_REQUEST["TypeAction"]) ;
switch ($action)
{
case '' :
$command ="Select * From user where username=$user";
$dt = ExecuteCommand($command);
$rowCount = mysql_num_rows($dt);
$row = mysql_fetch_row($dt);
echo(
'<div>
<form action="seeting_user.php?TypeAction=Edit" method="post" align="center">
<table>
<tr>
<td align="center">نام</td>
<td><input type="text" name="name" value="'.$row[0].'"/></td>
<td align="center">نام خانوادگي</td>
<td><input type="text" name="family" value="'.$row[1].'" /></td>
</tr><tr>
<td align="center">نام پدر</td>
<td><input type="text" name="fname" value="'.$row[2].'" /></td>
<td align="center">محل تولد</td>
<td><input type="text" name="bcity" value="'.$row[19].'" /></td>
</tr><tr>
<td align="center">شماره شناسنامه</td>
<td><input type="text" name="id" value="'.$row[8].'" /></td>
<td align="center">كد ملي</td>
<td><input type="text" name="ncode" value="'.$row[9].'" /></td>
</tr><tr>
<td align="center">جنسيت</td>
<td><select name="sex" value="'.$row[13].'">
<option>مذكر</option>
<option>مونث</option>
</select></td>
<td align="center">تاريخ تولد</td>
<td>
<select name="day" value="'.$row[3].'">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="month" value="'.$row[4].'">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>

<select name="year" value="'.$row[5].'">
<option>1371</option>
<option>1370</option>
<option>1369</option>
<option>1368</option>
<option>1367</option>
<option>1366</option>
<option>1365</option>
<option>1364</option>
<option>1363</option>
<option>1362</option>
<option>1361</option>
<option>1360</option>
<option>1359</option>
<option>1358</option>
<option>1357</option>
<option>1356</option>
<option>1355</option>
<option>1354</option>
<option>1353</option>
<option>1352</option>
<option>1351</option>
<option>1350</option>
<option>1349</option>
<option>1348</option>
<option>1347</option>
<option>1346</option>
<option>1345</option>
<option>1344</option>
<option>1343</option>
<option>1342</option>
<option>1341</option>
<option>1340</option>
<option>1339</option>
<option>1338</option>
<option>1337</option>
<option>1336</option>
<option>1335</option>
<option>1334</option>
<option>1333</option>
<option>1332</option>
<option>1331</option>
<option>1330</option>
<option>1329</option>
<option>1328</option>
<option>1327</option>
<option>1326</option>
<option>1325</option>
<option>1324</option>
<option>1323</option>
<option>1322</option>
<option>1321</option>
<option>1320</option>
<option>1319</option>
<option>1318</option>
<option>1317</option>
<option>1316</option>
<option>1315</option>
<option>1314</option>
<option>1313</option>
<option>1312</option>
<option>1311</option>
<option>1310</option>
</select>

</td>
</tr><tr>
<td align="center">وضعيت تحصيلي</td>
<td><select name="academic" value="'.$row[17].'">
<option>درحال تحصيل</option>
<option>زير ديپلم</option>
<option>ديپلم</option>
<option>فوق ديپلم</option>
<option>ليسانس</option>
<option>فوق ليسانس</option>
<option>دكترا</option>
<option>فوق تخصص</option>
</select></td>
<td align="center">وضعيت نظام وظيفه</td>
<td><select name="sarbazi" value="'.$row[18].'">
<option>معاف از خدمت</option>
<option>پايان خدمت</option>
</select></td>
</tr><tr>
<td align="center">استان</td>
<td><input type="text" name="ostan" value="'.$row[14].'" /></td>
<td align="center">شهر/شهرستان</td>
<td><input type="text" name="city" value="'.$row[15].'" /></td>
</tr><tr>
<td align="center">كدپستي</td>
<td><input type="text" name="pcode" value="'.$row[16].'" /></td>
<td align="center">شماره تلفن</td>
<td><input type="text" name="tellno" value="'.$row[7].'" /></td>
</tr><tr>
<td align="center">تلفن همراه</td>
<td><input type="text" name="mobile" value="'.$row[6].'" /></td>
<td align="center">پست الكترونيك</td>
<td><input type="text" name="email" value="'.$row[10].'" /></td>
</tr><tr></tr>
<tr align="center">
<td></td>
<td></td>
<td align="center" ><input type="submit" name="btnSubmit" value="Edit "/></td>

</tr>
</table>
</form>
</div>');


break;
case 'edit' :
$name=$_REQUEST['name'];
$family=$_REQUEST['family'];
$fname=$_REQUEST['fname'];
$year=$_REQUEST['year'];
$month=$_REQUEST['month'];
$day=$_REQUEST['day'];
$id=$_REQUEST['id'];
$ncode=$_REQUEST['ncode'];
$sex=$_REQUEST['sex'];
$ostan=$_REQUEST['ostan'];
$city=$_REQUEST['city'];
$tellno=$_REQUEST['tellno'];
$mobile=$_REQUEST['mobile'];
$academic=$_REQUEST['academic'];
$email=$_REQUEST['email'];
$sarbazi=$_REQUEST['sarbazi'];
$bcity=$_REQUEST['bcity'];
$pcode=$_REQUEST['pcode'];
$command = "Update user set name='$name',family='$family',fname='$fname',day=' $day',month='$month',year='$year',mobile='$mobile' ,tellno='$tellno',id='$id',ncode='$ncode',email='$ email',sex='$sex',ostan='$ostan',city='$city',pcod e='$pcod',academic='$academic',sarbazi='$sarbazi', bcity='$bcity' where username = $user" ;
ExecuteCommand($command);
echo("Please Wait .....");
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=seeting_user.php">';
break;
}
?>

marjane_abi
جمعه 22 مرداد 1389, 10:58 صبح
يعني كسي نمي تونه مشكل من و حل كنه؟:گریه:

maysam.m
جمعه 22 مرداد 1389, 13:44 عصر
با سلام

دوست عزیز بهتر بود که کدها را داخل تگ http://barnamenevis.org/forum/images/editor/php.gif قرار میدادی تا بهتر بتونیم کدها را ببینیم.

در ضمن مشکلت را واضح تر توضیح بده. یعنی چی ویرایش نمیشه؟ یعنی موقعی که اطلاعات را ویرایش می کنی و دیتا را از دیتابیس میخونی اونها داخل چک باکس یا لیست باکس به نمایش در نمیاد؟

marjane_abi
جمعه 22 مرداد 1389, 15:03 عصر
سلام
من فرمي دارم كه در اون كاربر مي تونه تمام اطلاعاتي رو كه موقع ثبت نام وارد كرده رو ببينه و در صورت نياز اونا رو تغيير بده و مجددا در ديتابيس ذخيره كنه
براي بعضي از اين اطلاعات كاربر، مثل تاريخ تولد و وضعيت تحصيلي از ليست باكس استفاده كرده ام تا كاربر از توي ليست يك گزينه رو انتخاب كنه.
در صفحه اي كه الان دارم درباره اش حرف ميزنم ، وقتي كاربر مثلا بخواد وضعيت تحصيليش و تغيير بده ، تغييرات در ديتا بيس ثبت نمي شه...اما بقيه اطلاعات كه داخل text box وارد شده به راحتي در ديتابيس ذخيره مي شه
اميدوارم خوب توضيح داده باشم
:لبخندساده:

maysam.m
جمعه 22 مرداد 1389, 17:32 عصر
سلام
من فرمي دارم كه در اون كاربر مي تونه تمام اطلاعاتي رو كه موقع ثبت نام وارد كرده رو ببينه و در صورت نياز اونا رو تغيير بده و مجددا در ديتابيس ذخيره كنه
براي بعضي از اين اطلاعات كاربر، مثل تاريخ تولد و وضعيت تحصيلي از ليست باكس استفاده كرده ام تا كاربر از توي ليست يك گزينه رو انتخاب كنه.
در صفحه اي كه الان دارم درباره اش حرف ميزنم ، وقتي كاربر مثلا بخواد وضعيت تحصيليش و تغيير بده ، تغييرات در ديتا بيس ثبت نمي شه...اما بقيه اطلاعات كه داخل text box وارد شده به راحتي در ديتابيس ذخيره مي شه
اميدوارم خوب توضيح داده باشم
:لبخندساده:

خوب اینطوری بهتر شد :چشمک:
کدهای option یا همون لیست باکسی که گذاشته بودی را یه نگاه کردم. به نظرم در کدها اشتباه کردی. مثلا این یکی از گزینه های لیست باکسته:


<option>درحال تحصيل</option>
در صورتی که باید وِیژگی value را باید به آنها اضافه کنی. یعنی این طوری:

<option value="در حال تحصیل<"درحال تحصيل</option>
در واقع باید دیتایی که در قسمت value است را به فرم ارسال کنی.

کدهاتو اصلاح کن ببین مشکلت حل میشه. :لبخندساده:

marjane_abi
جمعه 22 مرداد 1389, 18:39 عصر
ممنون از جوابتون ولي به يه مشكل جديد برخوردم:گریه:

از اين دو تا خط ايراد ميگيره و نمي دونم چرا!


$rowCount= mysql_num_rows($dt);
$row=mysql_fetch_row($dt);


متن خطاش هم اينه

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\New Final\seeting_user.php on line 65

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wamp\www\New Final\seeting_user.php on line 66


و با وجود اين دو تا اخطار اصلا اطلاعات و نشون نمي ده:گریه:
اعصابم خرد شد از دست اين my sql هر دقيقه يه خطاي الكي ميده:عصبانی++:
به نظرتون چه كارش كنم؟
و اون راهي كه پيشنهاد دادين هم جواب نداد!

marjane_abi
جمعه 22 مرداد 1389, 22:05 عصر
من هنوز منتظر جواب دوستان هستما...
يكي به داد مشكل من برسه:گریه:

s_salavati2002
شنبه 23 مرداد 1389, 01:09 صبح
قبل ار هر چیزی تو فایل PublicFunction.php اون قسمت کانکت و از تابع در بیار بیرون



$connection = mysql_connect("localhost","root","");
if (!$connection)
{
echo("خطا در برقراري ارتباط با بانک") ;
exit;
}
mysql_select_db("all_info",$connection);
function ExecuteCommand($Qcommand)
{
$Qresult=mysql_query($Qcommand);
echo mysql_error();
return $Qresult;
}

چون کانکشنت فقط تو تابع میاد و دستورات بعدیت کار نمی کنه شاید مشکلت ازین باشه
ولی کلا کدت یه سری مشکلات داشت که بعدا باید رفعش کنی

ف

marjane_abi
شنبه 23 مرداد 1389, 14:47 عصر
سلام دوست عزيز
ممنون از راهنماييتون
ولي 3 تا نكته برام مبهمه...
1_
يعني فايل PublicFunction.php رو نياز ندارم؟
2_
يعني عمليات اتصال به ديتابيس توي همون فايل user_seeting.php انجام بشه؟
3_
اين كد ديگه چه مشكلاتي داره؟
ممنون ميشم اگه توضيح بدين برام

s_salavati2002
شنبه 23 مرداد 1389, 17:56 عصر
سلام دوست عزيز
ممنون از راهنماييتون
ولي 3 تا نكته برام مبهمه...
1_
يعني فايل PublicFunction.php رو نياز ندارم؟
2_
يعني عمليات اتصال به ديتابيس توي همون فايل user_seeting.php انجام بشه؟
3_
اين كد ديگه چه مشكلاتي داره؟
ممنون ميشم اگه توضيح بدين برام
تو فايل PublicFunction يهتابع داري كه با اون كوئري ميگيري
قسمت كانكشنتو بيار بالاي تابعت