View Full Version : سوال: یک سوال خیلی ساده .
pro_mvb
دوشنبه 26 بهمن 1388, 15:45 عصر
سلام دوستان من یه سوال داشتم که ممکن برای شماها مسخره باشه اما خوب دلو زدب به دریا :قهقهه:
من یه برنامه ای نوشتم(اگه بشه بهش گفت برنامه) که کارش اینطوریه که یه select sql میزنه و محتویات DB رو در صفحه به من نشون میده حالا من میخوام وقتی این چیزایی که رو صفحه به من نشون داد رو روشون کلیک کردم بره توو یه پیج دیگه و اونجا مشخصات دیگه اونو بگه!
حالا موندم چطریو اوون محتویاتی که به من نشون میدرو یه کاری کنم که وقتی کلیک کرد اینطوری بشه( یعنی چطریو بهشون value بدم . که اگر کلیلک شد داخل فلان صفحه بشه؟؟؟؟؟؟؟؟؟؟ یه جوری باید لینک دارشم کرد و هم یه مقداری که در صفحه بعد بگیرم و دوباره یک select sql بزنم )
دوستان زیاد پیشرفته نگین مثل خر توو گل بمونما! :شیطان:
trustmiracle
دوشنبه 26 بهمن 1388, 18:23 عصر
خوب شما اول برای هر سطر از جدولتون (داده هاتون) باید یک کد یا کلمه کلیدی داشته باشین که حتما دارین. حالا وقتی می خواین اون سطر رو لینک دار کنید مقدار فیلد کلیدی رو به انتهای url اضافه کنید مثلا داده های شما بصورت زیر است:
کد نام نام خانوادگی
101 علی حبیبی
102 جواد محجوب
103 رضا میلانی
حالا فرض کن اسم اون صفحه دوم که می خواد زیر مشخصات رو ارائه بده SubPage باشه شما موقع نمایش کد از این دستور استفاده کن:
String url="SubPage.jsp?Code="+Code;
<a href=url>Code</a>
حالا تو صفحه دوم با دستور زیر مقدار کد رو می توانی بدست آوری (فکر کنم بصورت رشته بر می گرداند)
request.getParameter("Code");
من کد ها رو از تو یک ide کپی نکردم واسه همین ممکنه ارور داشته باشه. موقع نوشتنشون دقت کن. مثلا کد اول باید داخل <%%> قرار بگیره و خط دومش هم داخل out.print نوشته بشه.
pro_mvb
سه شنبه 27 بهمن 1388, 12:05 عصر
خوب شما اول برای هر سطر از جدولتون (داده هاتون) باید یک کد یا کلمه کلیدی داشته باشین که حتما دارین. حالا وقتی می خواین اون سطر رو لینک دار کنید مقدار فیلد کلیدی رو به انتهای url اضافه کنید مثلا داده های شما بصورت زیر است:
کد نام نام خانوادگی
101 علی حبیبی
102 جواد محجوب
103 رضا میلانی
حالا فرض کن اسم اون صفحه دوم که می خواد زیر مشخصات رو ارائه بده SubPage باشه شما موقع نمایش کد از این دستور استفاده کن:
String url="SubPage.jsp?Code="+Code;
<a href=url>Code</a>
حالا تو صفحه دوم با دستور زیر مقدار کد رو می توانی بدست آوری (فکر کنم بصورت رشته بر می گرداند)
request.getParameter("Code");
من کد ها رو از تو یک ide کپی نکردم واسه همین ممکنه ارور داشته باشه. موقع نوشتنشون دقت کن. مثلا کد اول باید داخل <%%> قرار بگیره و خط دومش هم داخل out.print نوشته بشه.
واقعا ممنون از جوابتون . خیلی مفید بود. راستش من زیاد html کار نکردم ( درحد یه فرم و کامندو تکستو عکسو این چیزا )
همش برام سوال بود که بالاخراه باید یه چیزی در url باشه (همون ID یا اینجا CODE ) که من اوون ID رو در صفحه بعد بگیرم و براش یه select بزنم تا بقیه مشخصاتشو بگیرم:لبخند:
فقط راستش یکمک گیج شدم . این که وقتی در صفحه اول که مثلا نام هست وقتی طرق با موس روی نام مثلا علی میره اوون پاین BROWSER لینکشو مینویه مثلا:
SubPage.jsp?Code=12
یا مثلا موس رو روی رضا که میبره مینویسه:
SubPage.jsp?Code=13
ایجا میخوام بودنم از کجا میفهمه که مثلا علی 12 و رضا 13 ( درواقع چون من درصفحه اولم یک SELECT دارم که مثلا نام هارو نشان بده خروجی هم به صورت یک استرینگ هست! چطوریه که وقتی روی اوون میبره میزنه 11 یا 12 ، که وقتی کلیک میکنه این مقدار به CODE اضافه میشه و در صفحه دوم گرفته میشه؟؟ )
به نظر من لینک باید یه خاصیتی داشته باشه (مثل hIDEN VALUE ) که وقتی موس روش قرار میگیره یه SELECT بر حسب اوون هیدن ولیو یا هر چیز دیگه ای که هست بزنه و مقدار CODE رو پیدا کنه. (البته این نظر من اگر این امکان هست بگین اسم اوون خاصیت لینک چیه)
معذرت که یکم دیر مطلبو میگیرم:خجالت:
manvaputra
سه شنبه 27 بهمن 1388, 12:58 عصر
به نظر من لینک باید یه خاصیتی داشته باشه (مثل hIDEN VALUE ) که وقتی موس روش قرار میگیره یه SELECT بر حسب اوون هیدن ولیو یا هر چیز دیگه ای که هست بزنه و مقدار CODE رو پیدا کنه. (البته این نظر من اگر این امکان هست بگین اسم اوون خاصیت لینک چیه)شما در واقع اين مقدار code رو خودت بش ميدي و قرار نيست جايي پيدا بشه همونطور كه دوست عزيزمون trustmiracle (http://barnamenevis.org/forum/member.php?u=46709) فرمودند شما كد مربوط به هر اسم رو تو دل لينكت جا ميدي و خودش به صفحه بعدي ارسال ميشه توي صفحه جديد هم كه با getpramatere مقدار code رو مي گيري و بر حسب اون اطلاعاتي رو كه مي خواي از بانكت بازيابي مي كني اون hidden value هم كه مي فرماييد كارش همينه دقيقا نقش همين code در مثال دوستمون رو بازي مي كنه
شما اگه امكانش هست كد هاي مربوط به گرفتن اصلاعات و نمايش اونا توي صفحه رو بزار اينجا ، تا بشه راحتتر راهنمايي كرد.
pro_mvb
سه شنبه 27 بهمن 1388, 16:49 عصر
شما كد مربوط به هر اسم رو تو دل لينكت جا ميدي و خودش به صفحه بعدي ارسال ميش
ممنون از جوابتون! :چشمک: :قلب:
فقط یه چیزی ، اگه من 500 تا نام داشته باشم باید تک تک اسم هارو ای دیشو لینک کنم (دستی باید بزنم 1 2 3 4 5 6... )
مثلا اگه یک جایی باشه که طرف اسم و مشخصاتشو وارد میکنه(اینسرت به دیتابیس) بعدا من میخوام مشخصاتشو با ااون روش که گفتم نشون بدم ، باید یه کد دوباره برای اوون بنویسم و از پیج رو آپدیت کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟:متفکر:
فکر کنم یه راهی باشه که از این حالت خلاص شد ! :متفکر:
بازم از جواباتون که خیلی عالی و مخصوصا سریع جواب میدین متشکرم:بوس:
:چشمک:
trustmiracle
سه شنبه 27 بهمن 1388, 18:38 عصر
نمی دونم منظورتون رو دقیقا متوجه شدم یا نه.
ولی اگر منظورتون این هست که هر وقت شخصی یک نام جدید رو اینسرت کرد شما هم باید یک کد جدید بهش بدید می توانید دو تا کار انجام بدید:
یا یک فیلد به عنوان کلید در نظر بگیرید (مثلا همون code) بعد نوع اون رو auto increment قرار بدید. بنابراین هر وقت که یک نام درج بشه این فیلد خود بخود مقدار دهی میشه و هر دفعه یکی از مقدار قبلی به اون اضافه میشه
یا اینکه نوع فیلد کلید رو مثلا بگذارید int. بعد هر وقت که کاربر خواست یک نام جدید را اضافه کنه مقدار فیلد کد مربوط به آخرین نام رو بگیرید یکی به اون اضافه کنید و بعد به همراه نامی که کاربر وارد کرده داخل جدول اضافه کنید
امیدوارم درست متوجه منظورتون شده باشم
manvaputra
سه شنبه 27 بهمن 1388, 19:49 عصر
فقط یه چیزی ، اگه من 500 تا نام داشته باشم باید تک تک اسم هارو ای دیشو لینک کنم (دستی باید بزنم 1 2 3 4 5 6... )
نه دوست عزيز دستي كه نه، شما وقتي داري ركورد ها رو بازيابي مي كني كه نمايش بدي قطعا داري از يه حلقه استفاده مي كني توي همون حلقه كه داري از ديتابس مي خوني به ازاي هر بار خوندن تو حلقه لينكتو براي نمايش تشكيل مي دي هر فيلدي هم كه مي خواي بش نسبت بدي همونجا انجام بده
ببين دوست عزيز بازم دارم مي گم تا كدت رو نذاري كه بررسي بشه از لحاظ ساختاري خيلي مشكل ميشه به نتيجه رسيد.
pro_mvb
سه شنبه 27 بهمن 1388, 20:53 عصر
دمتون گرم
آخه من کار خاصی نکردم که مثلا با دیدن کد متوجه بشین!
جواباتون بازم عالی بود!
واقعا از این که انقدر سریع و کاربردی پساخ میدین خیلی ممنونم:قلب:
manvaputra
چهارشنبه 28 بهمن 1388, 04:19 صبح
آخه من کار خاصی نکردم که مثلا با دیدن کد متوجه بشین!
هدف از گذاشتن كد ساده سازي روند حل مسئله مي باشد ، چون در اينصورت مثلا ميشه گفت اين كد رو توي فلان خط اظافه كند يا چيزي شبيه اين.
pro_mvb
جمعه 07 اسفند 1388, 13:41 عصر
sorry fengelish type mikonam (farsim kharabe)
salam
sharmande ye modati naboodam dg natoonestam kodamo bezaram , albate ghablan ham goftam kode khasi nist faghat ye selecte jdbc too jsp hast hamin ba in hal man mizaramesh:
<%@ page contentType="text/html;charset=windows-1252"%>
<%@page import="java.util.*" %>
<%@page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>home</title>
</head>
<body>
<%
String url;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = java.sql.DriverManager.getConnection("jdbc:odbc:myodbc","SYSTEM","MANAGER");
Statement statement = con.createStatement();
ResultSet rs= statement.executeQuery("select name from mytable");
while(rs.next())
{
String a= rs.getString("name");
url ="propertis.jsp?name="+a;
%>
<br/> <a href="<%= url %>">Code</a>
<%
}
statement.close();
con.close();
%>
</body>
</html>
دوستان راهنمایی کنین دیگه!:ناراحت:
اینطور که من چند جا دیدم ظاهرا نباید از این عبارت استفاده کنم:
<%=
که من برای مقدار دادن به لینکم ازش استفاده کردم:
<a href="<%= url %>">Code</a>
البته توو خود کد نگاه کنید بهتر متوجه میشید.
اگه راه دیگه ای هست هلپ کنین یا بگین چطوری از همین استفاده کنم طوری که باگ xss نداشته باشه:بوس:
pro_mvb
جمعه 07 اسفند 1388, 15:53 عصر
ino bebinin :
http://www.shop.ir
man ye site mesle in mikham besazam :D
pro_mvb
یک شنبه 09 اسفند 1388, 10:50 صبح
دوستان من 2 تا تاپیک زدم در هر دو هم سوال کردم اما اصلا کسی جواب نیمده! :گریه:
:عصبانی++::ناراحت::گیج:
sg.programmer
یک شنبه 09 اسفند 1388, 13:57 عصر
یک بار دیگه مشکل تونو بیان می کنید
pro_mvb
یک شنبه 09 اسفند 1388, 16:11 عصر
هم در صفحه قبل یک سوال کردم هم در این تاپیک:
http://barnamenevis.org/forum/showthread.php?p=921011#post921011
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.