j'ai écrit la requête suivante qui tenterait de sélectionner tous les événements où la date de départ est quelque chose de date (je start_date et champs date_fin dans le tableau):mysql ne pas inscrire logiquement
$query = "SELECT id,title,start_date
FROM events
WHERE start_date > NOW() - INTERVAL 30 DAY AND city = '$cityName'
ORDER BY start_date DESC";
La seule problème avec le code ci-dessus comme je me suis rendu compte était que si un événement a commencé disons 3 mois avant NOW()
alors il ne serait pas affiché. Je suis allé et j'ai essayé de le réécrire, mais ça n'a pas marché. ce que je réussi:
"SELECT id,title,start_date
FROM events
WHERE start_date >= NOW() - INTERVAL 30 DAY || start_date <= NOW() && end_date >= NOW() - INTERVAL 30 DAY";
Ce que j'ai essayé de faire est de sélectionner tous les événements où la date de début est supérieure ou égale date (NOW()
) ou même certains événements avec start_date qui peuvent être moins encore que la date actuelle la date de fin est après NOW()
. Des suggestions sur la façon dont cela devrait être réparé? Je veux qu'il montre tous les événements tant qu'ils ne sont pas déjà passés (bien sûr, cela signifie que la date de fin n'est pas inférieure à la date réelle actuelle).
Merci,
EDIT:
$query = "SELECT id,title,start_date FROM events WHERE start_date > NOW() - INTERVAL 30 DAY AND city = '$cityName' ORDER BY start_date DESC";
$query_posted = "SELECT id,title,start_date FROM events WHERE start_date > DATE_SUB(NOW(), INTERVAL 1 MONTH) AND city = '$cityName' AND category = '$tag' ORDER BY start_date DESC";
le premier chargé des événements après je l'ai modifié (modification non inclus), mais deuxième a échoué et je pense que cela est dû à deux autres et de l' fin.
'bien sûr cela signifie date de fin n'est pas moins date' courant réel Ne serait-ce que signifie que vous avez besoin' WHERE date_fin> = maintenant() '? – lanzz
@lanzz: Pourquoi n'écrivez-vous pas cela comme une réponse? –