|
| |
|
|
| |
для: mjc66
(19.06.2007 в 15:06)
| | | Я бы обешелся без проверок...
вывести вначале или просто в подключаемом файле стилей
<style>
.tr0{background:#FF0000}
.tr1{background:#00FF00}
</style>
|
далее в коде.
$i = 0; // как и в пред. примере
while($t = @mysql_fetch_array($result)) {
print("
<tr class='tr".(($i++)%2)."'>
<td width='35%' class='search'><font color='#CC0000'>$t[name]</font></td>
<td width='20%' class='search'><font color='#0000CC'><a class=1 href=$t[page]>Найти на странице</a></font></td>
<td width='30%' class='search'><font color='#CC0000'>$t[group_production]</font></td>
</tr>
");
|
href="\$t[page]\"?id=\"$t[id]\" - неясен код... если В СТРОКЕ ставить "\" перед знаком "$" то это будет экранирование символа доллара, а значит значение переменной не подставится... + элементы массивов нужно заключать в "{...}"
или
href=\"{$t[page]}\"?id=\"{$t[id]}\"
|
или
...href=\"".$t[page]."\"?id=\"".$t[id]."\"...
|
далее, про пустую строку... проверяйте ее длину в первую очередь =)
if(strlen(trim($str)) == 0)
выдать, что строка пустая - повторите ввод. | |
| |
|
|
| |
|
|
| |
для: mjc66
(19.06.2007 в 15:06)
| | | Для чередования цвета введите в цикле while какую-нибудь переменную, и проверяйте ее кратность двум. Примерно так:
<?
$i=0;
while(...){
?><tr <?if($i%2==0){?>bgcolor="silver"<?}?>><td>ааа</td></tr><?
$i++;
}
?>
|
Что касается ссылки - не создавайте себе мучений. Выйдите из php, нарисуйте все что нужно, и вернитесь в него. Все очень просто:
<?
while(...){
?>
<a href="<?=$t['page'];?>?id=<?=$t['id'];?>"></a><br>
<?
}
?>
|
И почитайте об sql injection. Скрипт уязвим. А еще - стоит поменять пароль к базе. | |
| |
|
|
| |
|
|
| | Код скрипта следующий:
<?php
print("
<table border='1'
cellspacing='2' cellpadding='1'
class='search'><caption align=top
class='search'>Результат поиска:</caption><tr><td width='35%'
class='search_top'
align='center'><b>Наименование товара</b>
</td><td width='20%' class='search_top'
align='center'><b>Страница в
каталоге</b></td><td width='30%'
class='search_top'
align='center'><b>Группа товаров</b></td>
</tr>");
//соединение с MySQL
$db_host = "localhost";
$db_user = "elekoru3";
$db_password = "thoo7Goith";
$db_name = "elekoru3_nomenclature";
$connection = mysql_connect ($db_host, $db_user, $db_password) or die ('error connection');
mysql_select_db($db_name, $connection);
//переменные
@$id =$_GET['id'];
@$name =$_GET['name'];
@$page =$_GET['page'];
@$group_production =$_GET['group_production'];
//checkbox
if ($id) {
$srch='id';} //id - имя столбца в таблице
if (isset($name)) {
$srch='name';} //name - имя столбца в таблице
if ($page) {
$srch='page';} //page - имя столбца в таблице
if ($group_production) {
$srch='group_production';} //group_production - имя столбца в таблице
$query = "SELECT * FROM production WHERE $srch like '%$name%' ";
@$result = mysql_query($query) or die("<div class='search' align='center'><font color='#CC0000'><b>Ошибка запроса!</b></font></div>");
if (mysql_num_rows($result) > 0)
{
//блок вывода результатов
}
else echo "<div class='search'
align='center'>
<font color='#CC0000'><b>По вашему
запросу ничего не найдено! Попробуйте
изменить условия поиска.</b></font>
</div>";
while($t = @mysql_fetch_array($result)) {
print("
<tr>
<td width='35%'
class='search'><font
color='#CC0000'>$t[name]</font></td>
<td width='20%' class='search'><font color='#0000CC'><a
class=1 href=$t[page]>Найти на странице</
a></font></td>
<td width='30%'
class='search'><font
color='#CC0000'>$t[group_production]</
font></td>
</tr>
");
}
print("</table>");
?>
|
Работу поискового скрипта можно посмотреть на http://www.el-eko.ru/Price.php
Хотелось бы его оптимизировать следующим образом:
1. Результатом поиска является таблица, в которой по результатам поиска может быть несколько строк, так вот нужно, чтобы осуществлялось чередование цвета фона этих строк. Как это сделать?
2. Ссылка "Найти на странице" ведет нас на ту страницу где находится выбранный товар, так вот нужно чтобы эта страница открывалась и показывала при помощи выделения каким-нибудь цветом тот самый выбранный товар. Умные люди предложили следующий вариант:
href="\$t[page]\"?id=\"$t[id]\"
| ,
но при таком раскладе при переходе по ссылке получаю сообщение об ошибке 404 т.е. как я понимаю скрипт благополучно определяет id товара, но результат не может вставить в дизайн страницы. Подскажите как решить эту проблему.
3. Если при незаполненном поле поиска нажать кнопку "Найти", то выводится вся БД, как исключить такую возможность? | |
| |
|
|
|