PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (13): В начало « ... 5 6 7 8 9 10 11 [12] 13 »

> Найдено сообщений: 191
gheka Отправлено: 19 Марта, 2011 - 00:44:59 • Тема: Вывод данных из 2х таблиц • Форум: Программирование на PHP

Ответов: 7
Просмотров: 634
DeepVarvar пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. #
  2. SELECT company.*, site.* FROM company, site WHERE (company.id_company = site.id_company) AND (company.id_user = 1)



А чем он отличается всё также работает ничего не поменялось.

Выводится 2 раза слово МОЯ КОМПАНИЯ с разными ссылками как ниже:

Моя компания
rutrecer.ru

Моя компания
rutre.ru


А нужно чтобы слова МОЯ КОМПАНИЯ вывелась 1 раз и ниже пошли уже ссылки что бы было вот так:

Моя компания
rutrecer.ru
rutre.ru


названия компании и ссылки связаны между собой с помощью ID_COMPANY.
gheka Отправлено: 18 Марта, 2011 - 23:47:12 • Тема: Вывод данных из 2х таблиц • Форум: Программирование на PHP

Ответов: 7
Просмотров: 634
Здравствуйте столкнулся я с проблемой нужно вытащить данные из 2х таблиц.

Вытащить у меня получилось но с повторением названия компании.

PHP:
скопировать код в буфер обмена
  1.  
  2. $t = "SELECT company.*, site.* FROM company, site WHERE company.id_company = site.id_company AND company.id_user = '1'";
  3.  
  4.  



такой запрос в цикле FOREACH выводит:


Моя компания
rutrecer.ru

Компания № 2
rutrecer1.ru

Моя компания
rutre.ru


Как вы заметили для "МОЯ КОМПАНИЯ" записано 2 сайта и он выводит их с повторением названия компании.

Подскажите как сделать так чтобы названия компании не повторялось? то есть что бы было вот так:

Моя компания
rutrecer.ru
rutre.ru
gheka Отправлено: 17 Марта, 2011 - 20:58:58 • Тема: Помогите записать ссылку в переменную. • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 68
OrmaJever пишет:
gheka пишет:
Но можно сделать как то по другому с помою '\' слеша.

зачем?
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $t = "<a href='{$_SERVER['SERVER_NAME']}/index.php?c=activate&id={$id_user}&code={$code}'>активировать</a>";



Спасибо ваш верянт даже лучше.
gheka Отправлено: 17 Марта, 2011 - 20:15:33 • Тема: Помогите записать ссылку в переменную. • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 68
ALEN пишет:
Предлагаю прочесть инструкцию как присваивать значения к переменным.

PHP:
скопировать код в буфер обмена
  1. $t=$_SERVER['SERVER_NAME']"./index.php?c=activate&id=".$id_user."&code=".$code;



Нет вы не поняли как присваивать переменной значения я знаю проблема в том что нужно было вставить запись в:

<a href="ссылка">Текст</a>

Я разобрался как вот что должно было быть:

$t = "<a href=".$_SERVER['SERVER_NAME']."/index.php?c=activate&id=".$id_user."&code=".$code.">".'активировать</a>';

Но можно сделать как то по другому с помою '\' слеша.
gheka Отправлено: 17 Марта, 2011 - 19:19:53 • Тема: Помогите записать ссылку в переменную. • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 68
Здравствуйте помогите пожалуйста запихнуть ссылку в переменную.

ссылка состоит и из вставленных значений из переменных.

есть переменные:
id
code

нужно вставить в переменную $t вот эту ссылку

<a href="ссылка">Текст</a> то что ниже:

$_SERVER['SERVER_NAME']/index.php?c=activate&id=$id_user&code=$code



Кто знает напишите сам много раз пытался но не выходит, каждый раз ссылка оказывается не рабочая.
gheka Отправлено: 15 Марта, 2011 - 17:19:30 • Тема: Вывод запроса и формы на одной строчке • Форум: Программирование на PHP

Ответов: 3
Просмотров: 413
kookoorooza пишет:
Привет всем!
Вопрос больше наверна по верстке, но думаю и по php тоже
У меня скрипт.
Выводит сообщения
Можно удалить кнопкой, кнопка выводится формой сразу после записи. И кнопка выводится с новой строки, помогите сделать на одной строчке.
PHP:
скопировать код в буфер обмена
  1. echo $datemess['weekday'], " ", $datemess['year'], ":", $datemess['mon'], ":", $datemess['mday'] ," : ", $row['mess'], $delete, "<br>";

это вывод запроса и в нем же выводится форма $delete, она имеет вид:
CODE (html):
скопировать код в буфер обмена
  1. $delete=<<<html
  2. <html>
  3. <body>
  4. <form action="index.php" method="post"><input name="delete" type="submit" value="delete"></form>
  5. </body>
  6. </html>
  7. html;

они выводятся на разных строчках, а надо на одной.
Спасибо


Я конечно не уверен что понял вас правильно но если нужно вывести 2 кнопки в одной строке.


PHP:
скопировать код в буфер обмена
  1.  
  2. <form action="index.php" method="post">
  3.  
  4. <input name="new" type="submit" value="Новая статья">
  5.  
  6. if (isset (запись) ) // Если существует запись то выводим кнопку delete
  7. <input name="delete" type="submit" value="delete">
  8.  
  9. endif
  10.  
  11. </form>
  12.  
  13.  


в isset (запись) Ставте ваше условие.

И если не ставить <br /> то она выведется на той строке где и кнопка НОВАЯ ЗАПИСЬ.

Если не в этом дело то пишете подробнее
gheka Отправлено: 14 Марта, 2011 - 21:32:14 • Тема: Подскажите пожалуйста наиболее правильный и удобный вывод сообщения об ошибках в браузер. • Форум: Программирование на PHP

Ответов: 2
Просмотров: 201
movEAX пишет:
gheka пишет:
Может есть более удобный способ вывода ошибок?

Лучше через Exception(причем использовать потомков этого класса, а не сам класс) и try..catch все делать



Подскажите сайт или что то, где подробно описано про Exception. Так как я не встречался ещё с этим верянтом.
gheka Отправлено: 14 Марта, 2011 - 20:32:20 • Тема: Подскажите пожалуйста наиболее правильный и удобный вывод сообщения об ошибках в браузер. • Форум: Программирование на PHP

Ответов: 2
Просмотров: 201
Здравствуйте я поискал на форуме ответ на этот вопрос но к сожалению не шёл поэтому пишу сюда.

Речь идёт об ошибках которые мы пишем например в проверке полей ввода и т.д.

Вот пример ниже:

PHP:
скопировать код в буфер обмена
  1.  
  2. if (!$remember)
  3.         $error .= '<li>Вы не потвердили соглошения с правилами нашего сайта!</li>';
  4.                                
  5. if (mysql_num_rows ($login_put) != 0)
  6.         $error .= '<li>Такой логин уже зарегистрирован!</li>';
  7.                                
  8. if (mysql_num_rows ($email_put) != 0)
  9.         $error .= '<li>Такой электронный адрес почты уже зарегистрирован!</li>';
  10.                                        
  11. if (mysql_num_rows ($wmr_put) != 0)
  12.         $error .= '<li>Такой WMR кошелёк уже зарегистрирован!</li>';
  13.                        
  14. if (!preg_match ("/^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", $email))
  15.         $error .= '<li>Некорректно введён электронный адрес почты!</li>';                      
  16.                        
  17.  


я их вывожу с помощью сессии то есть:

PHP:
скопировать код в буфер обмена
  1.  
  2. if (!empty ($error))
  3. {
  4.         $_SESSION ['error'] = $error;
  5.                                        
  6.         header ('Location: index.php?c=restore');
  7.         die ();
  8. }
  9.  



Это очень удобно но не всегда.

Может есть более удобный способ вывода ошибок?
Или усовершенствованный приведённый мной способ.

Поделитесь пожалуйста. Кто как выводит ошибки.
gheka Отправлено: 14 Марта, 2011 - 09:56:18 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
OrmaJever пишет:
а какая разница где их писать? Можно хоть каждое условие в отдельном файле, главное что бы вы поняли или те люди которые будут работать с кодом.
PHP:
скопировать код в буфер обмена
  1. $error = $error . 'WMR кошелёк введён некорректно';
  2. // и
  3. $error .= 'WMR кошелёк введён некорректно';
  4. // лутше писать вторым примером.


Ризници может никакой нет просто слышал что функция не должна знать ничего ненужного.
Поэтому и спрашиваю.

Спасибо за поправку по $error
gheka Отправлено: 14 Марта, 2011 - 00:27:35 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
Есть ещё небольшой вопрос.
Нормально ли делать такие проверки введённых данных в внутри функции с проверкой логина и емайл по базе данных?
Или лучше вынести их за пределы функции и делать их в контроллере.

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. if (empty ($login) or empty ($email) or empty ($wmr) or empty ($password) or empty ($password2))
  4. {
  5.         $error = $error . 'Одно или несколько обязательных полей не заполнены!';
  6. }
  7. else
  8. {
  9.         if (!$remember)
  10.         $error = $error . 'Вы не потвердили соглошения с правилами нашего сайта!';
  11.                        
  12.         if (!preg_match ("/^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", $email))
  13.                 $error = $error . 'Некорректно введён email адрес!';           
  14.                        
  15.         if (!preg_match ('/^[R][0-9]{12}/', $wmr))
  16.                 $error = $error . 'WMR кошелёк введён некорректно';
  17.                        
  18.         if ($password != $password2)
  19.                 $error = $error . 'Пароли не совпадают!';
  20.                        
  21. }
  22.  


Не сочтите меня слишком любопытным Подмигивание Просто хочется писать культурным кодом как это и должно быть чтобы не стоить велосипеды.

Прошу отвечать только опытным программистам.
gheka Отправлено: 13 Марта, 2011 - 21:43:57 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
SAD пишет:
явно лучше чем ваш.


Саныч пишет:
Конечно лучше... Ты только представь, если у тебя будет 1000 пользователей и ты их всех тащишь из базы, а потом еще по всем цилом проходишься... это ж бред полнейший


Спасибо понял об этом не подумал.
gheka Отправлено: 13 Марта, 2011 - 17:04:08 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
Спасибо всем кто отвечал на мои вопросы.
gheka Отправлено: 13 Марта, 2011 - 15:25:21 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
OrmaJever пишет:
ну дак зделайте 3 запроса
PHP:
скопировать код в буфер обмена
  1. $login = mysql_num_rows(mysql_query ("SELECT * FROM user WHERE login='{$login}'"));
  2. $email = mysql_num_rows(mysql_query ("SELECT * FROM user WHERE email='{$email}'"));
  3. $wmr = mysql_num_rows(mysql_query ("SELECT * FROM user WHERE wmr='{$wmr}'"));

каждая переменая содержит 1 либо 0. 0 - если нету, 1 - есть запись.


Спасибо за ответ.

Но скажите пожалуйста такой способ по быстра те обработки или ещё каким то параметра лучше приведённого мной?

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. foreach ($arr as $view) // вытаскиваем данные из масива в цикле foreach
  4. {
  5.                 if ($view ['login'] == $login)
  6.                         $error = $error . '<li>Такой логин уже зарегистрирован попробуйте ввести другой!</li>';
  7.  
  8.                 if ($view ['email'] == $email)
  9.                         $error = $error . '<li>Такой емайл уже зарегистрирован попробуйте ввести другой!</li>';
  10.  
  11.                 if ($view ['wmr_purse'] == $wmr)
  12.                         $error = $error . '<li>Такой WMR кошелёк уже зарегистрирован попробуйте ввести другой!</li>';
  13.  
  14. }
  15.  
gheka Отправлено: 13 Марта, 2011 - 14:06:55 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
SAD пишет:
PHP:
скопировать код в буфер обмена
  1. mysql_query ("SELECT * FROM user where login='{$login}' or email='{$email}' or wmr_purse='{$wmr}'");

если количество отобранных записей 0, то заносим в базу



Да метод работает но в моём случае он мне не подходит так как.

Как вы видели в коде для удобства пользователь, выводятся разные сообщения, какой именно пункт формы совпадает с данными из базы данных.

То есть:

Если ЛОГИН существует то об этом выведется сообщения, что есть такой логин.
И если ЕМАЙЛ существует тоже об этом тоже выведет сообщения и т.д.


А этим способом проверяются все 3 поля и если хотя бы одно поля совпадёт то нужно выводить сообщения:

ЛОГИН или ЕМАЙЛ или WMR КОШЕЛЁК существует в базе данных.

И согласитесь, что именно нужно изменить непонятно и придётся перебирать пользователю до устранения ошибки.
А это не совсем правильно.

Но всё равно спасибо за ваш ответ.
gheka Отправлено: 13 Марта, 2011 - 12:45:44 • Тема: Проверка введённых данных по базе данных. • Форум: Программирование на PHP

Ответов: 16
Просмотров: 4648
видно никто не знает.

Но у меня всё таки получилось решить проблему таким способом.

Через цикл FOREACH.

PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($arr as $view) // вытаскиваем данные из масива в цикле foreach
  3. {
  4.                 if ($view ['login'] == $login)
  5.  
  6.                         $error = $error . '<li>Такой логин уже зарегистрирован попробуйте ввести другой!</li>';
  7.  
  8.                
  9.  
  10.                 if ($view ['email'] == $email)
  11.  
  12.                         $error = $error . '<li>Такой емайл уже зарегистрирован попробуйте ввести другой!</li>';
  13.  
  14.                        
  15.  
  16.                 if ($view ['wmr_purse'] == $wmr)
  17.  
  18.                         $error = $error . '<li>Такой WMR кошелёк уже зарегистрирован попробуйте ввести другой!</li>';
  19. }
  20.  


Если есть другие верянты наиболее правильные прошу написать.



(Добавление)
SAD пишет:
gheka пишет:
login = $login

так неправильно. $login должно быть обрамлено одинарными кавычками


Я знаю просто это был пример и кавычки пропустил но как я и писал этот метод слишком огромен в плане кода.
потому что проверять 3 поля это нужно писать з запроса.

Страниц (13): В начало « ... 5 6 7 8 9 10 11 [12] 13 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB