Nicht gesetzt kann
$ordc_in_str nie sein weil es korrekterweise erstmal so definiert ist:
$ordc_in_str = '';
Leer kann
$ordc_in_str sein wenn es keinerlei Bestellungen gibt oder es Inkonsistenzen in der DB gibt (sodaß es z.B. zwar Bestellungen gibt, die Tabelle
orders_status_history jedoch aus irgendwelchen Gründen nicht gefüllt ist).
Da diese Query nicht zu einem Syntax-Error führen kann
SELECT orders_id, comments FROM orders_status_history WHERE orders_id IN('') ORDER BY orders_id DESC, date_added;
kann man sicherheitshalber die o.g. Erst-Definition ändern
von
$ordc_in_str = '';
in
$ordc_in_str = "''";
oder (besser, weil man eine sinnlose Query dadurch vermeidet) man fasst den Code in if-Clauses um alle erdenklichen Fälle abzufangen.
Hier dazu nochmal der komplette Code (bei euch heißt die Datei evtl. anders):
<?php/*******************************************
* file: 10_ord_comments.php
* use: display comments in order_listing
* (c) noRiddle 11-2017
*******************************************/if(strpos($PHP_SELF, FILENAME_ORDERS
) && !isset($_GET['action'])) { $ordc_in_str = ''; $ord_comm_arr = array(); if(xtc_db_num_rows
($orders_query) > 0) { xtc_db_data_seek
($orders_query, 0); while($ord = xtc_db_fetch_array
($orders_query)) { $ordc_in_str .= "'".$ord['orders_id']."'".','; } $ordc_in_str = rtrim($ordc_in_str, ','); } if($ordc_in_str != '') { $orders_history_query_str = "SELECT orders_id, comments FROM " . TABLE_ORDERS_STATUS_HISTORY
. " WHERE orders_id IN(".$ordc_in_str.") ORDER BY orders_id DESC, date_added"; $orders_history_query = xtc_db_query
($orders_history_query_str); while($orders_comments = xtc_db_fetch_array
($orders_history_query)) { $ord_comm_arr[$orders_comments['orders_id']][] = $orders_comments['comments']; } foreach($ord_comm_arr as $ordid => $comm_arr) { $ord_comments = ""; for($oc = 0, $ocl = count($comm_arr); $oc < $ocl; $oc++) { if($comm_arr[$oc] != '') { $ord_comments .= '<span style="display:block; margin:0 0 3px 0; padding:0 0 3px 0; border-bottom:1px dotted #000;">'.nl2br($comm_arr[$oc]).'</span>'; } } echo '<span class="ord-comm tooltip" style="padding:0 0 0 10px; float:right;">'.(!empty($ord_comments) ?
'<img src="images/icons/comment2.gif" style="border:0;"><em>'.$ord_comments.'</em>' : '').'</span>'; } } if($ordc_in_str != '') {?><style>
.tooltip:hover em {bottom:auto; top:100%;}
</style>
<script>
$(function() {
var $tbc = $('.tableBoxCenter tr'),
$oc = $('.ord-comm');
$oc.each(function(index) {
var $tbc_dtc = $tbc.eq(index + 1).find('.dataTableContent');
$oc.eq(index).appendTo($tbc_dtc.eq(0));
});
});
</script>
<?php }}?> Gruß,
noRiddle