
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||||||||||||||
![]() Пользователь ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 93 Пользователь №: 20695 На форуме: Карма: ![]() |
Доброго времени суток всем.
У меня есть таблица, в одной из ячеек которой записаны имена людей через запятую. вот так Vasya, Petya, Kolya и т.д. Мне нужно как-то сделать запрос, чтобы можно было взять каждое имя в отдельности для формирования ссылок для каждого имени, например: <a href="<?php $_SERVER['REQUEST_URI'].'Vasya' ?>">Vasya</a> Так же интересует функция, которая может проверить содержимое ячейки на совпадение с переменной. Т.е. загоняем в переменную чье-то имя $mane='Vasya'; а после ячейку в БП (например, такую:Vasya, Petya, Kolya) проверяем на наличие этого имени и при совпадении одного из имен проводим некую операцию. Спустя 40 минут, 19 секунд (17.12.2011 - 02:05) redreem написал(а): рады за вас ![]() ![]() Спустя 6 минут, 47 секунд (17.12.2011 - 02:12) Joliat написал(а): redreem, Вы случайно не потерялись? Вы сейчас вообще о чем? Спустя 34 секунды (17.12.2011 - 02:13) Игорь_Vasinsky написал(а): виталик по делу напишет, про булки инпост добавит. ТС.. нужно ознакомится с примитивными функциями работы с БД+php, попыток не видно а Виталик вроде в баню пошёл... за последний хлебулочный фабрикат))) Спустя 1 минута, 59 секунд (17.12.2011 - 02:15) Игорь_Vasinsky написал(а):
это наверно html5 такой GET параметр стал поддерживать.. надо обновить апач... Спустя 2 минуты, 23 секунды (17.12.2011 - 02:17) Joliat написал(а): Игорь_Vasinsky, я понимаю, что пятница и все такое, но русским языком объяснить можно? Если б знал как называются эти функции, чего бы я сюда тогда писал? Пришел за советом, а Вы мне говорите, что я должен знать ответ перед тем как задать вопрос! Спустя 5 минут, 56 секунд (17.12.2011 - 02:23) Игорь_Vasinsky написал(а): ну во-первых о передачи данных в URL первый параметр передаётся через ? последующие через & name = value index.php?action=view&id=5 Во вторых - БД - эти имена.. много имён..разделены через "," для этого explode() будет массив.. foreach - поможет (долго искал букву "ж", думал нету..а нашёл) и вот вотом цикле - собирать url уф... с трудом...... пятница... Спустя 3 минуты, 27 секунд (17.12.2011 - 02:26) Joliat написал(а): Вот нашел кусок кода касающийся первого вопроса: $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; Но как сделать мой вывод без цикла? <a href="<?php $_SERVER['REQUEST_URI'].'Vasya' ?>">Vasya</a> Спустя 5 минут, 8 секунд (17.12.2011 - 02:31) Игорь_Vasinsky написал(а): уф. 1. подключиться к БД mysql_connect() 2. выбрать БД mysql_select_db() 3. запрос на получние данных из БД SELECT * FROM table 4. получить ответ из БД в виде ассоц. массива mysql_fetch_assoc() 5. из строки, которая вернула БД - собрать массив explode(",", ????) 6. сс помощью цикла foreach обработать каждый элемент массива - формируя URL с GET (см 1й пост) Спустя 2 минуты, 34 секунды (17.12.2011 - 02:34) Joliat написал(а): Вот нашел еще кусок: <?php Можно считать с первым пунктом разобрались, я после сам все доделаю. Второй и последний (на данный момент)- Сравнение переменной с другой на наличие совпадений. Спустя 24 секунды (17.12.2011 - 02:34) redreem написал(а): $c = ''; Спустя 6 минут, 30 секунд (17.12.2011 - 02:41) Игорь_Vasinsky написал(а): а что содержит REQUEST_URI стесняюсь спросит? а по поводу
какоё с какой, на конкретном примере. Спустя 2 минуты, 6 секунд (17.12.2011 - 02:43) Joliat написал(а): второй вопрос как я понимаю решается по средствам "strpos"? Спустя 1 минута, 47 секунд (17.12.2011 - 02:45) Joliat написал(а): Игорь_Vasinsky, конкретный пример приводил в самом первом сообщении:
Спустя 1 минута, 31 секунда (17.12.2011 - 02:46) Игорь_Vasinsky написал(а): не факт, эта функцияя ищет лишь совпадение, если речь идёт о сравнении то == да тут речь идет об идентичности - а это == Спустя 8 секунд (17.12.2011 - 02:46) inpost написал(а): <?php $_SERVER['REQUEST_URI'].'Kolya' ?> ГДЕ ВЫВОД? Где функция вывода? А наличие обычным условием. if($var == 'Kolya') {echo ' class="checked"';} Спустя 5 минут, 2 секунды (17.12.2011 - 02:51) Joliat написал(а): inpost, с этим вопросом, можно сказать, уже разобрались. Сейчас о совпадении и спать.)) Спустя 13 минут, 40 секунд (17.12.2011 - 03:05) Игорь_Vasinsky написал(а): я же написаал - == if($var == $var2) Спустя 15 часов, 24 минуты, 45 секунд (17.12.2011 - 18:30) Joliat написал(а): С первым вопросом разобрался и уже воплотил в код, который радует и работает, только есть один ньюанс: код такой:
Идет перечень имен через запятую и в конце списка опять стоит запятая. Как ее заменить на точку? я подозреваю, что можно через substr, но куда его тут вставить? Теперь второй вопрос. Есть таблица вида (упрощенно): id | user_name ------------------------- 02 | Vasya, Kolya 05 | Petya, Pasha 09 | Vasya Как извлечь все id, где встречается имя Vasya? Спустя 37 минут, 44 секунды (17.12.2011 - 19:08) inpost написал(а): Joliat Через массив: $array[] = "<a>...</a>"; Спустя 2 минуты, 1 секунда (17.12.2011 - 19:10) inpost написал(а): Вопрос второй - нарушение основных правил работы mysql, которое гласит, что связку надо делать между таблицами, и каждая запись должна быть, а не объединять. id id_part user_name 1 02 Vasya 2 02 Kolya 3 05 Petya 4 05 Pasha Спустя 20 минут, 55 секунд (17.12.2011 - 19:31) Joliat написал(а): я пользуюсь, тем что есть - движек WP. так что? это не реально? по-моему, по такому принципу должен работать поиск по контенту. или я не прав? какую функцию нужно использовать в моих целях? Спустя 6 минут, 48 секунд (17.12.2011 - 19:37) killer8080 написал(а):
$str = rtrim($str, ', ').'.'; Спустя 22 минуты, 56 секунд (17.12.2011 - 20:00) inpost написал(а): Joliat Вопрос первый с уточнением: $array = array(); Вопрос второй: Ну значит криво у тебя, нарушено главное правило целостности СУБД. Почитай про 6 основных правил, чтобы понимать о чём я говорю. Спустя 6 минут, 37 секунд (17.12.2011 - 20:07) Joliat написал(а): Первый вопрос решен собственным методом: for ($i=0; $i < count($oneuser)-1; $i++) { Разве на второй никто не знает ответ? Тут же все гуру PHP! Вы хоть натолкните на мысль, если знаете ответ. Спустя 2 минуты, 43 секунды (17.12.2011 - 20:10) Joliat написал(а):
Вся жизнь кривая, но с этим же не мирятся, а что-то делают! Скажите как происходит поиск фразы в ячейке с контентом и мне этого должно хватить. Т.к. тут схожие процессы. Я сейчас о втором вопросе! Спустя 3 минуты, 9 секунд (17.12.2011 - 20:13) inpost написал(а): В нормальной форме вот так: SELECT DISTINCT(`id_part`) FROM `table` WHERE `name` = 'Vasya' А если криво, то ответ очевиден, всё переделать и сделать нормально! Update: запросик подправил, чтобы уникальных не было, добавил DISTINCT Спустя 12 минут, 41 секунда (17.12.2011 - 20:25) killer8080 написал(а):
SELECT `id` FROM `table_name` WHERE `user_name` LIKE '%Vasya%' Спустя 6 минут, 39 секунд (17.12.2011 - 20:32) inpost написал(а): killer8080 А как же научить человека?! ![]() Joliat Вот для прочтения и изучения: http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%...%80%D0%BC%D0%B0 http://www.google.ru/#sclient=psy-ab&hl=ru...iw=1920&bih=987 P.S. Это даже не "правильная", а просто "нормальная" форма ![]() Спустя 2 минуты, 53 секунды (17.12.2011 - 20:35) killer8080 написал(а):
Ты ему предлагаешь wordpress переписать ![]() Спустя 5 минут, 49 секунд (17.12.2011 - 20:41) inpost написал(а): killer8080 Я думаю, это какой-то скаченный модуль, который бесплатно выложил Поповский угодник! Типо дополнение, а не ядро самого вордпресса! Спустя 1 час, 20 минут, 10 секунд (17.12.2011 - 22:01) Joliat написал(а): inpost, это не чьи-то, а мои собственные доработки, которые, на мой взгляд и потребности, необходимо внести. killer8080, LIKE - это именно, то что мне было нужно! Спасибо всем за помощь! Спустя 2 минуты, 39 секунд (17.12.2011 - 22:04) killer8080 написал(а):
ну тогда советую прислушаться к рекомендациям inpost-а, и почитать о нормализации БД. Спустя 5 минут, 22 секунды (17.12.2011 - 22:09) Joliat написал(а): В этом определенном случае, я считаю, что правильно поступаю. А вообще, я согласен с Вами. Я формирую единичные запросы, не нарушая структуры БД WP. Спустя 5 часов, 50 минут, 24 секунды (18.12.2011 - 03:59) inpost написал(а): Joliat Ничего, поработаешь пару лет, уйдет гордыня, научишься правильно программировать ![]() Некоторые сразу учатся, некоторым надо много времени ![]() -------------------- О-о-о-о-о-очень начинающий...
|
||||||||||||||||
![]() |
![]() ![]() ![]() |