Проблема с отправкой? Не возвращать данные из DB
-
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;
будет повторять название бизнеса, как и ожидалось.