Присвоение.

phpusershik

Using PHP
Присвоение.

Подскажите пожалуйста как присвоит значение:
$year-$month-$date к новой переменной $new?

Делаю:

$new = $year-$month-$date;

$new = '$year-$month-$date';

$new = ''$year-$month-$date'';
$new = ($year-$month-$date);

Не помогает выводит при:

echo "$new";
1991 и т.п.
 

Фанат

oncle terrible
Команда форума
1. оператор объединения строк в пхп - точка.
2. строки в пхп надо заключать в кавычки.
без кавчек символ - одначает знак минус
 

phpusershik

Using PHP
Автор оригинала: Фанат
1. оператор объединения строк в пхп - точка.
2. строки в пхп надо зсключать в кавычк.
без кавчек символ - одначает знак минус
Так что-ли?
$new = "$year"."-"."$month"."-"."$date";
 

Lews

Новичок
Правильней было бы:
$new = $year."-".$month."-".$date;

или, на крайний случай:
$new = "$year-$month-$date";
 

Фанат

oncle terrible
Команда форума
phpusershik
В кавычках в пхп пишутся СТРОКИ.
а переменные пишутся со знака доллара.

-~{}~ 06.09.05 20:25:

когда я вижу дату его регистрации на форкме и вспоминаю, сколько раз отвечал на его вопросы, то мне становится страшно.
 

phpusershik

Using PHP
А вот здесь в условие 'else if' как дописать условие:

//
$sql = "SELECT * FROM data WHERE date='$year-$month-$date' and id='$id2'";
$result = mysql_query($sql,$db);
for ($n = 0; $n < mysql_num_rows($result); $n++) {
$dates = mysql_result($result, $n, "dates");

$new=$year."-".$month."-".$date;

if ($new == $dates)
{
echo "<TD class=\"td\" bgcolor=\"yellow\">";
echo "$dates'";
echo " </TD>\n";
}
else if (здесь сделать условие что когда в базе данных нет в поле dates значение на соответствующую значение для $new )
{
echo "<TD class=\"td\" bgcolor=\"red\">";
echo "empty";
echo " </TD>\n";
}
else
{
echo "<TD class=\"td\">";
echo " - ";
echo " </TD>\n";
}
}
//

-~{}~ 06.09.05 21:00:

А что вот в моем вопросе непонятного?
 

phpusershik

Using PHP
Как правильно указать вот буквально в хэтой части:
\\
else if (здесь сделать условие что когда в базе данных нет в поле dates значение на соответствующую значение для $new )\\

что-бы когда он проверяет по полю(dates) таблицы то при таком значение $new когда в полю(dates) таблицы нету такого соответсвующего значения он выводил ячейку:
echo "<TD class=\"td\" bgcolor=\"red\">";
echo "empty";
echo " </TD>\n";

-~{}~ 06.09.05 21:25:

Требуется то что если есть соостветсвующее значение то он выводил это значение 'иначе' он выводил "-".
Я делаю так но он это 'иначе' понимает только как неравно в существующих значениях - а мне надо что-бы он понимал как 'нет' !!!!

-~{}~ 06.09.05 21:49:

Я понял как нужно прогнать по циклу внутри цикла (от начальной даты $month до конечной даты $month) и сравнивать при каждом шаге :)
А как правильно вычислить конечную дату для $month?

так что ли?:

$lastdayofmonth = mktime(0, 0, 0, $month+1, 0, $year);
 

s0ck

Guest
вот те как вариант.

PHP:
$new = "$year-$month-$date";
$q = mysql_query("SELECT * FROM data WHERE date='$new' AND id='$id2'", $db) or die(mysql_error());
while($r = mysql_fetch_array($q))
    if($new === $r['dates'])
        echo '<TD class="td" bgcolor="yellow">'.$r['dates'].'</TD>';
    elseif($r['dates'])
        echo '<TD class="td" bgcolor="red">empty</TD>';
    else
        echo '<TD class="td">-</TD>';
$lastdayofmonth = mktime(0, 0, 0, $month+1, 0, $year); - а это зачем? или я чета не догоняю.
 

phpusershik

Using PHP
Автор оригинала: s0ck
вот те как вариант.

PHP:
$new = "$year-$month-$date";
$q = mysql_query("SELECT * FROM data WHERE date='$new' AND id='$id2'", $db) or die(mysql_error());
while($r = mysql_fetch_array($q))
    if($new === $r['dates'])
        echo '<TD class="td" bgcolor="yellow">'.$r['dates'].'</TD>';
    elseif($r['dates'])
        echo '<TD class="td" bgcolor="red">empty</TD>';
    else
        echo '<TD class="td">-</TD>';
$lastdayofmonth = mktime(0, 0, 0, $month+1, 0, $year); - а это зачем? или я чета не догоняю.
Забудь про $lastdayofmonth а вот такого типа я тоже делал но вот это часть не работает:
То есть на соответсвующее $new допустим на 2005-08-28 нет данных он вроде должен вывести:
\\
else
echo '<TD class="td">-</TD>';
\\
Но он не выводит тире.
Потому-что если соответсвующей данных есть он выводит:
\\
if($new === $r['dates'])
echo '<TD class="td" bgcolor="yellow">'.$r['dates'].'</TD>';
\\
а если существующие данные не совпадают то он выводит:
\\
elseif($r['dates'])
echo '<TD class="td" bgcolor="red">empty</TD>';
\\

-~{}~ 07.09.05 14:15:

УРА у меня получился я зделал вот так:


$sql = "SELECT * FROM data WHERE date='$year-$month-$date' and id='$id2'";
$resk = @mysql_query($sql,$db);
$res = mysql_num_rows($resk);
for ($k = 0; $k < $res; $k++) {
$dates = @mysql_result($resk, $k, "dates");

$new=$year."-".$month."-".$date;

echo "<TD class=\"td\" bgcolor=\"red\">";
echo "$dates";
echo " </TD>\n";
}
if ($res)
{

}
else
{
echo "<TD class=\"td\">";
echo " - ";
echo " </TD>\n";
}

:)

-~{}~ 07.09.05 14:51:

Но он медленно работает :(
Сейчас постараюсь зделат вот так вывести одним махом за месяц данные а потом уже рисовать.....
 
Сверху