بررسی یک سری اطلاعات تو دیتابیس با php

  • شروع کننده موضوع
  • مدیر کل
  • #1

Admin2

لنگر انداخته
عضو کادر مدیریت
مدیر کل
ارسال‌ها
7,646
امتیاز
37,423
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1389
سلام
من تعدادی دیتا تو تیبل TableX دارم. دیتام هم چندتا ستون داره. ستون اولش ID هست که که شماره داره. شماره ها پراکنده هستند از 1 تا N. ولی خب مثلا این وسط ممکنه شماره 7 یا 10 یا ... نباشه. من میخوام یک حلقه بنویسم که از شماره 1 تا N ستون ID رو چک بکنه هرکجا آی دی مورد نظر من وجود نداشت یه کد دلخواهمو اجرا بکنه.
کسی بلده کدشو بنویسه؟
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر & شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نظر من اول یه کوئری بزن و اطلاعات رو از جدول بکش بیرون و بر اساس آی دی مرتب کن و بعد توی یه حلقه for از 1 تا n با شمارنده i و یه شمارنده هم برای آرایه اطلاعاتت j از صفر شروع کن ، شمارنده حلقه رو با آی دی jام آرایه اطلاعاتت مقایسه کن و اگه برابر بودن که j رو هم افزایش بده و اگه برابر نبودن کاری که می خوای انجام بدی رو بنویس و این بار دیگه j رو افزایش نده ...
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

الان مشکل چیه؟ به نظرم همین چیزی که گفتین رو فقط باید به کد دربیارین! همین!
اگر مشکلی جایی هستی به صورت مشخص بگید.

Poor coder: حتی مرتب‌سازی هم نمی‌خواد. نه؟ چون اطلاعات وقتی تو دیتابیس ذخیره می‌شن، فیلد IDشون به صورت automatic زیاد می‌شه. یعنی همیشه از ۱ شروع می‌شه تا ... و به ترتیب هم هست.
 
  • شروع کننده موضوع
  • مدیر کل
  • #4

Admin2

لنگر انداخته
عضو کادر مدیریت
مدیر کل
ارسال‌ها
7,646
امتیاز
37,423
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1389
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

خب مشکل اینه که کدشو بلد نیستم :)) منطقشو میدونم ولی چیزی از کدهای php و sql یادم نیست.
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از میم ح میم دال :
خب مشکل اینه که کدشو بلد نیستم :)) منطقشو میدونم ولی چیزی از کدهای php و sql یادم نیست.
آهان!!
:)) :D
خب من یه کد می‌نویسم می‌دم بهتون.
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر & شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از مهســـــــــــــا :
Poor coder: حتی مرتب‌سازی هم نمی‌خواد. نه؟ چون اطلاعات وقتی تو دیتابیس ذخیره می‌شن، فیلد IDشون به صورت automatic زیاد می‌شه. یعنی همیشه از ۱ شروع می‌شه تا ... و به ترتیب هم هست.
اون دیگه بستگی به سیاست های خودمون داره که پایگاه داده و آی دی رو چه جوری طراحی کرده باشیم اما عرف مخصوصا تو وب اینه که اینجوری که گفتید باشه ( من نتونستم این جا کد رو بزنم وگرنه می نوشتم و حالا دیگه مهسا خانوم دستشون درد نکنه و زحمت می کشن :) )
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php


کدها زشت و به هم ریخته می‌شدن اگر می‌خواستم بذارم اینجا.
به یاهو میلت فرستادم محمد.
 
  • لایک
امتیازات: MTHR
  • شروع کننده موضوع
  • مدیر کل
  • #8

Admin2

لنگر انداخته
عضو کادر مدیریت
مدیر کل
ارسال‌ها
7,646
امتیاز
37,423
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1389
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

خب از تگ کد اینجا استفاده کنید. آیکن شارپ بغل آیکن نقل قول. اینم کدی که مهسا نوشته گذاشتم اینجا.

کد:
<?php

		$host = '';
		$username = '';
		$password = '';
		$dbname = '';
		$tablename = '';
		$N = 100;/*Write your N*/
		
		$con = mysql_connect($host,$username,$password);
		if (!$con)
		  {
		  die('Could not connect: ' . mysql_error());
		  }
		mysql_select_db($dbname, $con);
		
		$query = "SELECT `id` FROM ". $tablename;
		$result = exQuery($query);
		var_dump($result);
		$j = 0;
		for ($i=1; $i <= $N;){
			for($j; $j<=sizeof($result);){
				if ((int)$result[$j]['id'] == $i){
					$j++;
					$i++;
					break;
				}
				else{
					$i++;
					break;
				}
			}
		}
		/*
		while(){
			while(){
			
			}
		
		}
		*/
		function exQuery($query){
			$result=mysql_query($query);
			$w=array();
			if($result=="") return null;
			while($row =@mysql_fetch_array($result)){
				$w[]=$row;
			}
			return $w;
		}
?>

اینو توضیح میدی یکم؟ من بخوام در صورت نبودن اون آی دی کد مورد نظرم رو وارد کنم کجاش باید بگذارم؟
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

ببخشید یه مقدار زیادی نابهینه و زشته احتمالا کده :D

محمد کد دومی که فرستادم رو ببین. نوشتم هرچی رو کجا باید بنویسی.


کد:
<?php

        /*Don't forget to fill these variables first!*/
        $host = '';
        $username = '';
        $password = '';
        $dbname = '';
        $tablename = '';
        $N = 100;/*Write your N*/
        
        $con = mysql_connect($host,$username,$password);
        if (!$con)
          {
          die('Could not connect: ' . mysql_error());
          }
        mysql_select_db($dbname, $con);
        
        $query = "SELECT `id` FROM ". $tablename;
        $result = exQuery($query);
        //var_dump($result);
        $j = 0;
        for ($i=1; $i <= $N;){
            for($j; $j<=sizeof($result);){
                if ((int)$result[$j]['id'] == $i){
                    $j++;
                    $i++;
                    break;
                }
                else{
                    /*
                        Type your code here.
                    */
                    $i++;
                    break;
                }
            }
        }
        
        function exQuery($query){
            $result=mysql_query($query);
            $w=array();
            if($result=="") return null;
            while($row =@mysql_fetch_array($result)){
                $w[]=$row;
            }
            return $w;
        }

        
        
?>



تو قسمت else همونجا که نوشتم Type your code here.
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر &amp; شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نظرم اگه n هم داینامیک بشه و مقدار max آی دی رو بگیره بهتره و هم این که اگه از این کد تو پروژه واقعی می خواید استفاده کنید از mysql برای پایگاه داده استفاده نکنید بهتره چون deprecated شده و بهتره از mysqli استفاده کنید یا این که اگه تو پروژتون شی گرا کد می زنید از PDO استفاده کنید که کار با داده ها هم راحت تر میشه ...
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از poor.coder :
به نظرم اگه n هم داینامیک بشه و مقدار max آی دی رو بگیره بهتره و هم این که اگه از این کد تو پروژه واقعی می خواید استفاده کنید از mysql برای پایگاه داده استفاده نکنید بهتره چون deprecated شده و بهتره از mysqli استفاده کنید یا این که اگه تو پروژتون شی گرا کد می زنید از PDO استفاده کنید که کار با داده ها هم راحت تر میشه ...
آره درسته. چون محمد گفت N من همینجوری زدم :D اگرنه این که شما می‌گید قطعا بهتره.
بعد یه چیزی! دیتابیس که دیگه دست من نیست...تصورم این بود که از mysql دارن استفاده می‌کنن. شاید اشتباه بوده تصورم.
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر &amp; شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

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

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر &amp; شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از مهســـــــــــــا :
آره درسته. چون محمد گفت N من همینجوری زدم :D اگرنه این که شما می‌گید بهتره. الان اون قسمتشو عوض می‌کنم.
بعد یه چیزی! دیتابیس که دیگه دست من نیست...تصورم این بود که از mysql دارن استفاده می‌کنن. شاید اشتباه بوده تصورم.
منظورم خود دیتابیس نیست و احتمالا وقتی با php کد می زنن از mysql استفاده می کنن و منظورم تکنولوژی وصل شدن به دیتابیس و کوئری زدن با php بود ، مثلا
mysql_connect
 
  • شروع کننده موضوع
  • مدیر کل
  • #14

Admin2

لنگر انداخته
عضو کادر مدیریت
مدیر کل
ارسال‌ها
7,646
امتیاز
37,423
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1389
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

این الان چیکار میکنه؟ من تستش کردم. کد رو زدم echo $i دقیقا از 1 تا N چاپ کرد.

sizeof واسه چیه اصلا؟
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از poor.coder :
منظورم خود دیتابیس نیست و احتمالا وقتی با php کد می زنن از mysql استفاده می کنن و منظورم تکنولوژی وصل شدن به دیتابیس و کوئری زدن با php بود ، مثلا
mysql_connect
آهان...
اینو نمی‌دونستم :) :D

به نقل از میم ح میم دال :
این الان چیکار میکنه؟ من تستش کردم. کد رو زدم echo $i دقیقا از 1 تا N چاپ کرد.

sizeof واسه چیه اصلا؟
sizeof سایز آرایه رو برمی‌گردونه یعنی تعداد ردیف‌های تو جدولتون رو برمی‌گردونه.

من با چند تا جدول تستش کردم ها :D تو قسمت if و else دوتا echo متفاوت بذارین بگین بهم چی می‌شه.

آهان یه چیزی. اگر اسم ستونتون ID هست تو اون آرایه که من اندیسو نوشتم 'id' شما بکنیدش 'ID'.
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر &amp; شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

ظاهرا کد درستیه و sizeof رو تو حلقه دوم احتمالا برای این استفاده کردن که j از تعداد آرایه بیشتر نزنه که overflow اتفاق بیفته اما چون حلقه اول رو i می چرخه ، بودنش فرقی نمی کنه
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر &amp; شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از مهســـــــــــــا :
آهان...
اینو نمی‌دونستم :) :D
شما Rubby می زنید؟!
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از poor.coder :
شما Rubby می زنید؟!
چی؟!
من با Ruby on rails کار می‌کنم. اونجا مدیریت دیتابیس رو شخص برنامه‌نویس انجام نمی‌ده. برای همین یه مقدار این چیزهارو نمی‌دونم :)‌
تو شرکت که با PHP کد می‌زنم همیشه mysql زده بودم و کسی چیزی بهم نگفته بود :D

من فکر کنم محمد اگر 'id' رو بکنه 'ID' درست بشه...
 
  • شروع کننده موضوع
  • مدیر کل
  • #19

Admin2

لنگر انداخته
عضو کادر مدیریت
مدیر کل
ارسال‌ها
7,646
امتیاز
37,423
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
1389
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

آره مشکل از اون ID بود.

الان من بخوام مقدار $i رو تو دیتابیس وارد کنم چجوری باید بزنم؟

کد:
mysqli_query($con,"INSERT INTO `dbX`.`TableX` (`id`, `number`) VALUES ('$i', '$i')");
میدونم مشکل از تک کوتیشن یا دابل کوتیشنه. درستش چجوریه؟ :D
 

poolia

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
197
نام مرکز سمپاد
شهيد رجايي
شهر
اسلامشهر
مدال المپیاد
كامپيوتر &amp; شيمي
دانشگاه
شهید بهشتی
رشته دانشگاه
علوم کامپیوتر
پاسخ : بررسی یک سری اطلاعات تو دیتابیس با php

به نقل از مهســـــــــــــا :
چی؟!
من با Ruby on rails کار می‌کنم. اونجا مدیریت دیتابیس رو شخص برنامه‌نویس انجام نمی‌ده. برای همین یه مقدار این چیزهارو نمی‌دونم :) ‌
تو شرکت که با PHP کد می‌زنم همیشه mysql زده بودم و کسی چیزی بهم نگفته بود :D

من فکر کنم محمد اگر 'id' رو بکنه 'ID' درست بشه...
منظورم Ruby بود یا همین فریم ورک Ruby on rails ، توی Ruby هم مدیریت دست برنامه نویسه اما چون شما با قریم وورک کار می کنید این قسمت تو دید شما نیست و شما فقط ازش استفاده می کنید ...
 
بالا