PHP.SU

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

Страниц (4): [1] 2 3 4 »

> Найдено сообщений: 47
LCarlo Отправлено: 23 Августа, 2014 - 15:07:53 • Тема: Независимая выборка из нескольких таблиц • Форум: Работа с СУБД

Ответов: 5
Просмотров: 924
Мелкий пишет:
Докажите это своим набором данных. Именно с этим запросом.
Можно сэкономить время, если сразу покажете свой запрос. Наверняка в where или having вы фильтруете по t2 без учёта null'ов.

мм, т.е. решением будет
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE (мои условия) AND (t2.sample_id = NULL OR t2.sample_id <> NULL)
?

PS: был уверен, что JOIN отсеет то, что не проходит через ON. Право, надо учить матчасть...
Огромное Спасибо, что уделили время.

Прошу прощения, есть ВАЖНАЯ деталь:
если в t1 sample unique, то в t2 sample_id может дублироватся
LCarlo Отправлено: 23 Августа, 2014 - 14:52:20 • Тема: Независимая выборка из нескольких таблиц • Форум: Работа с СУБД

Ответов: 5
Просмотров: 924
Мелкий пишет:
Именно left join'ом и делается.
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM t1 LEFT JOIN t2 ON (t1.sample = t2.sample_id)

В этом то и проблема, что выберутся из таблицы t1 только те строки, которые найдены в t2, а нужно чтобы из t1 выбиралось даже когда в t2 нет нужных данных.
LCarlo Отправлено: 23 Августа, 2014 - 14:20:11 • Тема: Независимая выборка из нескольких таблиц • Форум: Работа с СУБД

Ответов: 5
Просмотров: 924
Существуют две таблицы, из которых необходимо вывести общие и независимые данные, т.е. таблица t1 -основная и данные из нее должны показываться в любом случае (если они есть), а из таблицы t2 выводятся только те данные, которые подпадают под условия (t1.sample = t2.sample_id) в рамках одного запроса, что пока никак не выходит.

Первая:
t1:
id title sample

t2:
sample_id aviable


если связивать через LEFT JOIN ON (t1.sample = t2.sample_id) то будут показаны только результаты, которые есть в обеих таблицах, необходимо же показывать данные из первой таблицы (t1), а из второй (t2) только если они есть.

Если кратко - делать выборку из t1 независимо от того, если результат в t2.
LCarlo Отправлено: 21 Августа, 2014 - 15:27:25 • Тема: Вопросы! Да! • Форум: Вопросы новичков

Ответов: 9
Просмотров: 384
я полагаю вам нужны cookies. Создание так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // Устанавливаем Cookie до конца сессии:
  4. SetCookie("Test","Value");
  5.  
  6. // Устанавливаем Cookie на один час после установки:
  7. SetCookie("My_Cookie","Value",time()+3600);
  8.  
  9. ?>


Обращение:
PHP:
скопировать код в буфер обмена
  1. $_COOKIE['название куки']


Подробнее: http://www.php.su/phphttp/?cookies

Отличия от session в том, что куки будут сохраняться только на стороне клиента (т.е. браузера), а сессии у вас на сервере.
LCarlo Отправлено: 16 Августа, 2014 - 20:22:38 • Тема: как обработать деление на ноль • Форум: Вопросы новичков

Ответов: 1
Просмотров: 1065
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['x']) && isset($_POST['y']))
  3. $result = $_POST['x'] + $_POST['y'];
  4. $result = $_POST['x'] - $_POST['y'];
  5. $result = $_POST['x'] * $_POST['y'];
  6.  
  7. if($_POST['y'] !== 0) {
  8.   $result = $_POST['x'] / $_POST['y'];
  9. }else{
  10.   exit('Деление на ноль');
  11. }
  12. ?>


ps: будьте добры, используйте подсветку синтаксиса
LCarlo Отправлено: 16 Августа, 2014 - 19:09:54 • Тема: Оператор конкатенации • Форум: Вопросы новичков

Ответов: 3
Просмотров: 172
Приветствую вас !
До сих пор был уверен, что если есть ".=", то есть и "=." :

PHP:
скопировать код в буфер обмена
  1. $a = 'a'; $b = 'b';
  2. ($a .= $b;) == ($a = $a.$b;)


, что оказалось не так. Есть ли альтернатива $a = $b.$a, аля "=." ?
LCarlo Отправлено: 23 Июля, 2014 - 13:24:16 • Тема: Select и Update/Delete - запрос одновременно • Форум: Администрирование БД

Ответов: 2
Просмотров: 1170
Здравствуйте, форумчане !
А как будет обрабатывать MySql одновременно (с точностью до кванта времени) два противоречивые запросы, к примеру выборка строки с id `5` и удаление (или изменение ) той же строки.
И каким образом можно сделать приоритет одних запросов (delete, к примеру, должен обрабатываться перед select/insert) над другими ?

Читал о блокировании необходимой таблицы, но насколько это может помочь при двух (нескольких) взаимно противоречивых запросах ?
И как вы решаете данную проблему ?
LCarlo Отправлено: 07 Июля, 2014 - 13:38:12 • Тема: Nginx + Apache или только nginx • Форум: Apache и другие веб-серверы

Ответов: 8
Просмотров: 711
а глупой ли кажется затея запустить 2 сервиса nginx (на разных портах, понятное дело) - 1-й на статику, 2-й к php ?
LCarlo Отправлено: 06 Июля, 2014 - 20:47:07 • Тема: Сделать ЧПУ и убрать дубль • Форум: Apache и другие веб-серверы

Ответов: 1
Просмотров: 303
пошаманьте с RewriteCond и RewriteRule .
А лучше на странице вывода ссылок оставить нужный вам вариант, а другой поисковики и не увидят, если страницы уже не проиндексированы.
LCarlo Отправлено: 06 Июля, 2014 - 16:07:55 • Тема: Nginx + Apache или только nginx • Форум: Apache и другие веб-серверы

Ответов: 8
Просмотров: 711
Здравствуйте ! Как вы считаете, лучше использовать связку nginx (как фронтэнд) + apache (бэк) или только nginx (и бэк, и фронт) ?
LCarlo Отправлено: 19 Июня, 2014 - 14:31:01 • Тема: Загадочный знак вопроса • Форум: Вопросы новичков

Ответов: 12
Просмотров: 478
Sail пишет:
И в имени переменной '$' экранировать в строке... (если не надо вывести значение $a)

Но здесь же двойные кавычки, знак $ интерпретируется как переменная.

Sail пишет:
Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после // ... ?> или # ... ?> БУДЕТ напечатан: ?> завершает режим PHP и возвращает режим HTML, а // или # не могут повлиять на это.

а в этом-то и проблема, что '<?php ... ?>' идет как строка (что пишется в файл), но, почему-то, после '?>' доставляются знаки.
LCarlo Отправлено: 19 Июня, 2014 - 14:25:41 • Тема: Загадочный знак вопроса • Форум: Вопросы новичков

Ответов: 12
Просмотров: 478
useruser
Используйте mb_strlen($len, 'utf-8') и дописывайте кодировку к mb_substr + header с utf-8
LCarlo Отправлено: 19 Июня, 2014 - 12:01:30 • Тема: Вывод ошибки Parse error T_ELSE, двойного else нету...помогите! • Форум: Вопросы новичков

Ответов: 2
Просмотров: 123
старайтесь всегда форматировать код, так же читать будет намного удобнее:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once 'header.php';
  3.  
  4. echo <<<_END
  5. <script>
  6. function checkUser(user)
  7. {
  8. if (user.value == '')
  9. {
  10. 0('info').innerHTML = ''
  11. return
  12. }
  13.  
  14. params = "user=" +user.value
  15. request = new ajaxRequest()
  16. request.open("POST". "checkuser.php", true)
  17. request.setRequestHeader("Content-type".
  18. "application/x-www-form-urlencoded")
  19. request.setRequestHeader("Content-length". params. length)
  20. request.setRequestHeader("Connection". "close")
  21.  
  22. request.onreadystatechange = function()
  23.  
  24. {
  25. if (this.readyState == 4)
  26. if (this.status == 200)
  27. if (this.responseText != null)
  28. 0('info').innerHTML = this.responseText
  29. }
  30. request.send(params)
  31. }
  32.  
  33. function ajaxRequest()
  34. {
  35. try {var request = new XMLHttpRequest()}
  36. catch(e1){
  37. try {request = new ActiveXObject("Msxm12.XMLHTTP")}
  38. catch(e2){
  39. try {request = new ActiveXObject("Microsoft.XMLHTTP")}
  40. catch(e3){
  41. request = false
  42. }}}
  43. return request
  44. }
  45. </script>
  46. <div class='main'><h3>Please enter your details to sign up</h3>
  47. _END;
  48.  
  49. $error = $user = $pass = "";
  50. if (isset($_SESSION['user'])) destroySession();
  51.  
  52. if (isset($_POST['user'])) {
  53. $user = sanitizeString($_POST['user']);
  54. $pass = sanitizeString($_POST['pass']);
  55.  
  56.         if($user == "" || $pass == "") {
  57.                 $error = "Данные не введены во все поля";
  58.         }else{
  59.  
  60.                 if (mysql_num_rows(queryMysql("SELECT * FROM members WHERE user='$user'"))) {
  61.                         $error = "Такое имя уже существует<br /><br />"
  62.                 }else{
  63.                         queryMysql("INSERT INTO members VALUES('$user' . '$pass')");
  64.                         die("<h4>Account created</h4>Please Log in.<br /><br />");
  65.                 }
  66.         }
  67. }
  68. echo <<<_END
  69. <form method='post' action='signup.php'>$error
  70. <span class='fieldname'>Username</span>
  71. <input type='text' maxlength='16' name='user' value='$user'
  72. onBlur='checkUser(this)' /><span id='info'></span><span class='fieldname'>Password</span>
  73. <input type='text' maxlength='16' name='pass'
  74. value='$pass' />_END;
  75. ?>
LCarlo Отправлено: 19 Июня, 2014 - 11:50:28 • Тема: Защита кода-зашифровать скрипты • Форум: Вопросы новичков

Ответов: 13
Просмотров: 702
хороший продукт не нуждается в закрытии исходников, а исходники плохого - никому не нужны.
LCarlo Отправлено: 19 Июня, 2014 - 11:37:23 • Тема: Загадочный знак вопроса • Форум: Вопросы новичков

Ответов: 12
Просмотров: 478
DelphinPRO пишет:
однажды у меня примерно так же редактор глюканул.
видимо какой-то невидимый символ. наберите код в новом файле (только не копипастой), а этот удалите.

я бы тоже принял это за глюк редактора, но лишний (?) в коде, который появляется там случайным образом, указывает на обработку этого знака самими PHP, вот только не понятно, ведь все, что в ' ' - считается строкой без переменных ( пробовал также:
... '<?php'."\r\n".$contentFile."\r\n".'?>' )

Страниц (4): [1] 2 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB