problema postback? Non ricevendo i dati dal DB
-
23-09-2019 - |
Domanda
Non ricevo indietro i dati dal mio DB come mi aspetto. So che posso ottenere i dati dal DB perché ho altre funzioni di lavoro. Con questa pagina, quello che sto cercando di fare è la seguente:
Se non postback, allora mi sarebbe piaciuto fare eco "No categoria selezionata"
Se una categoria è stata scelta, quindi mi piacerebbe per poter ottenere che i dati dal DB e vederlo sulla pagina. Sono sicuro che posso fare tutto questo in un'unica vista, sto solo non fare qualcosa di giusto. Qualcuno può aiutarmi per favore?
L'errore che sto ottenendo è:
Un errore di PHP è verificato Severity: Avviso Messaggio: Cercando di ottenere la proprietà di non-oggetto Nome file: views / category_view.php Linea Numero: 25
Per quanto riguarda lo schema db:
Tavolo:. 'business' id, busname, busowner, busaddress, busicyt, busstate, buszip, busphone, webaddress, categoria, optional, userid
Tavolo:. 'categoria' id, catname, catDesc
Tavolo:. 'foto' id, photoname, photolocation, BusID, userid
Tavolo:. 'speciali' id, specname, specdesc, BusID, userid
Tavolo:. 'video' id, titolo, collegamento, BusID
Pastebin: http://pastebin.com/AQqcvnAb
Soluzione
Non è sicuro a tutti che cosa è esattamente o non funziona per voi. Ho provato questo locale, ed è facendo eco "nessuna categoria selezionata" in modo corretto.
Visualizza:
<?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>
Se si può essere un po 'più specifico (ed inviare uno schema db), ci proverò più difficile.
OK. Il problema è nella tua category_view:
<?php if(count($businessList) > 0) : foreach ($businessList as $svrow): ?>
deve essere:
<?php if(count($businessList) > 0) : foreach ($businessList->result() as $svrow): ?>
senza l'identificatore ->result()
esso non assegnare l'oggetto a svrow.
Quindi, con questa linea, al posto echo $svrow->busname;
sarà eco la ragione sociale come previsto.