PDA

View Full Version : مبتدی: ویرایش ، حذف



ostad_ccna
سه شنبه 08 تیر 1389, 21:57 عصر
سلام...
دوستان گلم کسی برنامه یا مقاله ای داره که نحوه ویرایش و حذف بانک اطلاعاتی رو با مثال توضیح داده باشه؟

* من یه فرم ساختم اطلاعات رو نمایش میده حالا میخوام جلوی هر رکوردی که نمایش داده شده یک دکمه ویرایش و یک دکمه حذف بیاد و و قتی ویرایش رو زدم بشه اونو ویرایش کرد و وقتی حذف رو زدم همون رکورد رو برام حذف کنه
لطفا راهنماییم کنید...

pashaie
سه شنبه 08 تیر 1389, 23:49 عصر
به اینجا یه سر بزن
http://www.phpro.org/tutorials/Easy-Access-With-PDO-CRUD.html

راستیش الان که نت رو میسرچیدم به یه سایت جالب برخوردم. یه فریم فورک ساده واسه CRUD با Ajax!
به نظر که جالب می یاد. یه سری هم بهش بزن
http://www.ajaxcrud.com/

این یه کد نمونه


<?php
$query = "SELECT * FROM `fields` ";
$result = mysql_query($query);
?>
<br />
<a class="asButton" href="?section=fields&action=add">جدید</a>
<table width="100%" class="adminTable" cellspacing="1">
<thead>
<tr >
<th width="5%">
ردیف
</th>
<th width="30%">
نام
</th>
<th width="55%">
شرح
</th>
<th width="10%">
عملیات
</th>
</tr>
</thead>
<tbody>
<?php
$cnt = 0;
$r = 1;
if(mysql_num_rows($result) > 0){
while($rec=mysql_fetch_assoc($result)){
$r = 1 - $r;
$cnt++;
echo <<< EOT
<tr class="row{$r}">
<td>
$cnt
</td>
<td>
<a href="?section=fields&action=edit&id={$rec['id']}">{$rec['name']} </a>
</td>
<td>
{$rec['description']}
</td>
<td>
<a href="?section=fields&action=del&id={$rec['id']}" onclick="return confirm('مطمئن هستید');">حذف</a>
</td>
</tr>
EOT;
}
}else{
echo <<< EOT
<tr>
<th colspan="10" align="center">
موردی یافت نشد
</th>
</tr>
EOT;
}

?>
</tbody>
</table>


بعد تو صفحه اصلی براساس section و action مشخص می کنم که چه کاری رو باید انجام بدم.

ostad_ccna
چهارشنبه 09 تیر 1389, 14:13 عصر
سلام
آقا من نوشتم اما یه مشکلی برخوردم
این ویرایش رو که میزنم اون مقداری که باید ویرایش بشه درون TXT ها قرار نمیگیره و وقتی یک مقدار تو اون قرار میدم و ثبت میزنم خیلی از رکورد هام اون مقدار جدید رو میگیرن لطفا کمکم کنید.فایلی که نوشتم در زیر پیوست کرده ام

pashaie
پنج شنبه 10 تیر 1389, 11:19 صبح
آقا من نوشتم اما یه مشکلی برخوردم
این ویرایش رو که میزنم اون مقداری که باید ویرایش بشه درون TXT ها قرار نمیگیره و وقتی یک مقدار تو اون قرار میدم و ثبت میزنم خیلی از رکورد هام اون مقدار جدید رو میگیرن لطفا کمکم کنید.فایلی که نوشتم در زیر پیوست کرده ام

آقا من کدت رو چک کردم
تو ویرایش که اطلاعات رو می آورد.
فقط تو ذخیره اطلاعات مشکل داشت که اونم حل شد.
واسه چک کردن برنامت هم از این جدول استفاده کردم

-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jul 01, 2010 at 07:04 AM
-- Server version: 5.1.36
-- PHP Version: 5.2.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `vs`
--

-- --------------------------------------------------------

--
-- Table structure for table `user`
--

CREATE TABLE IF NOT EXISTS `user` (
`code` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`family` varchar(50) NOT NULL,
`father` varchar(50) NOT NULL,
`shsh` varchar(50) NOT NULL,
`sodor` varchar(50) NOT NULL,
`tahol` varchar(50) NOT NULL,
PRIMARY KEY (`code`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`code`, `name`, `family`, `father`, `shsh`, `sodor`, `tahol`) VALUES
(2, 'n', 'm', 'vbcbcvb', '13256', '546', '456');



اینم از کد ویرایش شده (واسه راحتی خودم چک کردن لاگین بودن رو غیر فعال کردم :چشمک:)


<?php
session_start();
$_SESSION['login'] = "true";
if ($_SESSION['login'] == "true") {

mysql_connect("localhost", "root", "");
mysql_select_db("vs");
$query = mysql_query("select * from user")
or die ("Could not match data because ".mysql_error());

//
$num_rows = mysql_num_rows($query);


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php
if ($num_rows > 0 ) {

if($_GET['action'] == 'edit' && isset($_GET['code'])){

$query_edit = mysql_query("select * from user where code=".$_GET['code'])
or die ("Could not match data because ".mysql_error());
if(mysql_num_rows($query_edit)== 1)
$row_edit = mysql_fetch_row($query_edit);



echo '<br><p align=center>ویرایش کاربر</p>
<form action=user.php?action=regedit&code='.$_GET['code'].' method=post>
<table align="center" width="95%" cellpadding="0" border="0" bgcolor="#CC99FF">
<tr>
<td align=center ></td>
<td align=center ></td>
<td align=center >تاهل</td>
<td align=center >محل صدور</td>
<td align=center >شماره شناسنامه</td>
<td align=center >نام پدر</td>
<td align=center >نام خانوادگی</td>
<td align=center >نام</td>
<td align=center >code</td>
</tr>
<tr>
<td align=center ></td>
<td align=center ><input type="submit" name=regsubmit value=" ثبت "></td>
<td align=center ><input type=text name=tahol size=1 value='.$row_edit[6].'></td>
<td align=center ><input type=text name=sodor size=20 value='.$row_edit[5].'></td>
<td align=center ><input type=text name=shsh size=10 value='.$row_edit[4].'></td>
<td align=center ><input type=text name=father size=10 value='.$row_edit[3].'></td>
<td align=center ><input type=text dir=rtl name=family size=8 value='.$row_edit[2].'></td>
<td align=center ><input type=text dir=rtl name=name size=8 value='.$row_edit[1].'></td>
<td align=center ><input type=text name=code size=1 disabled value='.$row_edit[0].'></td>
</tr>
</table>
</form> ';

}
if($_GET['action'] == 'regedit' && isset($_GET['code'])){

$code = $_GET['code'];
$name = $_POST['name'];
$family = $_POST['family'];
$father = $_POST['father'];
$shsh = $_POST['shsh'];
$sodor = $_POST['sodor'];
$tahol = $_POST['tahol'];
$query_reg = mysql_query("UPDATE user SET name='$name', family='$family', father='$father', shsh='$shsh', sodor='$sodor' where code='$code'")
or die ("Could not match data because ".mysql_error());
echo "<h3>Updated!</h3>";
}


if($_GET['action'] == 'delete' && isset($_GET['code'])){

$query_delete = mysql_query("DELETE from user where code=".$_GET['code'])
or die ("Could not match data because ".mysql_error());
echo '<br><p align="center" class="style4">کاربر مورد نظر با موفقیت حذف شد</p>';
}
echo '<br><p class="style4" align="center">تعداد کاربران ثبت شده در سیستم : '.$num_rows.'</p>';




?>

<table width="95%" height="28" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#FFFFFF">
<tr bgcolor="#CCFFCC">
<td align="center" class="style4">حذف</td>
<td align="center" class="style4">ویرایش</td>
<td align="center" >تاهل</td>
<td align="center" >محل صدور</td>
<td align="center" >شماره شناسنامه</td>
<td align="center" >نام پدر</td>
<td align="center" >نام خانوادگی</td>
<td align="center" >نام</td>
<td align="center" >code</td>
</tr>

<?php

$query = mysql_query("select * from user");
for ($i = 0 ; $i < $num_rows ; $i++) {

$row = mysql_fetch_row($query);

echo "<tr>
<td align=center >
<a href=user.php?action=delete&code=".$row[0].">Del</a></td>
<td align=center >
<a href=user.php?action=edit&code=".$row[0].">Edit</a></td>
<td align=center >".$row[6]."</td>
<td align=center >".$row[5]."</td>
<td align=center >".$row[4]."</td>
<td align=center >".$row[3]."</td>
<td align=center >".$row[2]."</td>
<td align=center >".$row[1]."</td>
<td align=center >".$row[0]."</td>
</tr>";
}


?>

</table>
<?php
}
else
{
echo '<br><p align="center" class="style4">هیچ کاربری در سایت عضو نیست</p>';
}
?>

</td>
</tr>
<tr bgcolor="#CCCCCC">
<td height="44" colspan="6">&nbsp;</td>
</tr>
</table>
</body>
</html>
<?php
} else {
session_destroy();
header("Location: http://localhost/project/admin/");
};
?>


تغییر کلیدی، تغییر کد

$code = $_POST['code'];
به

$code = $_GET['code'];
تو زمان اعمال تغییرات هست