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

لیمیت دادن به دیتابیس انلاین


Siaic

سوال

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

من لیمیت دادن به دیتابیس افلاین بلدم

ولی الان میخوام دیتابیس انلاین رو لیمیت بدم و 10 تا 10 تا لود کنم

میشه یه سورس نمونه بدین

خیلی ضروریه

تشکر.

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

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

این کد رو نوشتم و تست کردم.

<?php
$id= $_POST['id'];
$conn = new mysqli("host", "user", "pass", "db");
$conn->set_charset("utf8");
if ($conn->connect_error) {
	echo "خطای پایگاه داده";
	die("");
	}
$sql="SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id;
$result = $conn->query($sql);
$myOut = array();
while($row = $result->fetch_assoc()) 
    $myOut[] = $row;
echo json_encode($myOut);	
?>

این مقادیر رو

"host", "user", "pass", "db"

جایگزین کن با اطلاعات سرورت

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

بعد هم که یادت باشه مقدار id رو از طریق پست بفرستی.

تموم

همین رو بزار تو یه فایل php

کار هم میکنه. تست هم کردم .

«موفق باشید.»

 

 

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

ببینید این db.php

<?php
$con = mysql_connect("localhost","یوزر","رمز");

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("اسم دیتابیس", $con)
?>

اینم show.php

<?php
require 'db.php';


$id= $_POST['id'];
$result = $con->query("SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id."");

if($result->num_rows > 0){
$myOut = array();
while($row = $result->fetch_assoc()){
    $satr = array();
    $satr['id'] = $row["id"];
    $satr['matn'] = $row["matn"];
    $satr['video_ax?'] = $row["video_ax?"];
    $satr['link_click?'] = $row["link_click?"];
    $satr['link_click'] = $row["link_click"];
    $satr['link_video'] = $row["link_video"];
    $satr['link_ax'] = $row["link_ax"];
    $satr['time'] = $row["time"];
    $satr['dat'] = $row["dat"];
    $satr['serial'] = $row["serial"];
    $satr['like_unlike'] = $row["like_unlike"];
    $myOut[] = $satr;
}
    echo json_encode($myOut);

}else{

    echo "ther is no data";

}

?>

ولی خطل زیر میده

Fatal error: Call to a member function query() on a non-object in /home/brocandi/public_html/mr_apps/show.php on line 6

 

چرا اینجوریه اخه

یوزر و پس هم درسته

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

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

ابتدا این اخطار رو که در مورد MySQL است رو بخون

Warning

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used

خب حالا اگه قصد استفاده از اونو دارین از لینک زیر توابعش رو ببینید.

http://php.net/manual/en/function.mysql-connect.php

ولی اگه قصد استفاده از MySQLi رو دارین از لینک زیر متدهاشو ببینید.

http://php.net/manual/en/class.mysqli.php

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

بهتره کد زیر رو جایگزون کنین

$conn = new mysqli("hostName", "UserName", "Password","dbName");
$conn->set_charset("utf8");
if ($conn->connect_error) 
	die("");
			
$sql="SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id
$result = $conn->query($sql);

//بقیه از کدهای شماست
if($result->num_rows > 0){
$myOut = array();
while($row = $result->fetch_assoc()){
    $satr = array();
    $satr['id'] = $row["id"];
    $satr['matn'] = $row["matn"];
    $satr['video_ax?'] = $row["video_ax?"];
    $satr['link_click?'] = $row["link_click?"];
    $satr['link_click'] = $row["link_click"];
    $satr['link_video'] = $row["link_video"];
    $satr['link_ax'] = $row["link_ax"];
    $satr['time'] = $row["time"];
    $satr['dat'] = $row["dat"];
    $satr['serial'] = $row["serial"];
    $satr['like_unlike'] = $row["like_unlike"];
    $myOut[] = $satr;
}
    echo json_encode($myOut);

}else{

    echo "ther is no data";

}

اگه تعداد فراخوانی هاتون زیاد نیست احتیاج به فایل db.php ندارین

منم استفاده نکردم

فقط اونو یوقت قاطی این کدها نکنین که بهم نریزه.

«موفق باشید.»

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

در 18 دقیقه قبل، amin.mn گفته است :

ابتدا این اخطار رو که در مورد MySQL است رو بخون

Warning

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used

خب حالا اگه قصد استفاده از اونو دارین از لینک زیر توابعش رو ببینید.

http://php.net/manual/en/function.mysql-connect.php

ولی اگه قصد استفاده از MySQLi رو دارین از لینک زیر متدهاشو ببینید.

http://php.net/manual/en/class.mysqli.php

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

بهتره کد زیر رو جایگزون کنین


$conn = new mysqli("hostName", "UserName", "Password","dbName");
$conn->set_charset("utf8");
if ($conn->connect_error) 
	die("");
			
$sql="SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id
$result = $conn->query($sql);

//بقیه از کدهای شماست
if($result->num_rows > 0){
$myOut = array();
while($row = $result->fetch_assoc()){
    $satr = array();
    $satr['id'] = $row["id"];
    $satr['matn'] = $row["matn"];
    $satr['video_ax?'] = $row["video_ax?"];
    $satr['link_click?'] = $row["link_click?"];
    $satr['link_click'] = $row["link_click"];
    $satr['link_video'] = $row["link_video"];
    $satr['link_ax'] = $row["link_ax"];
    $satr['time'] = $row["time"];
    $satr['dat'] = $row["dat"];
    $satr['serial'] = $row["serial"];
    $satr['like_unlike'] = $row["like_unlike"];
    $myOut[] = $satr;
}
    echo json_encode($myOut);

}else{

    echo "ther is no data";

}

اگه تعداد فراخوانی هاتون زیاد نیست احتیاج به فایل db.php ندارین

منم استفاده نکردم

فقط اونو یوقت قاطی این کدها نکنین که بهم نریزه.

«موفق باشید.»

دادش اینارو نشون داد

 

$conn = new mysqli("localhost", "یوزر", "رمز","اسم دیتابی"); $conn->set_charset("utf8"); if ($conn->connect_error) die(""); $sql="SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id $result = $conn->query($sql); if($result->num_rows > 0){ $myOut = array(); while($row = $result->fetch_assoc()){ $satr = array(); $satr['id'] = $row["id"]; $satr['matn'] = $row["matn"]; $satr['video_ax?'] = $row["video_ax?"]; $satr['link_click?'] = $row["link_click?"]; $satr['link_click'] = $row["link_click"]; $satr['link_video'] = $row["link_video"]; $satr['link_ax'] = $row["link_ax"]; $satr['time'] = $row["time"]; $satr['dat'] = $row["dat"]; $satr['serial'] = $row["serial"]; $satr['like_unlike'] = $row["like_unlike"]; $myOut[] = $satr; } echo json_encode($myOut); }else{ echo "ther is no data"; 

 

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

راستش من اصلا از php سر در نمیارم

اندرویدم زیاد بلد نیستم

لطفا یه db.php و یه show.php بهم بدین که رکوردهای دیتابیسم بتونم تو اپ نشون بدم همراه لیمیت دادن 

مرسی

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

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

آبروم داره میره

آخه کاری که من دارم میکنم پیش پا افتاده چون اطلاعاتم ضعیف مشکل میخورم

لطفا  یه کاری کنین برام

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

درود

نمونه کد عینا کپی و past میکنم.... تجزیه و تحلیل بر عهده خودتون چون توضیحش واقعا وقت گیره :

این کد show.php که البته فایل db.php رو دیگه نمیزارم چون خودتون میفهمید چیه دیگه...

<?php
require 'db.php';


$id= $_POST['id'];
$result = $con->query("SELECT * FROM tbl ORDER BY id DESC LIMIT 3 OFFSET ".$id."");

if($result->num_rows > 0){
$myOut = array();
while($row = $result->fetch_assoc()){
    $satr = array();
    $satr['id'] = $row["id"];
    $satr['name'] = $row["name"];
    $satr['film'] = $row["film"];
    $satr['ax'] = $row["ax"];
    $satr['tozih'] = $row["tozih"];
    $satr['hajm'] = $row["hajm"];
    $myOut[] = $satr;
}
    echo json_encode($myOut);

}else{

    echo "ther is no data";

}

?>

 

 

این هم کل کد Activity که واسه شما مورد نیازه :

Sub Globals
	Private btnAction As Button
	Private btnTanz As Button
	Private ImageView1 As ImageView
	Private Label1 As Label
	Private panelItems As Panel
	Dim glide As AriaGlide
	Dim ht As HttpJob
	Private ScrollView1 As ScrollView
	Dim top As Int = 5dip
	Dim offset As Int = 0
	Dim b As Boolean = True
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	ht.Initialize("ht",Me)
	ht.PostString("http://yoursite.ir/qqq/show.php","id=" & offset)
End Sub

Sub ScrollView1_ScrollChanged(Position As Int)
If ScrollView1.ScrollPosition+ScrollView1.Height=ScrollView1.Panel.Height Then
	If b = True Then
		offset = offset + 3
		ht.Release
		ht.PostString("http://yoursite.ir/qqq/show.php","id=" & offset)
		b = False
	End If
End If
End Sub

Sub JobDone(job1 As HttpJob)
 If job1.Success Then
 	
	Try
			   If job1.JobName = "ht" Then
				 Dim parser As JSONParser
				 parser.Initialize(job1.GetString)
				 Dim LstData As List
				 LstData.Initialize
				 LstData = parser.NextArray
				For Each MapData As Map In LstData
				 Dim p As Panel
				 p.Initialize("p")
				 ScrollView1.Panel.AddView(p,0,top,100%x,100%y)
				 top = top + 185dip
				 p.LoadLayout("ItemsLayout")
				 panelItems.Tag = MapData.Get("id")
				 Label1.Text = MapData.Get("name")
				 glide.Load(MapData.Get("ax")).AsBitmap.IntoImageView(ImageView1)
				Next
				ScrollView1.Panel.Height = top
			  End If
	Catch
		Log(LastException)
	End Try
	b = True
			  
 End If
End Sub

Sub btnAction_Click
	
End Sub

Sub btnTanz_Click
	
End Sub

Sub panelItems_Click
	Dim pa As Panel
	pa = Sender
	Ac2.filmID = pa.Tag
	StartActivity(Ac2)
End Sub


Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

 

 

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

من فقط لیمیت اش رو روی 3 تنظیم کردم واسه تحویل به مشتری... شما روی هر عددی دوست دارید قرار بدید

موفق باشید

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

در 6 ساعت قبل، amin.mn گفته است :

این کد رو نوشتم و تست کردم.


<?php
$id= $_POST['id'];
$conn = new mysqli("host", "user", "pass", "db");
$conn->set_charset("utf8");
if ($conn->connect_error) {
	echo "خطای پایگاه داده";
	die("");
	}
$sql="SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id;
$result = $conn->query($sql);
$myOut = array();
while($row = $result->fetch_assoc()) 
    $myOut[] = $row;
echo json_encode($myOut);	
?>

این مقادیر رو

"host", "user", "pass", "db"

جایگزین کن با اطلاعات سرورت

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

بعد هم که یادت باشه مقدار id رو از طریق پست بفرستی.

تموم

همین رو بزار تو یه فایل php

کار هم میکنه. تست هم کردم .

«موفق باشید.»

 

 

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

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

در 47 دقیقه قبل، Siaic گفته است :

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

اگر ممکنه کد فرستادن id  رو بزارین ماهم استفاده کنیم

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

در 12 دقیقه قبل، dostmobile گفته است :

اگر ممکنه کد فرستادن id  رو بزارین ماهم استفاده کنیم

همون کدی که اقای ایزدی بالاتر فرستادن گذاشتم تو برنامم و از طریق برنامه id رو میفرسته و همه چی درسته

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

در 20 ساعت قبل، dostmobile گفته است :

اگر ممکنه کد فرستادن id  رو بزارین ماهم استفاده کنیم

سلام
از کدهای php زیر استفاده کنید:


<?php
$id= $_POST['id'];
$conn = new mysqli("host", "user", "pass", "db");
$conn->set_charset("utf8");
if ($conn->connect_error) {
	echo "خطای پایگاه داده";
	die("");
	}
$sql="SELECT * FROM tbl2 ORDER BY id DESC LIMIT 5 OFFSET ".$id;
$result = $conn->query($sql);
$myOut = array();
while($row = $result->fetch_assoc()) 
    $myOut[] = $row;
echo json_encode($myOut);	
?>

برای b4a هم کدهای اقای ایزدی مه بالاتر هست.

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

در در 1395/09/03, 21:19:48، مهدی ایزدی گفته است :

درود

نمونه کد عینا کپی و past میکنم.... تجزیه و تحلیل بر عهده خودتون چون توضیحش واقعا وقت گیره :

این کد show.php که البته فایل db.php رو دیگه نمیزارم چون خودتون میفهمید چیه دیگه...


<?php
require 'db.php';


$id= $_POST['id'];
$result = $con->query("SELECT * FROM tbl ORDER BY id DESC LIMIT 3 OFFSET ".$id."");

if($result->num_rows > 0){
$myOut = array();
while($row = $result->fetch_assoc()){
    $satr = array();
    $satr['id'] = $row["id"];
    $satr['name'] = $row["name"];
    $satr['film'] = $row["film"];
    $satr['ax'] = $row["ax"];
    $satr['tozih'] = $row["tozih"];
    $satr['hajm'] = $row["hajm"];
    $myOut[] = $satr;
}
    echo json_encode($myOut);

}else{

    echo "ther is no data";

}

?>

 

 

این هم کل کد Activity که واسه شما مورد نیازه :


Sub Globals
	Private btnAction As Button
	Private btnTanz As Button
	Private ImageView1 As ImageView
	Private Label1 As Label
	Private panelItems As Panel
	Dim glide As AriaGlide
	Dim ht As HttpJob
	Private ScrollView1 As ScrollView
	Dim top As Int = 5dip
	Dim offset As Int = 0
	Dim b As Boolean = True
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	ht.Initialize("ht",Me)
	ht.PostString("http://yoursite.ir/qqq/show.php","id=" & offset)
End Sub

Sub ScrollView1_ScrollChanged(Position As Int)
If ScrollView1.ScrollPosition+ScrollView1.Height=ScrollView1.Panel.Height Then
	If b = True Then
		offset = offset + 3
		ht.Release
		ht.PostString("http://yoursite.ir/qqq/show.php","id=" & offset)
		b = False
	End If
End If
End Sub

Sub JobDone(job1 As HttpJob)
 If job1.Success Then
 	
	Try
			   If job1.JobName = "ht" Then
				 Dim parser As JSONParser
				 parser.Initialize(job1.GetString)
				 Dim LstData As List
				 LstData.Initialize
				 LstData = parser.NextArray
				For Each MapData As Map In LstData
				 Dim p As Panel
				 p.Initialize("p")
				 ScrollView1.Panel.AddView(p,0,top,100%x,100%y)
				 top = top + 185dip
				 p.LoadLayout("ItemsLayout")
				 panelItems.Tag = MapData.Get("id")
				 Label1.Text = MapData.Get("name")
				 glide.Load(MapData.Get("ax")).AsBitmap.IntoImageView(ImageView1)
				Next
				ScrollView1.Panel.Height = top
			  End If
	Catch
		Log(LastException)
	End Try
	b = True
			  
 End If
End Sub

Sub btnAction_Click
	
End Sub

Sub btnTanz_Click
	
End Sub

Sub panelItems_Click
	Dim pa As Panel
	pa = Sender
	Ac2.filmID = pa.Tag
	StartActivity(Ac2)
End Sub


Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

 

 

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

من فقط لیمیت اش رو روی 3 تنظیم کردم واسه تحویل به مشتری... شما روی هر عددی دوست دارید قرار بدید

موفق باشید

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

طبق جستجو که کردم باید کد زیر رو اضافه کنم به show.php

 $db1 = mysql_query("SELECT * FROM tbl2 ORDER BY id DESC");

و اینکار کردم جواب هم داد حالا میخوام کد شما هم ادقام کنم که هم برعکس نشون بده هم لیمیت بده این میشه بگید بهم چجوریه؟ مرسی

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

در 12 دقیقه قبل، Siaic گفته است :

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

طبق جستجو که کردم باید کد زیر رو اضافه کنم به show.php


 $db1 = mysql_query("SELECT * FROM tbl2 ORDER BY id DESC");

و اینکار کردم جواب هم داد حالا میخوام کد شما هم ادقام کنم که هم برعکس نشون بده هم لیمیت بده این میشه بگید بهم چجوریه؟ مرسی

خواهش میکنم...

 عزیزم شما خط 6 کد php بنده رو ببینید دقیقا همین کد توش ادغام شده و اعمال میشه :|

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

در 9 دقیقه قبل، مهدی ایزدی گفته است :

خواهش میکنم...

 عزیزم شما خط 6 کد php بنده رو ببینید دقیقا همین کد توش ادغام شده و اعمال میشه :|

وقتی میخوام ببینم کدو این ارور میده؟؟؟

Fatal error: Call to a member function query() on a non-object in /home/brocandi/public_html/mr_apps/show.php on line 7

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

اقای ایزدی لطفا راهنمایی کنید عینا کپی کردم

اسم تیبل هم تغییر دادم

اسم آیتم هامم جایگزین کردم

....

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

متغیر $con رو باید تعریف کنید بعد از متدquery استفاده کنید.

آقای ایزدی اینو گفتند

البته فایل db.php رو دیگه نمیزارم چون خودتون میفهمید چیه دیگه...

به هر حال برای تعریفش اینطوری عمل کنید

$con = new mysqli("hostName", "UserName", "Password","dbName");

آدرس هاست دیتابیس

نام کاربری برای اتصال به دیتابیس

پسورد برای اتصال

و نام دیتابیس رو در کد بالا جایگزین کنید.

«موفق باشید.»

 

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

در 18 دقیقه قبل، amin.mn گفته است :

متغیر $con رو باید تعریف کنید بعد از متدquery استفاده کنید.

آقای ایزدی اینو گفتند

البته فایل db.php رو دیگه نمیزارم چون خودتون میفهمید چیه دیگه...

به هر حال برای تعریفش اینطوری عمل کنید


$con = new mysqli("hostName", "UserName", "Password","dbName");

آدرس هاست دیتابیس

نام کاربری برای اتصال به دیتابیس

پسورد برای اتصال

و نام دیتابیس رو در کد بالا جایگزین کنید.

«موفق باشید.»

 

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

$con = mysql_connect("localhost","یوزر","رمز");

درسته دیگه؟

چون قبلا که کل اطلاعات یجا لود میکردم بدون لیمیت مشکل نداشن و نشون میداد...

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

در 14 دقیقه قبل، Siaic گفته است :

وقتی میخوام ببینم کدو این ارور میده؟؟؟

Fatal error: Call to a member function query() on a non-object in /home/brocandi/public_html/mr_apps/show.php on line 7

من جواب این خطا رو دادم

اینجا میگه تعریف نکردید.

حالا شما اون بالایی رو امتحان کنید . ببینید جواب میده یا نه.

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

کد شمارو جایگزین کردم ارور زیر داد... 

$con = new mysqli("localhost","یوزر","رمز","tbl2");

 

Warning: mysqli::mysqli() [mysqli.mysqli]: (42000/1044): Access denied for user 'brocandi_mruser'@'localhost' to database 'tbl2' in /home/brocandi/public_html/mr_apps/db.php on line 2

Warning: mysql_query() expects parameter 2 to be resource, object given in /home/brocandi/public_html/mr_apps/db.php on line 4

Warning: mysql_select_db() expects parameter 2 to be resource, object given in /home/brocandi/public_html/mr_apps/db.php on line 6

Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in /home/brocandi/public_html/mr_apps/show.php on line 7
ther is no data

 

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

بایگانی شده

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

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

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