Проблем със заявка ...

4 отговора 134 прегледа
#1

Проблем със заявка ...

Използвам следната функция за да "напълня" комбо бокс със стойности (varchar) от едно поле в mysql таблица:

function FillCombo($DB_Table,$DB_Data,$ComboName, $Order, $Extra, $NotSel).

Ако мислите, че в нея е проблема ще я постна, за да я разгледате, но според мен работи правилно.

Проблема е , че когато правя заявка SELCT * FROM Table WHERE pole LIKE 'izbrana stoinost ot komboto';, стойността се реже до първия интервал и съответно заявката не връща резултат.
Например ако избраната стойност е "ФирмаХ ООД", получавам заявка : SELECT * FROM Table WHERE pole LIKE 'ФирмаХ';

Ето частта от кода:
.........
$ppole=$HTTP_POST_VARS['pole'];
$sql="Select * FROM $TDela WHERE strana1 like '$ppole';";
ConnectToMysql(); //connect to mysql, connect to database
$resultsql=ExcQuery($sql);
echo $sql;
...........

Къде греша?
Благодаря предварително!

Отговор
в отговор на _danitu #2

Re: Проблем със заявка ...

И без да гледам функцията, ще ти кажа, че грешката ти вероятно е в нея. Предполагам правиш нещо такова вътре:
echo "<option value=$value>$value</option>";

И липсват кавичките. Трябва да е
echo "<option value=\"$value\">$value</option>";

и ще стане. Това поне според гадателските ми способности.

Отговор
в отговор на voyager #3

Re: Проблем със заявка ...

Използвам printf....
Какво правим сега?

printf("<select name=$ComboName>");
printf("<option value = 0>$NotSel</option>");
while (($row = mysql_fetch_object($resultsql))) {
printf("<option value = %s>%s</option>\n",$row->$Order, $row->$DB_Data);
}
printf("</select>");
@mysql_free_result($resultsql);
}

Мерси за бързия отговор!

Отговор
в отговор на _danitu #4

Re: Проблем със заявка ...

printf("<option value = \"%s\">%s</option>\n",$row->$Order, $row->$DB_Data);

...\r\n
Отговор
в отговор на Цвeтaн Цвeтkoв #5

Re: Проблем със заявка ...

Стана ;-). Благодаря и на двама ви!

Отговор