رفتن به مطلب
  • 0

مشکل فراخوانی دیتابیس آنلاین


aliakbar

سوال

دوستان سلام

من یه برنامه دارم که پنج تا پنل رو بوسیله حلقه در یک صفحه در اسکرول ویو نمایش میده که هر پنل حاوی سه تا لیبل و یک تصویر هست من چندتا سوال داشتم :

1- چطوری میشه پنج تا پنج تا به این اسکرول  ، پنل اضافه کرد که سرعت برنامه کم نشه(مثل آپارات و دیوار) و تا آخرین ردیف دیتابیس آنلاین پیش بره؟؟ (اندازه اسکرول ویو باید تغییر بدم ؟ چی بزارم؟)

2- من وقتی اطلاعات فراخوان میشه مثلا ستون Name رو داخل یک متغییر میریزم و متن لیبل موجود در پنل رو برابر این لیبل قرار میدم ولی وقتی برنامه رو اجرا میکنم هیچی نمایش نمیده یا هم مینویسه NULL . وقتی لیبل رو تو حلقه میزارم ولاگ میگیرم هیچی درون متغییر نیست !!

تصاویر پیوست شد

 

01.PNG

 

 

 

02.PNG

 

03.PNG

 

 

 

 

 

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

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

ارسال‌های توصیه شده

سلام دوست عزیز،

برای سوال اول شما آموزش مبحث LIMIT در دیتابیس رو یاد بگیرید کاملا مسلط و متوجه موضوع میشید.

برای سوال دوم هم احتمالا یا مقدارتون همین مقداره(Null) یا خالیه! باید دیتابیس خودتون رو بررسی کنید ببینید مشکل چیه.

موفق باشید

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

من تو فایل پی اچ پی کوئری لیمیت رو نوشتم ، میخوام وقتی به آخر اسکرول رسید پنج تا پنل دیگه به اسکرول اضاف بشه ، و سایز اسکرول هم اضافه بشه؟؟؟

 

دیتابیس مشکل نداره ، تو قسمت اکتیویتی رسیوم لاگ میگیرم نتیجه رو میده بیرون ولی تو ساب کریت که مینویسم چیزی رو بالا نمیاره!!!

اصلا این روش من واسه انتقال اطلاعات درسته؟

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

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

۱- تو پنل ها فقط یک ردیف رو مینویسه (در هر پنج تا پنل یک اسم رو مینویسه)

۲- برای بار اول اجرا ، پنل ها خالی هستند و هیچ متنی درونشون وجود نداره و حتما صفحه باید رسیوم (resume) بشه تا اطلاعات بارگزاری بشه!!

راهکاری هست؟

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

سلام 

فرمودید:

((- برای بار اول اجرا ، پنل ها خالی هستند و هیچ متنی درونشون وجود نداره و حتما صفحه باید رسیوم (resume) بشه تا اطلاعات بارگزاری بشه!!))

 

عرض میکنم : این refresh رو چرا فقط در Sub Activity_Resume   قرار دادید؟!!

 

حتما اول کار باید این refresh رو  باید در Activity_Create یا جایی که میخواین کار بادیتابیس شروع بشه ودیتابیس فراخوانی بشه بگذارید .

 

لذا بار اول که برنامه اجرامیشه چیزی از دیتابیستون بالا نمیادونمایش داده نمیشه !

 

اینی هم که دستوراتتون فقط یکبار اجرا میشه ظاهرا بخاطر اینه که داخل Activity_Create گذاشتینشون !

و Activity_Create فقط یکبار اجرامیشه و از Timer استفاده کنید ببینید درست میشه یا نه؟!

 

نه البته اینی که حلقه فور نکست استفاده کردید که مثلا 4 تا پنل درست کنه که فقط یه پنل واحد درست میکنه !

چون اسامی پنل ها واحده فقط نرم افزار همه شونو یک پنل به حساب میاره ! میتونید یه شرط بگذارید توی هرارجاع یه نام جدید واسه پنل جدید بگذاره، مثلا اگه h=0 اسم پنل بشه panel0 اگه h=1 بشه panel1 و...

یعنی  dim panel2 as panel     رو تغییر بدهید .

کدهاتونو تصویری گذاشتین دیگه نمیشه اونو ریخت تو فایل واجراشون کرد و مشکلو پیداش کرد!اینجوری هم حوصله میخواد هی سطربه سطر خونده بشه وبررسی بشه !

موفق باشید

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

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

 

کد چک کردن قطع یا وصل بودن اینترنت چی هست؟

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

فیلم این لینک رو مطالعه فرمایید

 

بررسی اتصال به اینترنت هم چند روش متفاوته که خودتون درلینک زیر ملاحظه و مطالعه بفرمایید

بررسی اتصال اینترنت site:answercenter.ir - Google Search

 

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

دوستان سلام

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

<?php

	define('dsn','mysql:host=localhost;dbname=testbd;charset=utf8');
	define('username','root');
	define('password','');
	$pdo = new PDO(dsn,username,password);
	$stmt = $pdo->query('SELECT * FROM test_tbl ORDER by id DESC LIMIT 5 OFFSET 5 ');
	$a = array();
	while($row = $stmt->fetch()){
		array_push($a,array('id' => $row['id'] , 'name' => $row['name'],'city' => $row['city']));

	}
	echo json_encode($a);;
	$pdo = null;


?>

اما وقتی تو برنامه اسکرول رو به پایین میکشم فقط همون ستون ها نمایش داده میشه(فقط 5 تا 10 رو نشون میده در ادامه اسکرول) و در آخر به دستور جیسون گیر میده و میپره بیرون از برنامه.

 

من برای اینکه بتونم کنترل کنم تا چه عددی لیمیت کنه اومدم فایل پی اچ پی رو به این شکل تغییر دادم

<?php

	define('dsn','mysql:host=localhost;dbname=testbd;charset=utf8');
	define('username','root');
	define('password','');
	$pdo = new PDO(dsn,username,password);
	$stmt = $pdo->query('SELECT * FROM test_tbl ORDER by id DESC LIMIT 5 OFFSET "'.$_GET['idlimit'].'" ');
	$a = array();
	while($row = $stmt->fetch()){
		array_push($a,array('id' => $row['id'] , 'name' => $row['name'],'city' => $row['city']));

	}
	echo json_encode($a);;
	$pdo = null;


?>

 

وقتی تست کردم به fetch() گیر میده ، با این خطا

Fatal error: Uncaught Error: Call to a member function fetch() on boolean in C:\xampp\htdocs\test\limit.php:9 Stack trace: #0 {main} thrown in C:\xampp\htdocs\test\limit.php on line 9

 

چیکار باید بکنم؟

 

 

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...