المشاركات : 356
المواضيع 46
الإنتساب : Jul 2018
السمعة :
43
الشكر: 80
تم شكره 464 مرات في 258 مشاركات
25-02-20, 06:35 PM
(آخر تعديل لهذه المشاركة : 25-02-20, 07:12 PM {2} بواسطة alfaiz678.)
بعد رفع الملفين على الاستضافة
وليكن الرابط
http://www.*****.com/MyApp/All.php
في b4a
قم باستيراد مكتبة OkHttpUtils2
قم بتعريف المكتبة
ستكون التجربة على عملية الاستعراص وبقية العمليات على نفس النمط
PHP كود :
Sub asd ProgressDialogShow2("جاري تحميل البيانات ",False) Job1.Initialize("Job1",Me) Job1.PostString("http://www.*****.com/MyApp/All.php", _ "SELECT * FROM T1 where Name like'" & Name & _ "' And NumPhone like'" & NumPhone & "'") End Sub
هذا الحدث ضعه تحت زر الامر بالاستعراض او اي مكان تريد
ووضيفته
انه يستورد البيانات من السيرفر بناءا على المعطيات الموجودة في ملف php.All
الان قمنا باستيراد البيانات بقي لخر خطوة وهو حدث النجاح لمكتبة HttpJob
وطبعا اسمه ثابت لايتغير
PHP كود :
Sub JobDone(Job As HttpJob) If Job.Success Then Dim res As String res = Job.GetString Log("Response from server: " & res) Dim parser As JSONParser parser.Initialize(res) If Job.JobName="Job1" Then // اسم المتغير الذي بين التنصيص في امر Job1.Initialize Dim COUNTRIES As List COUNTRIES = parser.NextArray //'returns a list with maps If COUNTRIES.Size > 0 Then // هنا نضع الطلوب اذا نجح الاستعلام Else // في حالة عدم وجود البيانات ToastMessageShow("لم تقم بتسجيل حسابك بعد",True) End If End If Else // في حالة عدم الاتصال بالنت ToastMessageShow("لم تتم العملية تأكد من اتصالك بالانترنت",True) End If ProgressDialogHide End Sub
المشاركات : 24
المواضيع 7
الإنتساب : Feb 2020
السمعة :
1
الشكر: 4
تم شكره 20 مرات في 15 مشاركات
(25-02-20, 06:09 PM)d3vc0d كتب : (25-02-20, 05:17 PM)alfaiz678 كتب : الطرق كثيرة
وساعطيك الاسهل وهناك ماهو افضل منها عن طريق get , post
انشئ ملف php وارفعه على الاستضافه وليكن باسم con.php
محتواه تجد فيه ارسال التشفير الذي يخلصك من المشكلة
PHP كود :
<?php $servername = ""; $username = ""; $password = ""; $dbnamee = "";
$con = new mysqli($servername, $username, $password, $dbnamee);
mysqli_set_charset($con,"utf8");
?>
ثم اضف ملف php اخر وارفع الاثنين على استضافتك وليكن اسمه All.php
PHP كود :
<?php
include ("con.php");
//mysqli_set_charset ($con , "utf8"); $query = file_get_contents("php://input"); $sth = mysqli_query($con, $query);
if (mysqli_errno($con)) { header("HTTP/1.1 500 Internal Server Error"); echo $query.'\n'; echo mysqli_error($con); } else { $rows = array(); while($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } $res = json_encode($rows); echo $res; mysqli_free_result($sth); } mysqli_close($con); ?>
انتهينا من جانب الاستضافة الان ناتي الى جانب b4a
نعم تم انشاء الملفان all.php , و con.php
و مذا عن عمليات الاظافة التعديل الحدف ..... الخ كيف و اين تكتب الاوامر
المشاركات : 356
المواضيع 46
الإنتساب : Jul 2018
السمعة :
43
الشكر: 80
تم شكره 464 مرات في 258 مشاركات
25-02-20, 07:16 PM
(آخر تعديل لهذه المشاركة : 25-02-20, 07:17 PM {2} بواسطة alfaiz678.)
PHP كود :
//ListView هذا مثال لاستعراض الاسماء ووضعها في
كود :
Sub JobDone(Job As HttpJob)
If Job.Success Then
Dim res As String
res = Job.GetString
Log("Response from server: " & res)
Dim parser As JSONParser
parser.Initialize(res)
If Job.JobName="Job1" Then // اسم المتغير الذي بين التنصيص في امر Job1.Initialize
Dim COUNTRIES As List
COUNTRIES = parser.NextArray //'returns a list with maps
If COUNTRIES.Size > 0 Then
// هنا نضع الطلوب اذا نجح الاستعلام
For i = 0 To COUNTRIES.Size - 1
Dim m As Map
m = COUNTRIES.Get(i)
ListView.AddTextItem(m.Get("name") ,id)
Next
Else
// في حالة عدم وجود البيانات
ToastMessageShow("لم تقم بتسجيل حسابك بعد",True)
End If
End If
Else
// في حالة عدم الاتصال بالنت
ToastMessageShow("لم تتم العملية تأكد من اتصالك بالانترنت",True)
End If
ProgressDialogHide
End Sub
راجع الردود من البداية لاني قمت ببعض التغييرات فيها
المشاركات : 24
المواضيع 7
الإنتساب : Feb 2020
السمعة :
1
الشكر: 4
تم شكره 20 مرات في 15 مشاركات
(25-02-20, 07:16 PM)alfaiz678 كتب : PHP كود :
//ListView هذا مثال لاستعراض الاسماء ووضعها في
كود :
Sub JobDone(Job As HttpJob)
If Job.Success Then
Dim res As String
res = Job.GetString
Log("Response from server: " & res)
Dim parser As JSONParser
parser.Initialize(res)
If Job.JobName="Job1" Then // اسم المتغير الذي بين التنصيص في امر Job1.Initialize
Dim COUNTRIES As List
COUNTRIES = parser.NextArray //'returns a list with maps
If COUNTRIES.Size > 0 Then
// هنا نضع الطلوب اذا نجح الاستعلام
For i = 0 To COUNTRIES.Size - 1
Dim m As Map
m = COUNTRIES.Get(i)
ListView.AddTextItem(m.Get("name") ,id)
Next
Else
// في حالة عدم وجود البيانات
ToastMessageShow("لم تقم بتسجيل حسابك بعد",True)
End If
End If
Else
// في حالة عدم الاتصال بالنت
ToastMessageShow("لم تتم العملية تأكد من اتصالك بالانترنت",True)
End If
ProgressDialogHide
End Sub
راجع الردود من البداية لاني قمت ببعض التغييرات فيها
لم اتمكن من الاتصال بقاعدة البيانات ثم اريد عرض المعلومات في labels
المشاركات : 356
المواضيع 46
الإنتساب : Jul 2018
السمعة :
43
الشكر: 80
تم شكره 464 مرات في 258 مشاركات
العرض في ليبل سهل فيما بعد
ولكن
اولا تاكد من الاتصال
الصق الرابط الذي يخصك في المتصفح واضغط انتر
http://www.*****.com/MyApp/All.php
المشاركات : 24
المواضيع 7
الإنتساب : Feb 2020
السمعة :
1
الشكر: 4
تم شكره 20 مرات في 15 مشاركات
(25-02-20, 09:13 PM)alfaiz678 كتب : العرض في ليبل سهل فيما بعد
ولكن
اولا تاكد من الاتصال
الصق الرابط الذي يخصك في المتصفح واضغط انتر
http://www.*****.com/MyApp/All.php
بعد لصق الرابط
النتيجة
[][]
اضن انه لا مشكلة
المشاركات : 356
المواضيع 46
الإنتساب : Jul 2018
السمعة :
43
الشكر: 80
تم شكره 464 مرات في 258 مشاركات
25-02-20, 09:34 PM
(آخر تعديل لهذه المشاركة : 25-02-20, 09:38 PM {2} بواسطة alfaiz678.)
نعم هذا يعني ان الاتصال تم
اضهار الاسم من الجدول في لابل
PHP كود :
Sub JobDone(Job As HttpJob) If Job.Success Then Dim res As String res = Job.GetString Log("Response from server: " & res) Dim parser As JSONParser parser.Initialize(res) If Job.JobName="Job1" Then // اسم المتغير الذي بين التنصيص في امر Job1.Initialize Dim COUNTRIES As List COUNTRIES = parser.NextArray //'returns a list with maps If COUNTRIES.Size > 0 Then // هنا نضع الطلوب اذا نجح الاستعلام Dim m As Map m = COUNTRIES.Get(0) label1.Text= m.Get("Name") Else // في حالة عدم وجود البيانات ToastMessageShow("لم تقم بتسجيل حسابك بعد",True) End If End If Else // في حالة عدم الاتصال بالنت ToastMessageShow("لم تتم العملية تأكد من اتصالك بالانترنت",True) End If ProgressDialogHide End Sub
المشاركات : 260
المواضيع 0
الإنتساب : Jan 2020
السمعة :
41
الشكر: 0
تم شكره 381 مرات في 213 مشاركات
25-02-20, 10:24 PM
(آخر تعديل لهذه المشاركة : 25-02-20, 10:49 PM {2} بواسطة alsalamoni.)
(25-02-20, 08:54 PM)d3vc0d كتب : (25-02-20, 07:16 PM)alfaiz678 كتب : PHP كود :
//ListView هذا مثال لاستعراض الاسماء ووضعها في
كود :
Sub JobDone(Job As HttpJob)
If Job.Success Then
Dim res As String
res = Job.GetString
Log("Response from server: " & res)
Dim parser As JSONParser
parser.Initialize(res)
If Job.JobName="Job1" Then // اسم المتغير الذي بين التنصيص في امر Job1.Initialize
Dim COUNTRIES As List
COUNTRIES = parser.NextArray //'returns a list with maps
If COUNTRIES.Size > 0 Then
// هنا نضع الطلوب اذا نجح الاستعلام
For i = 0 To COUNTRIES.Size - 1
Dim m As Map
m = COUNTRIES.Get(i)
ListView.AddTextItem(m.Get("name") ,id)
Next
Else
// في حالة عدم وجود البيانات
ToastMessageShow("لم تقم بتسجيل حسابك بعد",True)
End If
End If
Else
// في حالة عدم الاتصال بالنت
ToastMessageShow("لم تتم العملية تأكد من اتصالك بالانترنت",True)
End If
ProgressDialogHide
End Sub
راجع الردود من البداية لاني قمت ببعض التغييرات فيها
لم اتمكن من الاتصال بقاعدة البيانات ثم اريد عرض المعلومات في labels
اذا كنت تستخدم السيرفر المحلي فلا تكتب localhost او 127.0.0.1
ولكن ضع عنوان الجهاز في الراوتر والذي عادة يبدا ب 192.168xxxxx
http://localhost/MyApp/All.php
http://127.0.0.1/MyApp/All.php
كود :
http://192.168.1.7/MyApp/All.php
لمعرفة رقم IP من الرواتر
افتح Command Prompt واكتب ipconfig
ستجد الرقم في IPv4 Address
المشاركات : 24
المواضيع 7
الإنتساب : Feb 2020
السمعة :
1
الشكر: 4
تم شكره 20 مرات في 15 مشاركات
26-02-20, 02:23 AM
(25-02-20, 10:24 PM)alsalamoni كتب : (25-02-20, 08:54 PM)d3vc0d كتب : (25-02-20, 07:16 PM)alfaiz678 كتب : PHP كود :
//ListView هذا مثال لاستعراض الاسماء ووضعها في
كود :
Sub JobDone(Job As HttpJob)
If Job.Success Then
Dim res As String
res = Job.GetString
Log("Response from server: " & res)
Dim parser As JSONParser
parser.Initialize(res)
If Job.JobName="Job1" Then // اسم المتغير الذي بين التنصيص في امر Job1.Initialize
Dim COUNTRIES As List
COUNTRIES = parser.NextArray //'returns a list with maps
If COUNTRIES.Size > 0 Then
// هنا نضع الطلوب اذا نجح الاستعلام
For i = 0 To COUNTRIES.Size - 1
Dim m As Map
m = COUNTRIES.Get(i)
ListView.AddTextItem(m.Get("name") ,id)
Next
Else
// في حالة عدم وجود البيانات
ToastMessageShow("لم تقم بتسجيل حسابك بعد",True)
End If
End If
Else
// في حالة عدم الاتصال بالنت
ToastMessageShow("لم تتم العملية تأكد من اتصالك بالانترنت",True)
End If
ProgressDialogHide
End Sub
راجع الردود من البداية لاني قمت ببعض التغييرات فيها
لم اتمكن من الاتصال بقاعدة البيانات ثم اريد عرض المعلومات في labels
اذا كنت تستخدم السيرفر المحلي فلا تكتب localhost او 127.0.0.1
ولكن ضع عنوان الجهاز في الراوتر والذي عادة يبدا ب 192.168xxxxx
http://localhost/MyApp/All.php
http://127.0.0.1/MyApp/All.php
كود :
http://192.168.1.7/MyApp/All.php
لمعرفة رقم IP من الرواتر
افتح Command Prompt واكتب ipconfig
ستجد الرقم في IPv4 Address
شكر على المساعدة و الدعم , الاكواد تعمل بامتياز
|