Boldanje kolone povučene iz sql-a foreach petljom

Pozdrav,

moj cilj je boldati ime pobjednika. Došla sam do situacije da to i napravi ali kad su u pitanju 2 seta, ne prikaže rezultat ali bolda ime pobjednika. Kada su u pitanju 3 seta sve napravi korektno. Može li mi netko pomoći?

<?php global $wpdb; $result = $wpdb->get_results ("SELECT challenger,challenged, date_match, CONCAT(g1,':',g2,' ',g3,':',g4,' ',g5,':',g6) AS result1, g1,g2,g3,g4,g5,g6 FROM barbara_results WHERE date_match BETWEEN '2015-11-21' AND '2015-12-06' ORDER BY date_match ASC"); foreach ( $result as $print ) { echo ''; if (((int) $print->g1 > ((int) $print->g2)) && ((int) $print->g3 > ((int) $print->g4))|| !not_null((int) $print->g5 > ((int) $print->g6))){ echo ''.$print->challenger.''; } else{ echo $print->challenger.''; } echo ''; if (((int) $print->g2 > ((int) $print->g1)) && ((int) $print->g4 > ((int) $print->g3))|| ((int) $print->g6 > ((int) $print->g5))){ echo ''.$print->challenged.''; } else{ echo $print->challenged.''; } echo '' . date('d.m.Y.', strtotime($print->date_match)).''; echo '' . $print->result.''; echo '' . $print->result1.''; echo ''; } ?>

pokusaj ovo uraditi u switch

Pozdrav,

s obzirom da sam početnik u ovom stvarima možeš li mi malo pojasniti?

Riješila sam situaciju ovako:

<?php global $wpdb; $result = $wpdb->get_results ("SELECT challenger,challenged, date_match, CONCAT(g1,':',g2,' ',g3,':',g4,' ',COALESCE(g5, ''),':',COALESCE(,g6, '')) AS result1, g1,g2,g3,g4,g5,g6 FROM barbara_results WHERE date_match BETWEEN '2015-11-21' AND '2015-12-06' ORDER BY date_match ASC"); foreach ( $result as $print ) { echo ''; if (((int) $print->g1 > ((int) $print->g2)) && ((int) $print->g3 > ((int) $print->g4)) || ((int) $print->g5 > ((int) $print->g6))){ echo ''.$print->challenger.''; } else{ echo $print->challenger.''; } echo ''; if (((int) $print->g2 > ((int) $print->g1)) && ((int) $print->g4 > ((int) $print->g3)) || ((int) $print->g6 > ((int) $print->g5))){ echo ''.$print->challenged.''; } else{ echo $print->challenged.''; } echo '' . date('d.m.Y.', strtotime($print->date_match)).''; echo '' . $print->result.''; echo '' . $print->result1.''; echo ''; } ?>

Jedini problem je sad kad prikaže Rezultat sa 2 seta ostaje mi dvotočka. Kad su tri seta između rezultata treba biti dvotočka (u trećem setu), ali kad su u pitanju 2 seta ne bi trebalo toga biti… Dogodi mi se ovo:

Možda mi netko može reći kako da to riješim?

Bok,

Moraš spriječiti ispis dvotočke u slučaju da je g6 prazan.
Dakle SQL upit bi trebao izgledati ovako nekako:

$result = $wpdb->get_results ("SELECT challenger,challenged, date_match, CONCAT(g1, ‘:’, g2, ’ ', g3, ‘:’, g4, ’ ', COALESCE(g5, ‘’), IF(g6 = ‘’, ‘’, ‘:’), COALESCE(,g6, ‘’)) AS result1

gdje bi…

IF(g6 = ‘’, ‘’, ’ : ')

…značilo da se u slučaju praznog polja g6 ne ispisuje ništa, a u suprotnom se ispisuje dvotočka.
Tu samo obrati pažnju što ti točno prazno g6 polje vraća iz baze. U slučaju da je to možda NULL, onda to postavljaš unutar prvih navodnika.

p.s
Nisam testirao ali moguće da ti je zarez ispred g6 tipfeler.

Hvala! Uspjela sam to riješiti… :slight_smile: