مشكلة postback؟ عدم استعادة البيانات من ديسيبل

StackOverflow https://stackoverflow.com/questions/2542843

  •  23-09-2019
  •  | 
  •  

سؤال

أنا لا أعود إلى البيانات من ديسيبل كما أتوقع. أعلم أنه يمكنني الحصول على بيانات من DB لأن لدي وظائف أخرى تعمل. مع هذه الصفحة ، ما أحاول فعله هو ما يلي:

إذا لم يكن هناك Postback ، فأود أن يردد "لم يتم تحديد فئة"

إذا تم اختيار فئة ، فأود أن تحصل على هذه البيانات من DB وإظهارها على الصفحة. أنا متأكد من أنه يمكنني القيام بذلك في عرض واحد ، أنا فقط لا أفعل شيئًا صحيحًا. هل يمكن لأي شخص المساعدة من فضلك؟

الخطأ الذي أحصل عليه هو:

تمت مواجهة خطأ PHP في شدة: رسالة إشعار: محاولة الحصول على خاصية اسم الملف غير الكائن: View/Catevory_View.php رقم السطر: 25

أما بالنسبة لمخطط DB:

الطاولة: 'اعمال' ID ، Busname ، Busowner ، Busaddress ، Busicyt ، Busstate ، Buszip ، Bussphone ، Webaddress ، Category ، Missured ، userId.

الطاولة: 'الفئة' ID ، Catname ، Catdesc.

الطاولة: 'الصور' ID ، Photoname ، TOLOCCED ، SUPID ، USERID.

الطاولة: "العروض الخاصة" المعرف ، specname ، specdesc ، الانجذاب ، userId.

الطاولة: 'أشرطة فيديو' معرف ، عنوان ، رابط ، شجيرة.

Pastebin: http://pastebin.com/aqqcvnab

هل كانت مفيدة؟

المحلول

لست متأكدًا على الإطلاق ما هو بالضبط أو لا يعمل من أجلك. لقد جربت هذا محليًا ، وهو يردد "لم يتم تحديد فئة" بشكل صحيح.

رأي:

<?php 
echo form_open('/site/categories');
echo form_fieldset(); ?>
<legend>Choose the Category of Business you are interested in.</legend>
<select name="catSelect">
<?php 
foreach ($catList->result() as $row){
    echo '<option value='.$row->id.'>'.$row->catname.'</option>';
}
echo form_submit('submit', 'Submit');
echo form_fieldset_close();
echo form_close(); 
?>
<table id="businessTable" class="tablesorter">
<thead><tr><th>Business Name</th><th>Photos</th><th>Videos</th><th>Specials</th></tr></thead>
<?php 
if(count($serviceVendors) > 0){
    foreach ($serviceVendors as $row){
        echo '<tr><td>'.$row->busname.'</td><td>';
        if(isset($row->photoname)){
                echo "photoname is set";
            }else{
                echo "photoname not set";
            }
            echo '</td><td>';
            if(isset($row->title)){
                echo "title set";
            }else{
                echo "title not set";
            }
            echo '</td><td>';
            if(isset($row->specname)){
                echo "specname set";
            }else{
                echo "specname not set";
            }
            echo '</td></tr>';
        }
    }else{
        echo "no category selected";
    }
?>
</table>

إذا كان بإمكانك أن تكون أكثر تحديداً (ونشر مخطط DB) ، فسأبذل قصارى جهده.


نعم. المشكلة في الفئة الخاصة بك:

<?php if(count($businessList) > 0) : foreach ($businessList as $svrow): ?>

يجب أن يكون:

<?php if(count($businessList) > 0) : foreach ($businessList->result() as $svrow): ?>

بدون ال ->result() المعرف لا يعين الكائن إلى SVROW. لذلك مع هذا الخط ، في مكانه echo $svrow->busname; سوف صدى اسم العمل كما هو متوقع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top