Frage

Ich bekomme keine Daten von meinem DB zurück, wie ich es erwartet habe. Ich weiß, dass ich Daten von der DB erhalten kann, weil ich andere Funktionen habe. Mit dieser Seite versuche ich Folgendes:

Wenn kein Postback, möchte ich, dass es "keine Kategorie ausgewählt" wiederholt.

Wenn eine Kategorie ausgewählt wurde, möchte ich, dass sie diese Daten von der DB abrufen und sie auf der Seite anzeigen. Ich bin sicher, ich kann das alles in einer Ansicht machen, ich mache einfach nichts richtig. Kann jemand bitte helfen?

Der Fehler, den ich bekomme, ist:

Ein PHP-Fehler wurde auf den Schweregrad gestoßen

Wie für das DB -Schema:

Tisch: 'Geschäft' ID, Busname, Busbesitzer, Busaddress, Bussicyt, Busstate, Buszip, Bushone, Webaddress, Kategorie, vorgestellter, userId.

Tisch: 'Kategorie' Id, Catname, Catdesc.

Tisch: 'Fotos' ID, Photoname, Photolocation, Bussid, UserId.

Tisch: "Specials" ID, SpecName, SpecDesc, Bussid, UserId.

Tisch: "Videos" ID, Titel, Link, Bussid.

Pastebin: http://pastebin.com/aqqcvnab

War es hilfreich?

Lösung

Ich bin mir überhaupt nicht sicher, was genau für Sie funktioniert oder nicht. Ich habe es vor Ort ausprobiert und es wiederholt "keine Kategorie ausgewählt" richtig.

Aussicht:

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

Wenn Sie etwas genauer sein können (und ein DB -Schema veröffentlichen), werde ich mich mehr bemühen.


OK. Das Problem liegt in Ihrer Category_View:

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

muss sein:

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

ohne das ->result() Bezeichner Es weist das Objekt SVROW nicht zu. Also mit dieser Linie an Ort und Stelle echo $svrow->busname; Wird den Firmennamen wie erwartet wiederholen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top