اذهب إلى المحتوى

السؤال

نشر

لدي جدولين مختلفين كل جدول يحتوي على بيانات مختلفة ولكن المشكلة كل الجدولين تحتوي على عمود باسم (name) قمت بعمل inner join للجدولين في استعلام php حتى احصل على البيانات في فلاتر :

<?php


$id=$_GET['id'];

$sql="SELECT * FROM Tabletop
inner join Cat  ON Tabletop.IDCat = Cat.id
inner join Sub_Cat  ON Tabletop.Id_Sub_Cat = Sub_Cat.id
where Tabletop.id = ? " ;


$stmt = $con->prepare($sql); 

$stmt->bind_param("s",$id);

$stmt->execute();

$result = $stmt->get_result();


$array = array();

while ($row  = mysqli_fetch_assoc($result))
{
	$array[] = $row;
}


echo ($result) ?
json_encode(array("code" => 1, "result"=>$array)) :
json_encode(array("code" => 0, "message"=>"Data not found !"));


?>

المشكلة الان انني في خانة الاستعلام كيف ممكن ارجع قيم الاستعلام في فلاتر لكل العمودين بحيث اطلب منه جلب عمود الاسم للجدول الأول ثم جلب عمود الاسم للجدول الثاني بمعنى احتاج لعمل تفرقه بينهم/ مع العلم لا يمكنني تغير اسم العمود الان في قاعدة البيانات رح يسبب مشكلة كبيره الامر.

 

Future<String> GateDate() async {

 
    var response = await http.get(
        Uri.parse('https://*************test.php'),
        headers: {"Accept": "application/json"});

    setState(() {
      var convertDataToJson = json.decode(response.body);
      data = convertDataToJson['result'];
      if (data != null) {
        
        //table -1
       var GetName =  data[0]['name'];
        
        // Table-2
      var  GetNameTwo =  data[0]['name'];
       
       
      }
    });
   
  }

هل يوجد حل لهذا المشكلة من خلال فلاتر؟

Recommended Posts

  • 1
نشر

الحل يكمن في استعلام SQL حيث يمكنك وضع اسم مستعار لكل من الحقلين الذين لهما نفس الاسم

$sql="
	SELECT 
		cat1.name AS name1, 
		cat2.name AS name2, 

FROM 
	Tabletop

inner join Cat     cat1   ON Tabletop.IDCat      = cat1.id
inner join Sub_Cat cat2   ON Tabletop.Id_Sub_Cat = cat2.id

where Tabletop.id = ? " ;

ثم في Flutter 

if (data != null) {

  //table -1                 name1
  var GetName    =  data[0]['name1'];

  // Table-2                 name2
  var GetNameTwo =  data[0]['name2'];


}

 

  • 1
نشر
بتاريخ الآن قال مروان مروان3:

مرحبا اخي الكريم 

توجد مشكله في الاستعلام ماذا عن بيانات TableTop  حيث انني كنت اجلب جميع بياناته ايضا 

أنا أزلت النجمة لأنه من الواضح استخدام حقلي الاسم فقط، يمكنك إضافتها

SELECT 
		cat1.name AS name1, 
		cat2.name AS name2, 
		*
From ...

 

  • 0
نشر
بتاريخ 7 دقائق مضت قال Wael Aljamal:

الحل يكمن في استعلام SQL حيث يمكنك وضع اسم مستعار لكل من الحقلين الذين لهما نفس الاسم


$sql="
	SELECT 
		cat1.name AS name1, 
		cat2.name AS name2, 

FROM 
	Tabletop

inner join Cat     cat1   ON Tabletop.IDCat      = cat1.id
inner join Sub_Cat cat2   ON Tabletop.Id_Sub_Cat = cat2.id

where Tabletop.id = ? " ;

ثم في Flutter 

 

مرحبا اخي الكريم 

توجد مشكله في الاستعلام ماذا عن بيانات TableTop  حيث انني كنت اجلب جميع بياناته ايضا 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...