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

السؤال

نشر

السلام عليكم ورحمة الله وبركاته

لدي  كود لجلب البيانات وعرضها في قائمة الكود شغال في حالة ايجاد بيانات في قاعدة البيانات المرتبطة بها ولكن لدي مشكله في حالة عدم توفر بيانات في جدول البيانات

ارغب بعرض رسالة تنبيه او نص تنبيه للمستخدم بعدم توفر البيانات 

هذا الكود المستخدم لدي:

void main() {
  runApp(Your()

  );

}

class Your extends StatefulWidget {

  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<Your> {
  MyPreferences _myPreferences = MyPreferences();
  String apiURL;
  var id;

  List<Flowerdata> _flowersDataForTheListView = List<Flowerdata>();

  Future<List<Flowerdata>> fetchNotes() async {
    id=_myPreferences.id;
   final String url  = 'https://=============/All.php?id=' + id.toString();
    var response = await http.get(url);
    var flowers = List<Flowerdata>();
    if (response.statusCode == 200) {

      var flowersJsonData = json.decode(response.body);
      for (var flower in flowersJsonData) {
        flowers.add(Flowerdata.fromJson(flower));
      }

    }
    else{

    }
    return flowers;
  }

  @override
  void initState() {
    fetchNotes();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {


    return ListView.builder(
      itemBuilder: (context, index) {
        return  _listItem(index);
      },


    );
  }


  _listItem(index) {
         return Column(

        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[

           Row(
              children: [

                Flexible(

                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: <Widget>[
                      Text( _flowersDataForTheListView[index].Name,style: TextStyle(fontSize: 17)),
                      SizedBox(height: 5.0,),

                    ],
                  ),

                ),

              ],
            ),


        ],




    );
  }
}
<?php




include 'connt.php';


  $id=$_GET['id'];

$sql = "SELECT * FROM user WHERE id=? ORDER BY id DESC";

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

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

$stmt->execute();

$result = $stmt->get_result();

 
//$result = $con->query($sql);
 
if ($result->num_rows >0) {
 
 
     while($row[] = $result->fetch_assoc()) {
     
     $item = $row;
     
     $json = json_encode($item, JSON_NUMERIC_CHECK);
     
     }
 
} else {
    echo "No";
}
 echo $json;
$con->close();

?>

هل توجد طريقة لعمل ذلك ؟

Recommended Posts

  • 1
نشر

مرحبا مروان،

في الجزء الخاص قبل عرض القائمة ListView نختبر شرط طول القائمة flowers، فإذا كان اكبر من صفر نعرض عناصر القائمة نفسها، وفي حال غير ذلك نعرض عنصر آخر يحوي على نص الرسالة التي تريدها (او عنصر قائمة وحيد فيه الرسالة).

اي استخدم عبارة if else عادية.

إذا هو اختبار لوجود بيانات من عدمه، نضعه شرط في سياق بناء الواجهة widget و نستعرض ما هو مناسب للتطبيق.

بالتوفيق

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...