Question

Je ne reçois pas de retour les données de mon DB comme je me attends. Je sais que je peux obtenir des données de la DB parce que j'ai d'autres fonctions de travail. Avec cette page, ce que je suis en train de faire est la suivante:

Si aucune postback, alors je voudrais à echo « Sélectionnez catégorie »

Si une catégorie a été choisie, alors je voudrais que pour obtenir que les données de la base de données et l'afficher sur la page. Je suis sûr que je peux le faire en une seule vue, je suis tout simplement pas faire quelque chose de bien. Quelqu'un peut-il aider s'il vous plaît?

L'erreur que je reçois est:

Une erreur PHP a été rencontré Gravité: Avis Message: Essayer d'obtenir la propriété de nom de fichier non-objet: vues / category_view.php Numéro de ligne: 25

comme pour le schéma db:

Tableau:. 'affaires' id, nomBus, busowner, busaddress, busicyt, busstate, buszip, BUSPHONE, webaddress, catégorie, en vedette, userid

Tableau:. 'catégorie' id, catname, catdesc

Tableau:. Photos id, photoname, photolocation, BusID, userid

Tableau:. '' spéciaux id, specname, specdesc, BusID, userid

Tableau:. Vidéos id, titre, lien, BusID

Pastebin: http://pastebin.com/AQqcvnAb

Était-ce utile?

La solution

Je ne sais pas du tout ce qui est ou ne fonctionne pas pour vous exactement. J'ai essayé sur place, et il est l'écho « aucune catégorie sélectionnée » correctement.

Voir:

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

Si vous pouvez être un peu plus précis (et après un schéma db), je vais essayer plus fort.


OK. Le problème est dans votre category_view:

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

doit être:

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

sans l'identifiant de ->result() il n'attribue pas l'objet à svrow. Donc, avec cette ligne, en place echo $svrow->busname; fera écho le nom commercial comme prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top