Здравствуйте, на первой страничке разместил новости, немного заголовка и текст новостей а теперь хотелось бы чтобы внизу было Подробно и при необходимости можно было перейти на страничку news.php и прочитать новости. Хотелось подсказки а то в гугле не смог сформировать в двух словах.
в скрипте передаю значение переменной которую ранее объявлял, но хотелось бы переменную посылать вместе с LIKE но че то ПХП ругается на мой скрипт, пожалуйста помогите разобраться. Собственно и скрипт:
WHERE clients.DateCreated LIKE 'CAST('".$date1." 00.00.00%' AS DATETIME)'";
этот параметр находится в КомбоБокс-е, мне необходимо выполнить запрос с передачей этого параметра в этот запрос:
<?
$ct_ok = 0;
$ct_cancelled = 0;
$ct_error = 0;
$ct_processing = 0;
$ct_all = 0;
$total = 0;
$d1 = explode(" ", $date1);
$d11 = explode(".", $d1[0]);
$date1 = $d11[2]."-".$d11[1]."-".$d11[0]." ".$d1[1];
$d2 = explode(" ", $date2);
$d22 = explode(".", $d2[0]);
$date2 = $d22[2]."-".$d22[1]."-".$d22[0]." ".$d2[1];
$tsql = "SELECT CONVERT(char(10), receipts.DateCreated, 103) + ' ' + CONVERT(char(10), receipts.DateCreated, 108) as DateCreated,
agents.LName, agents.FName, payment_types.pname, receipts.SourceId, receipts.TargetId, receipts.Amount,receipts.Comment,
users.LName as UserLName, users.FName as UserFName, users.AgentId as Agent
FROM receipts
INNER JOIN agents ON receipts.SourceId=agents.AgentId
INNER JOIN payment_types ON receipts.PType=payment_types.pty pe
INNER JOIN users ON users.AgentId=receipts.TargetId AND users.Role='1'
WHERE receipts.SourceId=".$agent."
AND receipts.DateCreated BETWEEN CAST('".$date1.".000' AS DATETIME) AND CAST('".$date2.".999' AS DATETIME)
ORDER BY receipts.DateCreated";
//echo $tsql;
$stmt = sqlsrv_query($conn, $tsql);
//if($stmt){
$amount=0;
while($row = sqlsrv_fetch_array($stmt))
{
if($row['IsCompany']==1){$agentname = $row['CompanyName'];} else {$agentname = $row['LName']." ".$row['FName'];;}
$amount+=$row['Amount'];
$target = $row['UserLName']." ".$row['UserFName'];
?>
<tr>
<td class="td_date"><?echo str_replace('/', '.', $row['DateCreated']);?></td>
<td class="td_oper"><?echo iconv('cp1251', 'utf-8', $agentname);?></td>
<td class="td_tran"><?echo iconv('cp1251', 'utf-8', $row['pname']);?></td>
<td class="td_oper"><?echo iconv('cp1251', 'utf-8', $target);?></td>
<td class="td_tran"><?echo number_format($row['Amount'], 2, '.', '');?></td>
<td class="td_tran"><?echo iconv('cp1251', 'utf-8', $row['Comment']);?></td>
</tr>
<?
$ct_all++;
}
?>
Если пользователь зашел на страничку и без выбора параметров нажал на кнопку ОТЧЕТ, то надо в запросе поставлять параметр WHERE receipts.SourceId=".$agentid." а если выбрал какой нибудь параметр то нужно передать WHERE receipts.SourceId=".$agent."
ПРоблема в том что не могу условие задать, прошу помочь если не трудно
Когда просто нажимаю кнопку ОТЧЕТ показывает но мне еще нужно чтобы если выбрать параметр из комбобокс тоже показывало но уже с измененным параметром receipts.SourceId=".$agent."
option есть, значит выше - есть select. У select'а есть имя и оно передаётся крипту при отправке формы.
Вот и смотрите в обработчике - пришёл селект с формы, и если да, и не является служебным пунктом типа "выбери меня, выбери меня!", то вставляете условие в запрос..
В запрос поставить параметр не проблема, только иногда пользователь может не выбрать этот пунк и запросить просто с WHERE UserId=".$user."
if(!empty($where))$sql.=" where ".join(' and ',$where);
Спасибо огромное за ответ, узнал про empty и isset.
Но у меня проблема немного иного характера, например есть два параметра после WHERE Name=".$Name." AND FName=".$FName." если пользователь зашел на старичку и нажал кнопку ОТЧЕТ то запрос должен быть типа WHERE Name=".$Name." а если выбрал пункт FName из ComboBox то запрос будет типа WHERE Name=".$Name." AND FName=".$FName."
Уже несколько дней бьюсь головой об стенку не помогает , проблема заключается в том что пишу типа отчетную страничку и надо бы в TSQL - запросе передать несколько параметров и иногда некоторые параметры могу отсутствовать, как сделать так чтобы при запросе данных и отсутствии одного из параметров запроса заменить значением по умолчанию?
Например запрос:
SELECT Name, FName, WorkPlace FROM Users WHERE Name=".$User." AND FName=".FName."
и скажем попадется пользователь у которого нет фамилии а у меня в запросе стоит параметр FName=".FName." и соответственно выдаст мне ошибку,
Заработало, нужно было только убрать action="obrabotchik.php" чтобы заработало. Как теперь изменить текст кнопки? а то у меня написано Отправить и не знаю откуда это