Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Базы данных (MySQL, PostgreSQL, ODBC, ...) _ Php Mysql

Автор: Necron 28.5.2007, 16:10

Суть проблемы: под денвером делается куча лаб по пхп, смысл одной из них поиск в таблице мускл товаров по цене(<>=) значок и цифра выбираются в форму и пересылаются в скрипт где переменные подставляются в мс_квери вывод на экран показал что все правильно(визуально), но не работает или выводит все или ничего (99%). изменение типа переменной-числа на дабл никчему не привело, остальные извращения тоже.
Как можно решить эту проблему? Заранее спасибо.

Автор: gid 28.5.2007, 16:59

Не совсем понял вопрос, но все же постараюсь ответить.

Если проблема непосредственно в mysql запросе, то не видя того, каким запросом Вы пользуетесь, и не зная примерной структуры таблицы ничем помоч не смогу. Но могу посоветовать все условия заключать в круглые скобки, а переменные в одинарные кавычки.

Если же проблема с выводом полученных данных, то для приведения любого типа данных к типу integer можно осуществить с помощью спец. функции (int) перед переменной. Как пример:

Код

<?php
$a = " 54 sd f";
$b = (int)$a;
echo $b; // должно напечататься 54
?>

Автор: Necron 1.6.2007, 20:03

есть форма в которую вводят данные на поиск:
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
<table border="1" bgcolor="#99cccc">
<tr>
<td>Автор</td>
<td align="center"><input type=text name="a" value="" size="20" maxlength="20"></td>
</tr>
<tr>
<td>Название</td>
<td align="center"><input type=text name="b" value"" size="20" maxlength="20"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type=submit name="Go" value="Отправить заказ"></td>
</tr>
</table>
</form>
есть функция куда они передаются:
function search($usertable,$a,$b)
{
$query = "SELECT * FROM `$usertable` WHERE `Author` LIKE '%$a%' AND `Bookname` LIKE '%$b%'";
$result = MYSQL_QUERY($query);
echo '<table border align="left" width="50%">';
echo '<tr>';
echo "<th>Автор</th><th>Название</th><th>Цена</th>\n";
echo "</tr>\n";
while ($row =mysql_fetch_assoc($result))
{
echo "<tr>\n";
echo "<td>".$row["Author"]."</td>";
echo "<td>".$row["Bookname"]."</td>";
echo "<td>".$row["Cost"]."</td>";
echo '</tr>';
}
echo'</table>';
}
строка для поиска по цене создавалась по образу и подобию знак вводился с клавы

Invision Power Board ()
© Invision Power Services ()