PDA

View Full Version : جستجو، حذف، ویرایش، ثبت در یک صفحه



tanha2007
یک شنبه 04 شهریور 1386, 11:57 صبح
سلام.
من میخواهم جستجو، حذف، ویرایش، ثبت در یک صفحه داشته باشم، منظورم اینست که میخواهم در یک صفحه ببینم. چگونه باید عملکرد؟

farazjoonam
یک شنبه 04 شهریور 1386, 16:26 عصر
منظورتو نفهمیدم اما شاید این باشه که : تو Action فرمت باید یزنی Post و قسمت آدرس آدرس صفحه خودتو بزنی که مثلا اینه : test.php بعد برای Search مثلا
مینویسی : test.php?action=search و در صفحه test.php باید این کد رو بزنی :


if($action=="search"){
اتفاقات
}

mrrajabi
یک شنبه 04 شهریور 1386, 22:39 عصر
سلام
سوالتونو اگه میشه واضح تر بیان کنید.ولی میتونید 4 متغیر مخفی (hidden)داشته باشین و value‌هر کدوم هم یکی از همون 4 عملی باشه که گفتی.بعد سمت سرور چک کنی که مقدار ارسال شده توسط اون متغیرت چی هست و عمل مورد نظر رو انجام بدی.
کدهایی که برات می نویسم فقط یه راهنمائی هستن.


<inpute type='hidden' name='cmd' value='insert' />

<inpute type='hidden' name='cmd' value='delete' />


<inpute type='hidden' name='cmd' value='update' />
یکی هم برای جستجو




تا اینجا که Html هست.

مثلا 4 تا دکمه هم برای همون چهار عمل داری که تو رویداد onclick هر کدوم یه تابع رو صدا بزنی(با java script برای مقدار دهی cmd).
حالا هر عملی که خواستی انجام بدی یکدوم از تابع ها رو صدا بزنی.
مثلا insert.



<inpute type="button" value="insert" onclick="InsertItem();"


تابع جاوا اسکریپت برای مقدار دهی cmd و مشخص کردن عملیات سمت سرور



[/[function InsertItem()
{
document.getElementBYId("cmd").value = "insert";
'formname'.submit();
}
حالا سمت سرور هم چک کن اگه cmd=="insert" عملیات درج و اگه cmd=="delete" عملیات حذف و غیره...

tanha2007
دوشنبه 05 شهریور 1386, 10:09 صبح
سلام و تشکر از همکاری تان.
من یک بخش جستجو را آپلود نمودم،
در بخش بالا: مقدار ورودی برای جستجو
در بخش پایین: نمایش نتیجه جستجو

من میخواهم این ساختار را داشته باشم، ولی نمیدانم چطوری این کار صورت میگیرد

peyman1987
دوشنبه 05 شهریور 1386, 12:10 عصر
خوب شما action فرم جستجوتون رو روی فایل خودش تنظیم کنین و پایین فرمتون چک کنین اگه مقداری ارسال شده بود جستجو بکنه و نشون بده وگرنه هیچی نشون نده. کار سختی نیست. خیلی هم معموله بین برنامه نویسا.

tanha2007
دوشنبه 05 شهریور 1386, 12:28 عصر
تشکر.
ولی من تازه PHP را شروع کردم، میشه بیشتر توضیح دهید لطفا؟

cybercoder
دوشنبه 05 شهریور 1386, 12:35 عصر
دستورات HTML رو اگه درست استفاده کنی و دستورات PHP رو بینش صحیح قراربدی حل می شه به طور مثال


if (isse($_POST['search']))
// Do Search

و همین طور برای بقیه موارد

mrrajabi
دوشنبه 05 شهریور 1386, 12:38 عصر
سلام
ببین کارائی که میگمو خودتون یه کم تکمیل کنید و بکار ببرین.خوب تماشا کن.


<form name='frmName' method='post' action=''>

یعنی یه فرم داری که به صفحه ی خودت ارسال میکنه.
دکمه ی جستجو رو هم از نوع submit انتخاب کن.
بعد از اینکه دکمه ی جستجو رو زدی کدهای زیر رو بنویس :


if(isset($_post['tfSearch'])) {بقیه عملیات جستجو}

به همین سادگی و راحتی.البته tfSearch اسم textboxای هست که شمارتو وارد می کنی.

oxygenws
دوشنبه 05 شهریور 1386, 13:03 عصر
mrrajabi، مقادیر ِ اتریبیوت های تگ های html باید توی دابل کوت باشه، نه سینگل کوت!!!

mrrajabi
دوشنبه 05 شهریور 1386, 18:11 عصر
خب بله اینو دیگه همه شاید بدونن.حتی اونائی که تازه دست به صفحه کلید میزنن.
اینکه داخل تک کتیشن گذاشته شده یه اشتباه بخاطر اینه که همون اولشم گفتم فقط راهنمائی می کنم.یعنی اینکه شاید ایرادات جزئی داشته باشه و خودتون حلش کنید.
حالا فکر نمی کنم مطلب خیلی مهمی باشه که با توجه به سفارشات جناب آقای Inprise عزیز تشکر و قدردانی ویژه داشته باشه.
باتشکر از راهنمائی شما(مدیر سایت جناب آقای اکسیژن) برای موارد بعدی.
Mr.rD

musiox
دوشنبه 05 شهریور 1386, 23:13 عصر
یه نگاه به اینجا بندازین بد نیست .
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.google.com&charset=%28detect+automatically%29&doctype=Inline&group=0
بعد خواستین سینگل کوت بزارین خواستین دابل کوت بزارین .

peyman1987
سه شنبه 06 شهریور 1386, 00:28 صبح
دوستان سوال دوستمون رو فراموش کردیم. بهتره به موضوع اصلی تاپیک جواب بدیم.

دوست عزیز کد زیر یه نمونه ساده از این نوعی هست که شما میخواین. میتونین تغییرش بدین.



<HTML>
<BODY>
<FORM Action="index.php" Method="POST">
<INPUT Type="Text" Name="txtName">
<INPUT Type="Submit" Name="Submit" Value="Submit">
</FORM>
<?PHP
IF(ISSET($_POST['txtName']))
PRINT("Your name is:".$_POST['txtName']);
?>
</BODY>
</HTML>


این فایل رو با عنوان index.php ذخیره کنین و نتیجه رو ببینین.

tanha2007
سه شنبه 06 شهریور 1386, 07:36 صبح
تشکر از همه، ولی نمیدانم چرا اطلاعات رانمایش نمیدهد:




<HTML>
<BODY>
<FORM Action="SearchInSide.php" Method="POST">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td bordercolor="#000000">
<p align="center">
<select name="metode" size="1">
<option value="name">Name</option>
<option value="telephone">Telephone</option>
<option value="birthday">Birthday</option>
</select> <input type="text" name="search" size="25"> &nbsp;<br>
Search database: <input type="submit" value="Go!!" name="Go"></p>
</td>
</tr>
</table>
</div>
</form>

<center>
<table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000">
<tr>
<td width="60"><b>ID</b></td>
<td width="100"><b>Name</b></td>
<td width="70"><b>Telephone</b></td>
<td width="150"><b>Birthday</b></td>
</tr>
<?php
$hostname = "localhost"; // The Thinkhost DB server.
$username = "root"; // The username you created for this database.
$password = ""; // The password you created for the username.
$usertable = "details"; // The name of the table you made.
$dbName = "example"; // This is the name of the database you made.
MYSQL_CONNECT($hostname, $username, $password) OR DIE("DB connection unavailable");
@mysql_select_db( "$dbName") or die( "Unable to select database");
?>
<?php
//error message (not found message)begins
$XX = "No Record Found, to search again please try again";
//query details table begins
$query = mysql_query("SELECT * FROM details WHERE '$_POST[metode]' LIKE '$_POST[search]'% LIMIT 0, 50");
while ($row = @mysql_fetch_array($query))
{
$variable1=$row["id"];
$variable2=$row["name"];
$variable3=$row["telephone"];
$variable4=$row["birthday"];
//table layout for results
print ("<tr>");
print ("<td>$variable1</td>");
print ("<td>$variable2</td>");
print ("<td>$variable3</td>");
print ("<td>$variable4</td>");
print ("</tr>");
}
//below this is the function for no record!!
if (!$variable1)
{
print ("$XX");
}
//end
?>
</table>
</center>
</BODY>
</HTML>

peyman1987
سه شنبه 06 شهریور 1386, 14:20 عصر
خوب کد شما ایرادهایی داره. در ضمن توصیه میکنم همیشه کدتون رو مرتب بنویسین چون خودتون هم سردرگم نمیشین اینجا اونقدر کدتون نامرتب بود که خودتون هم جای درست علایم رو گم کرده بودین. اگر دیتابیس رو درست اخته باشین کد زیر باید کار کنه. بازم اگه مشکلی بود در خدمتم.



<HTML>
<BODY>
<FORM Action="SearchInSide.php" Method="POST">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td bordercolor="#000000">
<p align="center">
<select name="metode" size="1">
<option value="name">Name</option>
<option value="telephone">Telephone</option>
<option value="birthday">Birthday</option>
</select>
<input type="text" name="search" size="25"> &nbsp;
<br>
Search database: <input type="submit" value="Go!!" name="Go">
</p>
</td>
</tr>
</table>
</div>
</form>
<center>
<table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000">
<tr>
<td width="60"><b>ID</b></td>
<td width="100"><b>Name</b></td>
<td width="70"><b>Telephone</b></td>
<td width="150"><b>Birthday</b></td>
</tr>
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$usertable = "details";
$dbName = "example";
MYSQL_CONNECT($hostname, $username, $password) OR DIE("DB connection unavailable");
mysql_select_db($dbName) or die("Unable to select database");

$XX = "No Record Found, to search again please try again";
$query = mysql_query("SELECT * FROM details WHERE name LIKE '%".$_POST['search']."%' LIMIT 0, 50");

WHILE ($row = mysql_fetch_array($query))
{
$variable1=$row["id"];
$variable2=$row["name"];
$variable3=$row["telephone"];
$variable4=$row["birthday"];
print ("<tr>");
print ("<td>$variable1</td>");
print ("<td>$variable2</td>");
print ("<td>$variable3</td>");
print ("<td>$variable4</td>");
print ("</tr>");
}
if (!$variable1)
print ($XX);
?>
</table>
</center>
</BODY>
</HTML>

tanha2007
چهارشنبه 07 شهریور 1386, 08:19 صبح
دو باره سلام،
میخواستم بدونم بهترین روش برای ویرایش کردن چگونه است؟ اگر مثالی است دوستان لطف نمایند...

cybercoder
چهارشنبه 07 شهریور 1386, 10:27 صبح
بهترین روش برای ویرایش کردن چگونه است؟.

WYSYWIG Editors + Ajax Methods

tanha2007
چهارشنبه 07 شهریور 1386, 12:01 عصر
سلام دوست گرامی،
باید گفت که من با5 Php و 5 MySQL و Apachi کار میکنم، من منظورتان را درست متوجه نشدم، میشه لطف کنید بیشتر توضیح دهید... تشکر

jhoseinii
چهارشنبه 07 شهریور 1386, 13:54 عصر
اگه منظورتون محیط ویرایش محتوا برای کاربر برنامه ی شماست، دوستان

WYSYWIG Editors + Ajax Methods
رو پیشنهاد کردن که به نظر من هم انتخاب جالبیه

اما اگه منظورتون یه ادیتور برای خودتونه، که کد های خودتون رو بنویسید:
npp .. DW .. rapidphp .. adobe golive .. zend studio ...

tanha2007
چهارشنبه 07 شهریور 1386, 14:46 عصر
سلام.
من میخواهم اطلاعات وارده مربوط یک شخص بتوانم ویرایش نمایم، مثلا من مشخصات یک دانشجو را میخواهم ویرایش نمایم،اگر کدام مثالی است لطف نمایید...
تشکر

mrrajabi
چهارشنبه 07 شهریور 1386, 15:41 عصر
سلام.
این مواردی رو که شما دنبالشون هستین ،تمام و کمال در کلیپ های آموزشی مهرداد کیانیان قبلاً آپلود شده.می تونی اونارو دانلود کنی.چونکه بیشتر مطالب رو با توجه به صحبتهای گفته شده از طرف شما تقریباً شامل میشه.
این فیلم هارو از آدرس www.itce.ir و یا http://www.computerunion.blogfa.com/cat-24.aspxدانلود کنی.مطمئن باشین که به دردتون می خوره.

tanha2007
پنج شنبه 08 شهریور 1386, 12:36 عصر
تشکر زیاد از لینکهای آموزشی...

hentjanson
دوشنبه 26 شهریور 1386, 01:59 صبح
سلام من یا فرم دارم که اطلاعات میگیره و در یک صفحه دیگه این اطلاعات رو در یک جدول چاپ می کنیم حالا می خوام این اطلاعات رو ویرایش کنم یعنی یه فرم ویرایش داشته باشم برای اصلاح اطلاعاتم لطفا کمکم کنید

mrrajabi
سه شنبه 27 شهریور 1386, 09:41 صبح
در فرمی که اطلاعات را نمایش می دهید ,وقتی روی هر سطر کلیک می کنید آید اون سطر رو در یک متغیر سراسری بذارید(جاوا اسکریپت) و مثلاً وقتی روی دکمه ی ویرایش کلیک می کنید در سمت کاربر با جاوا اسکریپت یک prmpt باز شود که مقادیر جدید را طلب کند و اگر دکمه ی ok زده شد در سمت سرور بهنگام سازی هاتونو انجام بدین و در صورت انجام عملیات یک ÷یام برای کاربر صادر کنید.
البته این مطالب شاید گنگ باشه که یکم روش فکر کنید می بینید خیلی خیلی ساده و ابتدائی است.