PDA

View Full Version : چک کردن از دیتابیس



regnom
یک شنبه 06 دی 1388, 17:41 عصر
با سلام به همه دوستان عزیز
مشکلی در رابطه با فرم و دیتابیس دارم
یک فرم میخوام که 1 شماره از بازدیدکننده بگیره بعد چک کنه که توی دیتابیس وجود داره یا نه..
اگه شماره وارد شده وجود داشت ارور بده که شماره تکراریه.
اگه وجود نداشت: 1- شماره رو توی دیتابیس وارد کنه 2- بازدیدکننده رو به یک صفحه دیگه منتقل کنه
واقعا به کمکتون احتیاج دارم
ممنون از همه :قلب:

rash44
یک شنبه 06 دی 1388, 22:28 عصر
سلام

اگه بازم مشکلی داشتی بگو



<?php
$num=$_POST['num'];
require_once('db.php');
$link=db_connect();
$sql="SELECT `id` FROM `tabel` WHERE `num`='$num'";
$result = db_query($sql);
$rows=mysql_num_rows($result);
if ($rows>='1') {
echo "<script>alert('شماره تکراری است')</script>";
echo "<meta http-equiv='refresh' content='0; URL=index.php'>";
} else {
$sql="INSERT INTO `tabel`(`num`) VALUES ('$num')";
$result = db_query($sql);
echo "<meta http-equiv='refresh' content='0; URL=index2.php'>";
}
db_close($db);
?>

regnom
دوشنبه 07 دی 1388, 00:11 صبح
rash44 (http://barnamenevis.org/forum/member.php?u=87635) خیلی ممنون
با این جواب کوتاه و کاملت واقعا منو علاقمند به یادگیری دیتابیس کردی
من اطلاعی از دیتابیس ندارم اما حتما میرم سراغش
فقط یک سوال؟!
من فرم html رو ساختم و خاصیت اکشنو رو هم به این فایل پی اچ پی شما متصل کردم و فراخوانی کردم این اومد:
Fatal error: Call to undefined function mysql_create_db() in C:\xampp\htdocs\db\db.php on line 15

فکر کنم چون دیتایبس نساختم! بلدم از phpmyadmin بسازم اما باید چطوری وارد این کد پی اچ پی کنم؟! مثلا اسم دیتابیس که ساختم test هست..باید چطوری متصل کنم؟
بازم تشکر میکنم:قلب:

afshin9032
دوشنبه 07 دی 1388, 00:26 صبح
با اجازه Rash كد را كمي تغيير دادم :چشمک:
نام ديتابيس را در زير به جاي DataBase Name در خط 6 بذار
به جاي mysql_user و mysql_password در خط 2 هم user و pass خودت رو بذار

<?php
$num=$_POST['num'];
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('ارتبازط با پايگاه داده برقرار نشد' . mysql_error());
}
$db_selected = mysql_select_db('DataBase Name', $link);
if (!$db_selected) {
die ('بانك اطلاعاتي انتخاب نشد' . mysql_error());
}
$sql="SELECT `id` FROM `tabel` WHERE `num`='$num'";
$result = mysql_query($sql);
$rows=mysql_num_rows($result);
if ($rows>='1') {
echo "<script>alert('شماره تکراري است')</script>";
echo "<meta http-equiv='refresh' content='0; URL=index.php'>";
} else {
$sql="INSERT INTO `tabel`(`num`) VALUES ('$num')";
$result = mysql_query($sql);
echo "<meta http-equiv='refresh' content='0; URL=index2.php'>";
}
mysql_close($link);
?>

regnom
دوشنبه 07 دی 1388, 03:07 صبح
افشین جان خیلی ممنون
اما سوالی که دارم اینه: مگه نباید دستور ایجاد یک جدول و فیلد رو هم اضافه کنیم؟ یا اینکه خودم باید یه جدول و فیلد اضافه کنم؟
فکر کنم این کد دستور اضافه کردن جدول و فیلد رو داشته باشه تکمیل میشه

ممنون افشین جان :قلب:

afshin9032
دوشنبه 07 دی 1388, 10:19 صبح
هر دو كار رو مي تونيد بكنيد
به نظرم شما اگه دستي خودت ايجاد كني بهتر ، مگر اينكه بخواهي يك install براي يرنامه ايجاد كني

regnom
دوشنبه 07 دی 1388, 10:55 صبح
هر دو كار رو مي تونيد بكنيد
به نظرم شما اگه دستي خودت ايجاد كني بهتر ، مگر اينكه بخواهي يك install براي يرنامه ايجاد كني



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

لطفتو فراموش نمیکنم:قلب:

rash44
دوشنبه 07 دی 1388, 11:56 صبح
سلام

کد sql دیتا بیس


CREATE TABLE `data` (
`id` int(11) NOT NULL auto_increment,
`num` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


این کد 1 جدول بنام data میسازه که شامل 2 فیلد id و num می باشد

ابتدا توی php my admin 1 دیتا بیس بساز و وارد دیتا بیس شو
بخش sql رو انتخاب کن و کد زیر رو توی اون بخش کپی بزن

regnom
دوشنبه 07 دی 1388, 12:35 عصر
واسه من اجرا نمیشه...یعنی وقتی فرم رو باز میکنم و عدد رو وارد میکنم باید چک کنه که نمیکنه و مستقیم وصل صفحه poll.html میشه...نه چک میکنه نه ثبت میکنه
این هم کد کامل:



<HTML>
<BODY>
<form method="POST" action="form.php">
<p>
<input type="text" name="num" size="20">
<input type="submit" value="Submit" >
</p>
</form>
</BODY>
</HTML>





<?php
$num=$_POST['num'];
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('ارتبازط با پايگاه داده برقرار نشد' . mysql_error());
}
$db_selected = mysql_select_db('db', $link);
if (!$db_selected) {
die ('بانك اطلاعاتي انتخاب نشد' . mysql_error());
}
$sql="SELECT `id` FROM `tabel` WHERE `num`='$num'";
$result = mysql_query($sql);
$rows=mysql_num_rows($result);
if ($rows>='1') {
echo "<script>alert('شماره تکراري است')</script>";

} else {
$sql="INSERT INTO `tabel`(`num`) VALUES ('$num')";
$result = mysql_query($sql);
echo "<meta http-equiv='refresh' content='0; URL=poll.htm'>";
}
mysql_close($link);
?>




CREATE TABLE `data` (
`id` int(11) NOT NULL auto_increment,
`num` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


تشکر از همه ی دوستان

rash44
دوشنبه 07 دی 1388, 12:42 عصر
سلام
برنامه رو بصورت کامل برات نوشتم و آپلود کردم

لینک دانلود ::

http://www.uplod.ir/download.php?file=525513

regnom
سه شنبه 08 دی 1388, 00:37 صبح
سلام
برنامه رو بصورت کامل برات نوشتم و آپلود کردم

لینک دانلود ::

http://www.uplod.ir/download.php?file=525513


عالی بود
وقتی کد رو چک کردم دیدم اینقدرها همه سخت نیست!
خیلی جالب بود
واقعا ممنون هم بخاطر کمک هم بخاطر تشویق
:قلب::قلب::قلب::قلب::قلب::قلب: