回发问题?没有从数据库获取数据

时间:2010-03-30 04:14:40

标签: php codeigniter

我没有像我期待的那样从我的数据库中获取数据。我知道我可以从数据库中获取数据,因为我有其他功能正常工作。有了这个页面,我想要做的是以下内容:

如果没有回发,那么我希望它回应“No Category Selected”

如果选择了某个类别,那么我希望它从数据库中获取该数据并在页面上显示。我相信我可以在一个视图中完成所有这些,我只是没有做正确的事情。有人可以帮忙吗?

我得到的错误是:

遇到PHP错误严重性:通知消息:尝试获取非对象的属性文件名:views / category_view.php行号:25

对于db schema:

表:'business' id,busname,busowner,busaddress,busicyt,busstate,buszip,busphone,webaddress,category,featured,userid。

表格:'类别' id,catname,catdesc。

表:'照片' ID,光子名称,照片定位,busid,用户ID。

表格:'特价' ID,specname,specdesc,busid,userid。

表格:'视频' id,title,link,busid。

Pastebin:http://pastebin.com/AQqcvnAb

1 个答案:

答案 0 :(得分:1)

根本不确定究竟是什么或不适合你。我在本地尝试了这个,它正确回应“没有选择类别”。

查看:

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

如果您可以更具体一点(并发布数据库架构),我会更加努力。


行。问题在于category_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;将按预期回显业务名称。