• 0
arastooms

دستور سرچ و if در دیتابیس آنلاین

سوال

با سلام به همه اساتید عزیز 
با توجه به اینکه من بسیار بسیار مبتدی هستم در زمینه php نیاز به کمک و راهنمایی اساتید دارم در زمینه زیر 

 

داده های مسئله : malih.gif 
من با بیسیک 4 کار میکنم 

یک هاست داریم و یک دیتابیس با یوزر و ... 

یک جدول 5 ستونی در دیتابیس داریم 

نام دیتابیس masterdb

نام جدول tbl1

نام ستونها  id / name / famil /codemeli/tel

 

خوب اومدم دربیسیک این مقادیر رو از کاربر میگیرم و با دستور و کتابخانه okhttputils2  ورژن 2و20

تمام این داده ها رو میفرستم به دیتابیس و کاملا منتقل میشه و میشینه تو دیتابیس

با این دستور 

jobadd.PostString("http://xxx.ir/xxxxx/xxxxxxxxxx.php","name="&name&"&famil="&famil&"&tel="&tel&"&codemeli="&codemeli)
 

حالا مشکل اینجاست

sorry.gif  sorry.gif  sorry.gif  sorry.gif  sorry.gif  sorry.gif

در دیتابیس باید کنترل کنم که اگر "" کد ملی "" codmeli 
تکراری بود 2تا کار انجام بده 

1-مقادریر مربوط به کد ملی تکراری رو  برگردونه به بیسیک با مشخصات موجود اون کد تکراری که من بتونم به کاربرم نشون بدم

مثلا بگم در یک مسیج 

این کد ملی قبلا به نام ..... و فامیل ..... و تلفن ...... ثبت شده است!

و دوم 

2- دیگه در دیتابیس ثبتش نکنه 

 

کد های من که تا اونجایی که این 4 پارامتر رو میگیره و میریزه تو دیتابی این ها هست 
ممنون میشم قسمت شرط کد نویسی و کنترل وجود "" کد ملی رو راهنماییم بفرمایید ""

$con = mysql_connect("localhost","xxxxxxx","xxxxxxx");
mysql_query("SET character_set_results=utf8,character_set_client=utf8,character_set_connection=utf8, character_set_database=utf8,character_set_server=utf8",$con);
mysql_select_db("xxxxxxxxxxx", $con);

mysql_query("SET CHARACTER SET utf8;");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");
///////////////////////////

$name = $_POST['name'];
$famil = $_POST['famil'];
$tel = $_POST['tel'];
$codmeli = $_POST['codmeli'];

//اینجا نیاز دارم چک کنم ببینم کد ملی ارسال شده در دیتابیس در ستون کد ملی هست یا نه
// اگر هست مقادیر متناظر با اون رو بفرستم به بیسیک برای نمایش به کاربر
//و اگر نیست
//خط زیر رو اجرا کنم و در دیتابیس ثبت کنم
//دقت کنید فقط و فقط میخام کد ملی چک بشه نه چیز دیگه ای

mysql_query("INSERT INTO tbl1 (name,famil,tel,codmeli) VALUES ('$name','$famil','$tel','$codmeli')");

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

3 پاسخ به این سوال تا کنون داده شده است

  • 0

 

با سلام به همه اساتید عزیز 

با توجه به اینکه من بسیار بسیار مبتدی هستم در زمینه php نیاز به کمک و راهنمایی اساتید دارم در زمینه زیر 

 

<?php

	error_reporting(0);
	$con = mysql_connect('127.0.0.1','root','');
	//$id=$_POST['id'];
	
	$user=$_POST['user'];
	$pass=$_POST['pass'];
	$name=$_POST['name'];
	$x=$_POST['x'];
	$y=$_POST['y'];
	$time=$_POST['time'];
	$date=$_POST['date'];
	$imei=$_POST['imei'];
	$showm=$_POST['showm'];
	$colorM=$_POST['colorM'];
	
	if($con){
		mysql_select_db('gps',$con);
		mysql_set_charset('utf8');
		
		
		$q="SELECT * FROM member where  user='$user' and pass='$pass'";
		$res1=mysql_query($q);
	
		$d2array = array();
		while(($row = mysql_fetch_assoc($res1)))
		$d2array[] = $row;
	
	
		if($d2array){

		
			echo "MOJUD AST";
			
			

			
		}
		else
		{
			
			$n="INSERT INTO member (user,pass,name,x,y,time,date,imei,showm,color) VALUES('$user','$pass','$name','$x','$y','$time','$date','$imei','$showm','$colorM')";
		
		if(mysql_query($n)){
			
			echo "Donein";
			
			}else{echo "Errorin";}	
		}
		
	}

 ?>

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

 

اول میاد select  میکنه با یه مقدار (من با یوزر و پسورد کار کردم شما کد ملی رو بذار) اگه وجود داشتپیام میده که موجود است

 

اگر وجود نداشت Insert  میکنه 

H@mid.RS و arastooms پسند شده است

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

تشکر میکنم از راهنمایی شما دوست عزیز 
ممکنه این قسمت کد رو یه توضیح مختصری بدید 
من این قسمت رو متوجه نمیشم ( با توجه به اینکه در php مبتدی هستم )

$d2array = array();
		while(($row = mysql_fetch_assoc($res1)))
		$d2array[] = $row;
	
	
		if($d2array){

		
			echo "MOJUD AST";
			
			

			
		}
		else
		{
			
			$n="INSERT INTO member (user,pass,name,x,y,time,date,imei,showm,color) VALUES('$user','$pass','$name','$x','$y','$time','$date','$imei','$showm','$colorM')";
		
		if(mysql_query($n)){
			
			echo "Donein";
			
			}else{echo "Errorin";}	
		}

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

 

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

ممکنه این قسمت کد رو یه توضیح مختصری بدید 

من این قسمت رو متوجه نمیشم ( با توجه به اینکه در php مبتدی هستم )

 

ببینید بهترین و سبکترین راه کار با دیتابیس آنلاین با php استفاده از فایل جیسون هست (امیدوارم بدونید چیه اگه رنه حتما یه سرچ بزنید خیلی مهمه واسه کارای آنلاین) 

 

من تو این قسمت 

$d2array = array();
		while(($row = mysql_fetch_assoc($res1)))
		$d2array[] = $row;
	
	
		if($d2array){

		
			echo "MOJUD AST";
		
		}

اومدم مقداری رو که با user , pass  گرفتم رو بررسی میکنم و تو یدونه آرایه میریزم  

 

حالا اگر این مقدار پر بود آرایم پر میشه (هر سطر درون یه خونه از ارایه)

 

میگم آگر آرایه پر بود ینی وجود داره پس کاری نکن و عبارت MOJUD AST  رو برگردون

 

در غیر این صورت (ینی وجود نداشته باشه) بیاد کار پایین رو انجام بده

	$n="INSERT INTO member (user,pass,name,x,y,time,date,imei,showm,color) VALUES('$user','$pass','$name','$x','$y','$time','$date','$imei','$showm','$colorM')";
		

ینی اینسرت رو انجام بده

 

 

قسمت زیر هم میگه اگه اینسرت موفق بود مقدار Donein رو بفرست اگر موفق نبود Errorin  بفرسته 

 

 

حالا شما سمت کاربر تو نرم افزار شرط بدارید که اگه برگشتی MOJUD AST بود ینی کد ملی(برای شما) وجود داشته و پیغام بده اگر Donein  بود ینی درست انجام شده  اگر Errorin بود ینی ی مشکلی داره

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط arastooms
      سلام به همه دوستان و عزیزان و اساتید در انجمن 
       
      قسمتی از برنامه من اکتیویتی سرچ هست که کار بر بین جملاتی که من در دیتابیس دارم یک کلمه رو در ادیت تکس مینویسه و من باید ببینم در کدام جمله هست و اون جملات رو در لیست ویو نمایش بدم
       
      من با گرفتن کلمه ( ورودی ) با کار بر مشکلی ندارم و با ادیت تکس اون رو میگیرم 
      و
      با سرچ در دیتابیس هم مشکلی ندارم و میتونم خط هایی رو که این کلمه وجود داره پیدا کنم 
      و لی 
      زمانی که در لیست ویو قصد نمایش دارم 
      به مشکل میخورم و میخام این جملات به ترتیب باشه 
      با یک مثال در زیر ادامه میدم 
       
      فرض میکنیم دیتابیس ما 10 سطر داره به صورت زیر و با همین ترتیب در پایین (( شماره ها آیدی ها هستند))
       
      1-من و حسام و محمد و علی به سینما رفتیم
      2-حسن و محمد به سینما رفتند
      3-علی  بستنی خرید
      4- محمد و علی هر دو ورزشکار هستند
      5- سمیه کلاس اول است
      6-خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند
      7-علی کجاست؟
      9-محمد رفته است علی را با حسین آشنا کند
      10-انجمن بسیار خوب است
       
      خوب حالا فرض میکنیم 
      کار بر در ادیت تکس کلمه " علی " رو جستجو کنه و دکمه جستجو رو بزنه 
      من از این کد استفاده کردم و اومدم جملاتی که علی داره رو به کار بر نشون دادم 
      CUR_1=SQL_1.ExecQuery("SELECT * FROM tbl1 WHERE jomleha LIKE '"&EditText1.text&"%'LIMIT 40 OFFSET 0") خوب اینجا میام و همه جملاتی که علی داره رو میگیرم 
      که به ترتیب از بالا به پایین میشه
       
       
      1-من و حسام و محمد و علی به سینما رفتیم
       
      3-علی  بستنی خرید
      4- محمد و علی هر دو ورزشکار هستند
       
      6-خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند
      7-علی کجاست؟
      9-محمد رفته است علی را با حسین آشنا کند
       
      در واقع 6 مورد پیدا میکنیم حالا باید در لیست ویو نایش داده بشه که با دستور زیر در لیست ویو نمایش میدم
      For i = 0 To CUR_F.RowCount-1 CUR_F.Position=i ListView1.AddSingleLine(CUR_F.GetString("jomle")) Next لیست ویو به این شکا میشه
      من و حسام و محمد و علی به سینما رفتیم علی بستنی خرید محمد و علی هر دو ورزشکار هستند خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند علی کجاست؟ محمد رفته است علی را با حسین آشنا کند مشکل اینجاست که:
       
      به ترتیب موجود در دیتابیس نمایش داده میشه 
      ولی من نیاز دارم به ترتیب ((  جای گاه )) کلمه (( علی )) در جمله مرتب شود 
      یعنی به صورت زیر
      علی کجاست؟ علی با پدرش و برادرش رفتند به بستنی فروشی و بستنی خریدند محمد و علی هر دو ورزشکار هستند محمد رفته است علی را با ماشین به منزل حسن ببرد تا با هم فوتبال بازی کنند من و حسام و محمد و علی به سینما رفتیم خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند  در واقع من نیاز دارم که طبق (( چندمین حرف در استرینگ و رشته مرتب بشه ))
      باید وقتی کار بر وارد میکنه علی بیام و عمع جملاتی که علی داره رو ببینم
      بعد بیام ببینم کلمه علی چندمین کاراکتر های اون جمله یا استرینگ هست 
      و بعد بع اون ترتیب از کمترین در لیست ویو نمایش بدم

      ممنون میشم راهنمایی بفرمایید
             
    • توسط H@mid.RS
      درود به دوستان

      به درخواست کاربر امیر در تاپیک زیر این سورس کد رو براتون نوشتم :

       

      http://basic4x.ir/topic/705-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D9%88-%D8%A7%D9%BE%D9%84%D9%88%D8%AF-%D9%81%D8%A7%DB%8C%D9%84/

       

      تمام امکانات رو در این سورس اضافه کردم

      شات :



       

      کد php که باید درون هاستتون بریزید(ایجاد محدودیت آپلود برا امنیت هاست) :


      <?php
      $extensions = array('.jpg', '.jpeg','.JPG', '.JPEG');
      $valid_extensions = '.jpg, .jpeg';
      $extension = strrchr($_FILES['uploaded_file']['name'], '.');
      if (!in_array($extension, $extensions))
      {
      die("Estensione Errore!");
      }
      $target_path = "uploads/";
      $dir=$target_path;
      $target_path2 = $target_path . basename( $_FILES['uploaded_file']['name']);
      $target = $target . basename( $_FILES['uploaded_file']['name']);
      $target_path2 = str_replace(".JPG", "/", $target_path2);
      $target_path2 = str_replace(".jpg", "/", $target_path2);
      $target_path2 = str_replace(".JPEG", "/", $target_path2);
      $target_path2 = str_replace(".jpeg", "/", $target_path2);
      //جلوگیری از تکرار
      mkdir("$target_path2",0755);
      $target_file_mod = imageExists($target,$target_path2);
      if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $target_path2 .$target_file_mod)) {
      echo " The file ". $target_file_mod ." has been uploaded";
      } else{
      echo "There was an error uploading the file, please try again!";
      }
      function imageExists($image,$dir1) {

      $i=1; $probeer=$image;

      while(file_exists($dir1.$probeer)) {
      $punt=strrpos($image,".");
      if(substr($image,($punt-3),1)!==("[") && substr($image,($punt-1),1)!==("]")) {
      $probeer=substr($image,0,$punt)."[".$i."]".
      substr($image,($punt),strlen($image)-$punt);
      } else {
      $probeer=substr($image,0,($punt-3))."[".$i."]".
      substr($image,($punt),strlen($image)-$punt);
      }
      $i++;
      }
      return $probeer;
      }
      ?>

      سورس کد پیوست شد

      سوالی بود در خدمتیم

      Upload Basic4X.IR.zip
      up_basic4x.php
    • توسط H@mid.RS


       

       

      همون طور که می دونید سمت سرور کد های ارسالی به سرور انلان می باشد

      ما می تونیم برنامه های فوق العاده پیشرفته با سمت سرور بسازیم

      ازجمله برنامه ها با دیتای انلاین و بازی های دارای مرحله ای که با وارد کردن اطلاعات به داخل برنامه بارگذاری می شوند

       

      ی سورس همراه با کد های PHP رو براتون قرار دادم تا با کار باهاشون بتونید بیشتر اشنا بشید

       

      البته دوست خوبم حسین با کد های PHP آشنایت بیشتری داره و حتما این بحث رو ادامه میدیم

      قابلیت های پروژه پیش رو :

      1-ثبت نام کاربر

      2-ورود

      3-مدیریت یا بارگذاری افرادی که ثبت نام کرده اند

      4-تغییر پسورد و ریست

      5-فراموشی پسورد

      و چیز های دیگر...

       

       

      هر گونه سوالی در مورد سورس یا کد های PHP داشتید مطرح کنید

       

      با ارزوی پیشرفت روز افزون

       



      php.zip
      Samte Server V 3.3 (Www.Basic4x.IR).zip