Проблема с отправкой? Не возвращать данные из DB

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

  •  23-09-2019
  •  | 
  •  

Вопрос

Я не возвращаю данные из своего БД, как я ожидаю. Я знаю, что могу получить данные из БД, потому что у меня работают другие функции. На этой странице я пытаюсь сделать следующее:

Если нет возврата, то я бы хотел, чтобы он повторил «Нет категории».

Если категория была выбрана, то я хотел бы, чтобы они получили эти данные из БД и показали их на странице. Я уверен, что могу сделать все это в одном взгляде, я просто не делаю что -то правильно. Кто -нибудь может помочь, пожалуйста?

Ошибка, которую я получаю, есть:

Ошибка PHP была встречена серьезность: Сообщение об уведомлении: Попытка получить свойство необъективного файла: Views/Category_view.php Номер строки: 25

Что касается схемы БД:

стол: 'бизнес' ID, Busname, Busowner, Busaddress, Busicyt, Busstate, Buszip, Busphone, WebAddress, категория, представленная, пользователь.

стол: 'категория' id, catname, catdesc.

стол: 'фото' ID, Photoname, фотолокация, busid, userid.

стол: 'Specials' id, specname, specdesc, busid, userid.

стол: 'видео' ID, заголовок, ссылка, Busid.

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), я стараюсь стараться.


ХОРОШО. Проблема в вашей категории_view:

<?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