problème postback? Ne pas obtenir des données depuis DB
-
23-09-2019 - |
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
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.