У меня есть две таблицы в моей базе данных. Одним из них является jobs
, а другой type_of_service
где столбцы case_reference
и ref_number
являются переплетены, что означает для каждого случая case_reference такое же число появляется в ref_number и он является уникальным и авто увеличение пользовательского пути, и они выглядят как:MySQL escaping empty/null records
JOBS
==========
case_reference | customer | vessel
===============|==========|========
1311/2 | Dave | rg8
1311/3 | Billy | fjg32
1311/4 | Alex | sh599
и:
TYPE_OF_SERVICE
===============
ref_number | one | two | three | four
========================================
1311/2 |fire | | | medical
1311/3 | |foam | |
1311/4 | |foam |engine | medical
Теперь в моем веб приложения я хотел бы, чтобы показать результаты поиска пути как:
reference | customer | vessel | type of service
================================================
1311/2 | Dave | rg8 | fire-medical
1311/3 | Billy | fjg32 | foam
1311/4 | Alex | sh599 | foam-engine-medical
Метод получения моих результатов:
$ records = array();
// build array of field names=============================================================================
$fields=array('customer','vessel',
'one','two','three','four');
// initialize empty array for WHERE clauses
$wheres=array();
// loop through field names, get POSTed values,
// and build array of WHERE clauses, excluding false values
foreach ($fields as $field) {
// get existing field value from POST, mark missing or empty value as FALSE
${$field} = isset($_POST[$field]) && trim($_POST[$field])!=''
? trim($_POST[$field]) : false;
// add to array of WHERE clauses only if value is not FALSE
if (${$field}) { $wheres[]="$field LIKE '%".${$field}."%'"; }
}
// build SELECT statement from WHERE clauses
$sql="SELECT * FROM jobs,services WHERE ref_number = case_reference AND ".
(!empty($wheres) ? implode(" AND ",$wheres) : '1=1').
";";
и метод, чтобы показать им:
<tbody>
<?php
foreach($records as $r) {
$watson = $r->case_reference;
?>
<tr>
<td><?php echo escape($r->case_reference); ?></td>
<td><?php echo escape($r->customer); ?></td>
<td><?php echo escape($r->vessel); ?></td>
<td><?php for ($i=0; $i <= $found; $i++) { echo escape(<?php echo '<pre>'.$records[$i]->one.'-'.$records[$i]->two.'-'.$records[$i]->three.'-'.
$records[$i]->four'</pre>'} ?>); ?></td>
</tr>
<?php
}
?>
</tbody>
Но проблема у меня в том, что, когда я пытаюсь сделать это следующий результат получается:
reference | customer | vessel | type of service
================================================
1311/2 | Dave | rg8 | fire---medical-,
1311/3 | Billy | fjg32 | -foam---
1311/4 | Alex | sh599 | -foam-engine-medical-
Есть ли способ/function для достижения желаемого эффекта без отображения дополнительных "-"
или дополнительных пробелов для пустых ячеек в таблице type_of_service
?
Ваши вопросы? –
показать запрос, который вы написали – Litmus
Я обновил свой первоначальный пост тем, как я создаю свои запросы. –