• Hi,


    Ik ben met een cronjob bezig maar ik krijg de output van de datum dubbel eruit gegooid terwijl dit niet de bedoeling is.
    Het is de bedoeling wanneer spot & bold op 1 staan hij een datum ziet en krijgt, echter zie ik 2 extra datums die er niet moeten zijn.


    SQL
    SELECT bold,spot FROM domains WHERE bold = '1' OR spot = '1'


    Datum staan opgeslagen als (leeg voorbeeld): 0000-00-00
    Echter moet hij alleen de datum hebben wanneer spot of bold op 1 staan, dit zijn er momenteel 2 maar hij output er 4 waarvan 2 verkeerd (aangegeven in bijlage).


    De output daarvan staat als bijlage aangezien ik even geen domeinnaam hiervan vrij ga geven, wellicht binnenkort wel interessant voor de mensen hier.
    Heeft iemand enig idee wat er hier precies fout gaat, ik heb even geen idee waarom hij dit nou ouput....


  • Om eerlijk te zijn snap ik niet precies wat je bedoeld, maar probeer dit eens. Er kan ook een "else" tussen gedaan worden als je maar een van de tijden wilt hebben "Mocht beide toch 1 zijn."

  • ilaurens
    Dit doe ik al via de query zelf dus dat werkt niet, heeft te maken met dat ik bij de controle al zeg dat het spot of bold mag zijn dus hij output ze dan beide aangezien 1 waarde gevonden is.
    Ik heb het nu via 2 aparte query oproepen dat werkt wel gewoon maar vind ik niet echt netjes..


    Het probleem is dat hij beide datums oproept terwijl ik alleen de gevulde datum wil hebben, ik ben al even via Stackoverflow kijken of iemand soort gelijk probleem heeft gehad.

  • "spot = '1' || bold = '1'"


    Betekend of, dus als spot = 1 dan word de hele query gegeven dus ook met bold data, en het kan zijn dat daar niks is daarom moet er een 'if($domain->bold == 1)'


    zodat alleen een word gebruikt. Dit is ook mogelijk als alleen een van de twee mag gebruikt worden.


    Code
    echo '<pre><h1>' . ( $domain->bold == 1 ? 'Bold' : 'Spot') . ' date</h1>';
            echo date("d-m-Y", strtotime( $domain->bold == 1 ? $domain->bolddate : $domain->spotdate) ).'</pre>';
  • Hallo,


    Mogelijk dat je dit wilt proberen:

    SQL
    SELECT spot, bold, (SELECT CASE spot = '1' THEN 'spotdate' END) AS spotdate, (SELECT CASE bold= '1' THEN 'bolddate' END) AS bolddate FROM domains WHERE spot = '1' OR bold = '1'


    Heb het niet getest.


    Overigens sluiten wij geen topics meer tenzij dit echt vereist is. Verder heb ik je hoofdpost teruggedraaid aangezien dit ons beleid is in zulke gevallen plus dat het anders onduidelijkheid schept.


    Mvg,
    Tim

  • Tim
    Ik wil het via de query doen aangezien ik met PHP al genoeg moet controleren en daarom niet ook dat nog erbij wil zetten.
    Ga even uitzoeken wat het precies doet, bedankt voor het voorbeeld.


    Topic code post is niet van belang dus die heb ik weer verwijderd, gaat alleen om de query wat ik zoek.
    Neem aan dat ik zelf bepaal wat ik in me onderwerp plaats en wat niet, compleet verwijderen heb ik niet gedaan.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!