Собственно, сразу начну с конкретики.
Требуется создать веб интерфейс фильтра пользователей, который подключается, соответственно, к базе с зарегистрированными пользователями.
На веб странице планируется разместить 11 веб форм, которые будут передавать введенные данные php обработчику. В php обработчике должна выполняться сама выборка пользователей, согласно критериям переданным из веб форм.
Далее все выбранные данные будут выводиться в определенном блоке для просмотра.
Собственно вопросы:
- правильно ли я написал соответствующий php обработчик с точки зрения логики php и SQL ?
- где могут возникнуть явные ошибки или косвенные?
Привожу сам код обработчика (он еще не дописан, но все же) :
CODE ( htmlphp):
скопировать код в буфер обмена
//присваиваем полученные данные переменным if (isset($_POST['id'])) { $id = $_POST['id']; if (isset($_POST['sername'])) { $sername = $_POST['sername']; if (isset($_POST['name'])) { $name=$_POST['name']; if (isset($_POST['firstname'])) { $firstname=$_POST['firstname']; if (isset($_POST['date'])) { $date=$_POST['date']; if (isset($_POST['email'])) { $email=$_POST['email']; if (isset($_POST['telephone'])) { $telephone=$_POST['telephone']; if (isset($_POST['position'])) { $position=$_POST['position']; if (isset($_POST['who'])) { $who=$_POST['who']; } if (isset($_POST['interests'])) { $interests=$_POST['interests']; } if (isset($_POST['gt'])) { $gt=$_POST['gt']; } // добавляем SQL лексику к параметрам фильтра $id_s = "`id` LIKE '%".$id."%'"; $sername_s = "`sername` LIKE '%".$sername."%'"; $name_s = "`name` LIKE '%".$name."%'"; $firstname_s = "`firstname` LIKE '%".$firstname."%'"; $date_s = "`date` LIKE '%".$date."%'"; $email_s = "`email` LIKE '%".$email."%'"; $telephone_s = "`telephone` LIKE '%".$telephone."%'"; $position_s = "`position` LIKE '%".$position."%'"; $who_s = "`who` LIKE '%".$who."%'"; $interests_s = "`interests` LIKE '%".$interests."%'"; $gt_s = "`gt` LIKE '%".$gt."%'"; // подключаемся к базе include ("bd.php"); mysql_query("SET NAMES utf8"); // делаем запрос на выборку данных из базы по указанным параметрам $result = mysql_query ("SELECT * FROM users WHERE $id_s AND $sername_s AND $name_s AND $firstname_s AND $date_s AND $email_s AND $telephone_s AND $position_s AND $who_s AND $interests_s AND $gt_s"); while($row=mysql_fetch_array($result)) // берем результаты из каждой строки { echo '' echo '<p><b>№=</b>'.$num.'<br> <b> Дата = </b>'.$row['create_date'].' <b> ФИО: </b>'.$row['sername'].' '.$row['name'].' '.$row['firstname'].' <br><br> <b> Дата рождения: </b> '.$row['date'].' <b> email: </b> '.$row['email'].' <br> <b> Телефон: </b> '.$row['telephone']. '<br> <b> Место работы/учебы: </b> '.$row['position'].' <br> <b> Статус: </b> '.$row['who']. ' <br> <b> Интерсы: </b> '.$row['interests'].'<br><br> <b> Мероприятия: </b> '.$row['gt'].'</p><br><br>';// выводим данные $num++; }
К сожалению вопрос очень срочный , и работу над ним веду в реальном времени. Убедительная просьба поделиться любыми полезными мыслями и идеями.
Всем советам/подсказкам/исправлениям буду очень благодарен и признателен. Так как я не осмелюсь назвать себя опытным программистом на php, любой новый опыт и любой новый метод, не применявшийся мною ранее, является ценнейшими.
Заранее благодарен (Отредактировано автором: 11 Ноября, 2012 - 06:09:36)
|