Davidson 0 Zgłoś post Napisano Listopad 1, 2013 Witam, jestem w przygotowaniu prostego panelu gracza do mysql, i mam pytanie! Adres strony: http://powerplay24.pl/game.php?id=banlist Pobieram datę wygaśnięcia bana która jest równa "0000-00-00 00:00:00", Jak zapisać polecenie: JEŚLI "EndBan" JEST RÓWNY 0000-00-00 00:00:00 TO NAZWIJ GO "Nigdy". Licze na waszą pomoc $result = mysql_query("SELECT Nick, DataBan, Admin, Powod, EndBan FROM Bany"); echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['EndBan'] . "</font></td>"; Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Listopad 1, 2013 mysql_query? Obudź się chłopie, jest 2013 roku, XXI wiek. Ta strona Ci pomoże. Udostępnij ten post Link to postu Udostępnij na innych stronach
Davidson 0 Zgłoś post Napisano Listopad 1, 2013 Czym mam zastąpić mysql_query? Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Listopad 1, 2013 Z mysql_query wyciągaj to co chcesz do jakiejś zmiennej i wtedy porównuj. Udostępnij ten post Link to postu Udostępnij na innych stronach
Davidson 0 Zgłoś post Napisano Listopad 1, 2013 Okej, za chwileczkę spróbuje to zrobić sam. mysql_query? Obudź się chłopie, jest 2013 roku, XXI wiek. Ta strona Ci pomoże. A co mi kolega powie na ten temat bo nie rozumiem, mysql_query przestarzałe czy co? Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Listopad 1, 2013 Z tego co podałeś w pierwszym poście nic nie wynika. Co chcesz zrobić dokładnie? Udostępnij ten post Link to postu Udostępnij na innych stronach
Davidson 0 Zgłoś post Napisano Listopad 1, 2013 Tak wygląda kod: <?php include 'db.php'; $result = mysql_query("SELECT Nick, DataBan, Admin, Powod, EndBan FROM Bany"); echo "<table border='0'> <tr> <th bgcolor=\"2a2b2c\"><font color='00c7ff' face='Verdana'>Nick</font></th> <th bgcolor=\"2a2b2c\"><font color='00c7ff' face='Verdana'>Data nałożenia</font></th> <th bgcolor=\"2a2b2c\"><font color='00c7ff' face='Verdana'>Data wygaśnięcia</font></th> <th bgcolor=\"2a2b2c\"><font color='00c7ff' face='Verdana'>Admin</font></th> <th bgcolor=\"2a2b2c\"><font color='00c7ff' face='Verdana'>Powód</font></th> </tr>"; while($row = mysql_fetch_array($result)) { echo "</tr>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Nick'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['DataBan'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['EndBan'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Admin'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Powod'] . "</font></td>"; echo "</tr>"; } echo "</table>"; if ( !mysql_close() ) { echo 'Nie moge zakonczyc polaczenia z baza danych'; exit (0); } ?> Teraz chcę zrobić tak - jeśli wartość EndBan = 0000-00-00 00:00:00 , to żeby w tabeli zamiast "0000-00-00 00:00:00" było napisane "Nigdy". Udostępnij ten post Link to postu Udostępnij na innych stronach
Miłosz 2311 Zgłoś post Napisano Listopad 1, 2013 No to dodaj sobie w pętli prostego ifa na zawartość pola EndBan Udostępnij ten post Link to postu Udostępnij na innych stronach
Davidson 0 Zgłoś post Napisano Listopad 1, 2013 (edytowany) Nigdy tego nie robiłem, uczę się języka dopiero, w sumie jest to mój pierwszy "skrypt" - jeśli można to w ten sposób nazwać, bo "obcego" za wiele tam nie ma Co robię źle? $nigdy = $row['EndBan']; for( $nigdy == 0000-00-00 00:00:00){ echo $nigdy = "Nigdy"; } Edytowano Listopad 1, 2013 przez Davidson (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotr GRD 608 Zgłoś post Napisano Listopad 1, 2013 (edytowany) W już istniejącej pętli "ifa", czyli użyj IF. while($row = mysql_fetch_array($result)) { echo "</tr>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Nick'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['DataBan'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>"; if ($row['EndBan'] == '0000-00-00 00:00:00') { echo 'Nigdy'; } else { echo $row['EndBan']; } echo "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Admin'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Powod'] . "</font></td>"; echo "</tr>"; } Edytowano Listopad 1, 2013 przez Piotr GRD (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Davidson 0 Zgłoś post Napisano Listopad 1, 2013 Dziękuje za pomoc! Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Listopad 1, 2013 Czym mam zastąpić mysql_query? Albo mysqli_query, albo PDO. Można jeszcze uprościć sposób Piotra: while($row = mysql_fetch_array($result)) { $ban = ($row['EndBan'] == '0000-00-00 00:00:00') ? $row['EndBan'] : 'Nigdy'; echo "</tr>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Nick'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['DataBan'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $ban . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Admin'] . "</font></td>"; echo "<td bgcolor=\"3b3c39\"><font color='white' face='Verdana'>" . $row['Powod'] . "</font></td>"; echo "</tr>"; } @OP: Swoją drogą, niezłą siekę wymodziłeś Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Listopad 1, 2013 Tego tak się nie robi. Ustaw dla pola EndBan możliwość ustawiania wartości NULL, a następnie tam, gdzie nie jest ono potrzebne, to ustawiaj NULL. Wtedy w zapytaniu możesz zastosować konstrukcję SELECT Nick, DataBan, Admin, Powod, COALESCE(EndBan, "nigdy") FROM ... Udostępnij ten post Link to postu Udostępnij na innych stronach
Rangal 0 Zgłoś post Napisano Listopad 17, 2013 Troche offtopic ale mam dla Ciebie dobrą radę. Zainteresuj się czymś takim jak PHP Data Objects (PDO), Doctrine lub Propel.Ewentualnie naucz się obsługi jakiegoś małego frameworka (np CakePHP).Wtedy znacznie łatwiej Ci wszystko będzie zrobić. Twój kod będzie bezpieczniejszy.Wyciągnięcie wszystkich banów wtedy to: $this->Ban->find('all');Znacznie wszystko upraszcza.I odpowiedź na Twoje pytanie. W pliku w którym generujesz widok html zamień zmienną:" $row['EndBan'] "na " str_replace('0000-00-00 00:00:00', 'nigdy', $row['EndBan']); "Pozdrawiam. To rozwiązanie jest znacznie lepsze niż ify Udostępnij ten post Link to postu Udostępnij na innych stronach