![]() |
Это опять я !!!! в условие where траблы
(((ama_tovar.id_type)=$id) AND ((ama_tovar_group.id)=$id_type))
вопрос в том, что странице, может не передоватся $id_type... то есть строка выглядит так http://www.aaa.ru/print_tovar_table.php?id=1&id_type= и в sql запрос воткнется неопределенное значение (((ama_tovar.id_type)=$id) AND ((ama_tovar_group.id)=???????)) суть вопроса в том , как сделать так, что бы автоматом убиралось AND ((ama_tovar_group.id)=$id_type)), или чтоюы $id_type становилосьчислом от 0 до бесконечности (может * незнаю...) |
можно простыми ифами...
если переменная передана - один запрос, если же нет - другой... |
Я кстати так и делал...
Что-то типа этого:
$sql_c = "select count(topic_id) from topics"; switch ($section){ case "1": $sql = "$sql_c where section='1'"; $section_name = strtoupper($sec_1); break; case "2": $sql = "$sql_c where section='2'"; $section_name = strtoupper($sec_2); break; case "3": $sql = "$sql_c where section='3'"; $section_name = strtoupper($sec_3); break; case "all":$sql = $sql_c; $section_name = strtoupper($sec_123); break; } $result = mysql_query($sql); |
о да огромный кекс люди...
|
$str="(((ama_tovar.id_type)=$id)";
if ($id_type>0) $str= $str+ "AND ((ama_tovar_group.id)=$id_type))"; |
На самом деле, просто надо один день попариться и написать Query.class, который имеет кучу методов под каждую SQL конструкцию... Я вот попарился - написал, теперь не надо воротить все эти if-else, которые абсолютно невозможно читать, если у тебя серьезный запрос с сабселектами и join statements. Очень советую =)
|
2LUNA
а можно поподробнее... или хотя бы абстрактный пример одного метода... |
Пишешь класс с методом для каждой SQL составляющей запроса...
Код:
Код:
$query_object = new Query("my_table"); |
| Часовой пояс GMT +4, время: 10:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.