Изменит sql запрос

Главные вкладки

Аватар пользователя clubwave.ru clubwave.ru 5 апреля 2010 в 4:09
SELECT node.nid AS nid FROM node node LEFT JOIN content_type_bio node_data_field_birthday ON node.vid = node_data_field_birthday.vid
WHERE (node.type IN ('bio')) AND (DATE_FORMAT(STR_TO_DATE(node_data_field_birthday.field_birthday_value, '%Y-%m-%dT%T'), '%Y-%m-%d') = '2000-01-01')

Данный запрос выводит список из id нод профилей, с указанной датой 2000-01-01

Как сделать так, чтобы год не играл роли в данном запросе, т.е. получить все ноды с указанным месяцем и числом?

Комментарии

Аватар пользователя clubwave.ru clubwave.ru 6 апреля 2010 в 2:27

с запросом разобрался

теперь пытаюсь получить значения непосредственно на странице друпала и почему-то не выходит.. что не так в этом коде?

<?php$d = date('d',time());
$m = date('m',time());

$mysql = "SELECT node.nid AS nid FROM node node LEFT JOIN content_type_bio node_data_field_birthday ON node.vid = node_data_field_birthday.vid WHERE (node.type in ('bio')) AND DATE_FORMAT(STR_TO_DATE(node_data_field_birthday.field_birthday_value, '%Y-%m-%dT%T'), '%m-%d') = '".$m."-".$d."')";

$mysql = db_query($mysql);
$myresult = db_fetch_object($mysql);
print_r($myresult);?>

и почему например такая схема работает?

<?php$comments = db_result(db_query("SELECT count(*) AS count FROM {comments}"));
echo $comments;?>

а такая нет?

<?php
$d 
date('d',time());
$m date('m',time());

$mysql "SELECT node.nid AS nid FROM node node LEFT JOIN content_type_bio node_data_field_birthday ON node.vid = node_data_field_birthday.vid WHERE (node.type in ('bio')) AND DATE_FORMAT(STR_TO_DATE(node_data_field_birthday.field_birthday_value, '%Y-%m-%dT%T'), '%m-%d') = '".$m."-".$d."')";

$myresult db_result(db_query($mysql));
echo 
$myresult;?>
Аватар пользователя othereality othereality 6 апреля 2010 в 15:59

Воспользуйтесь вот этим, т.к. db_result возвращает массив в вашем запросе

<?php
$result 
db_query("SELECT nid, title FROM {node}");
foreach (
$result as $record) {
  
// Do something with each $record
  
print $record->nid $record->title// к примеру
}
?>