PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 9
DeathCookies Отправлено: 28 Декабря, 2014 - 21:31:38 • Тема: Программированная выборка из базы данных • Форум: Работа с СУБД

Ответов: 4
Просмотров: 1255
kotyara1979 пишет:
А что значит не получилось?
Ошибка какая?

Беглый взгляд показывает, что вам нужно посмотреть синтаксис запроса SELECT и сравнить его с тем, что вы формируете.
Кроме того, конкатенировать цикл к строке? Там ошибка скорее всего вроде unexpected T_FOREACH должна выходить по идее, хотя могу ошибаться.


Т.к. это серверная обработка ajax-запроса то ошибки (T_FOREACH в том числе) не выводятся. Т.е. скрипт нормально отработал, ajax-запрос послан, но функция success() ajax-запроса не выполняется, значит серверная обработка дала сбой. Мне нужно понять, в чём этот сбой.

Вы говорите, что должна быть ошибка T_FOREACH. Как сделать так, чтоб ёё не было?
DeathCookies Отправлено: 28 Декабря, 2014 - 19:53:08 • Тема: Программированная выборка из базы данных • Форум: Работа с СУБД

Ответов: 4
Просмотров: 1255
Привет, друзья! Есть скрипт, который даёт ассоциативный массив отмеченных чекбоксов.
В нашем случае это массив $php_json[наименование столбца таблицы][значение] . Так вот, нужно с помощью этого массива выбрать массив товаров из таблицы. Попытался реализовать, не получилось. Что делать? Заранее спасибо!

PHP:
скопировать код в буфер обмена
  1. <?
  2. function dataBaseToArray($resultat){
  3.         $array = array();
  4.         while($row = mysql_fetch_assoc($resultat)){
  5.                 $array[] = $row;
  6.         }
  7.         return $array;
  8. }
  9.  
  10.  
  11. define("DB_HOST", "localhost");
  12. define("DB_LOGIN", "root");
  13. define("DB_PASSWORD", "");
  14. define("DB_NAME", "yourwatches");
  15. mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
  16.  
  17. if (isset($_POST['checks'])) {
  18.             $php_json = json_decode($_POST['checks'], TRUE);
  19.                         $i=0;
  20.                         $length=$php_json.length;
  21.                         $sql = "SELECT FROM catalog
  22.                                                    *
  23.                                               WHERE '".
  24.                                                         foreach($php_json as $key=>$value) {
  25.                                                         echo $key.'='.$value;  
  26.                                                         if($i<$length-1) echo 'OR' ;
  27.                                       $i++;                                                                      
  28.                                                                       }
  29.                                                                       ."'
  30.                         ";
  31.             $resultat = mysql_query($sql) or die(mysql_error());
  32.             $js_json = json_encode(dataBaseToArray($resultat));
  33.             echo $js_json;
  34.         }
  35.  
  36. ?>
DeathCookies Отправлено: 28 Декабря, 2014 - 19:05:55 • Тема: Некорректная работа фильтра • Форум: HTTP и PHP

Ответов: 0
Просмотров: 724
Привет, друзья! Возникла проблема: не работает написанный фильтр на чекбоксах. Выводит все alert'ы до "Hurry up! They will be sent" включительно. Т.е. запрос не обрабатывается. Что не так?

Страница каталога

CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE>
  2. <html>
  3. <head>
  4. <title></title>
  5. <meta name="" content="">
  6. </head>
  7. <body>
  8. <link rel="stylesheet" href="1.css">
  9.  
  10. <div class="catalog">
  11.  
  12. <?
  13. $goods=selectAll();
  14. foreach ($goods as $item) {
  15. ?>
  16.  
  17. <div class="catalogElement <?echo $brend?>">
  18. <img class="catalogElementPicture" src="img/<?echo $item['img']?>">
  19. <div class="actives">
  20. <a href="add2basket.php?id=<?=$item["id"]?>" class="inBasket">В КОРЗИНУ</a>
  21. <a href="add2basket.php?id=<?=$item["id"]?>" class="buyNow">КУПИТЬ</a>
  22. <a href="add2basket.php?id=<?=$item["id"]?>" class="info">ПОДРОБНЕЕ</a>
  23. </div>
  24. <div class="name"><?echo $item['title'];?></div>
  25. <div class="oldprice">В НАЛИЧИИ</div>
  26. <div class="price"><?echo $item['price'];?>
  27.  
  28. </div>
  29. </div>
  30. </div>
  31. <? } ?>
  32. <div class="filter">
  33. <form action="<?$_SERVER['PHP_SELF']?>">
  34. <input type="checkbox" class="brend" name="gta5"/>
  35. <input type="checkbox" class="brend" name="gta4"/>
  36. <input type="checkbox" class="brend" name="gta3"/>
  37. <input type="checkbox" class="brend" />
  38. <input type="checkbox" class="brend" />
  39. <input type="button" class="button" value="Let's go!" />
  40. </form>
  41. </div>
  42. </body>
  43. </html>
  44.  
  45. <script type="text/javascript" src="js/jquery.js"></script>
  46. <script type="text/javascript" src="js/script.js"></script>


script.js

CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function() {
  2. alert('330');
  3. $('.button').click(function(){
  4.  
  5.    
  6.      var checks=new Array();
  7.      alert('1');
  8.      
  9.     $('input:checked').each(function() {
  10.    
  11.         alert('Got it!');
  12.        
  13.         var type = $(this).attr('class');
  14.         var value = $(this).attr('name');
  15.        
  16.         checks[type]=value;
  17.     });
  18.         var data=JSON.stringify(checks);
  19.         alert('There is a string!');
  20.         // запрос
  21.         $.ajax({
  22.             url: 'testing.php',
  23.             type: 'post',
  24.             dataType: 'json',
  25.             data: { checks: data },
  26.             beforeSend: function() { alert('They will be sent! Hurry up!'); },
  27.             success: function() { alert('Yeah, maaaaaaan'); }
  28.         });
  29.  
  30.     }
  31. )
  32. }
  33. );


testing.php

PHP:
скопировать код в буфер обмена
  1. <?
  2. function dataBaseToArray($resultat){
  3.     $array = array();
  4.     while($row = mysql_fetch_assoc($resultat)){
  5.         $array[] = $row;
  6.     }
  7.     return $array;
  8. }
  9.  
  10.  
  11. define("DB_HOST", "localhost");
  12. define("DB_LOGIN", "root");
  13. define("DB_PASSWORD", "");
  14. define("DB_NAME", "yourwatches");
  15. mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
  16.  
  17. if (isset($_POST['checks'])) {
  18.             $php_json = json_decode($_POST['checks'], TRUE);
  19.             $i=0;
  20.             $length=$php_json.length();
  21.             $sql = "SELECT FROM catalog
  22.                                       *
  23.                                      WHERE '".
  24.                                       foreach($php_json as $key=>$value) {
  25.                                       echo $key.'='.$value;
  26.                                       if($i<$length-1) echo 'OR';
  27.                                       $i++;                                  
  28.                                       }
  29.                                       ."'
  30.            ";
  31.             $resultat = mysql_query($sql) or die(mysql_error());
  32.             $js_json = json_encode(dataBaseToArray($resultat));
  33.             echo $js_json;
  34.         }
  35.  
  36. ?>
DeathCookies Отправлено: 20 Декабря, 2014 - 19:13:03 • Тема: Некорректная работа системы регистрации • Форум: Работа с СУБД

Ответов: 1
Просмотров: 610
Здравствуйте, друзья! Возникла вот такая вот проблемка. Я написал систему регистрации, но она работает довольно странно: при регистрации первого пользователя создается новая строка, но все столбцы, кроме id - пустые (картинка прилагается), а при регистрации второго и последующих строки вообще не создаются. Что не так?

PHP:
скопировать код в буфер обмена
  1. <?
  2. require("functions.php");
  3. if($_SERVER['REQUEST_METHOD']=='POST') {
  4.   if(!empty($_POST['login']) && !empty($_POST['email']) && !empty($_POST['password']) && $_POST['password']==$_POST['password2']) {
  5.   $login=$_POST['login'];
  6.   if(!empty($_POST['fullname'])) $fullname=$_POST['fullname']; else $fullname=" ";
  7.   if(!empty($_POST['address'])) $addres=$_POST['address']; else $address=" ";
  8.   $email=$_POST['email'];
  9.   $password=$_POST['password'];
  10.   $query1=mysql_query("SELECT * FROM users WHERE username='".$login."'");
  11.   $query2=mysql_query("SELECT * FROM users WHERE email='".$email."'");
  12.   $numrows=mysql_num_rows($query1)+mysql_num_rows($query2);
  13.      if ($numrows==0) {
  14.          registration($login, $fullname, $address, $email, $password);
  15.          }
  16.   }
  17. }
  18. ?>

CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <form action='<?$_SERVER['PHP_SELF']?>' method="POST">
  6. login   <input type="text" class="login"></input><br>
  7. fullname<input type="text" class="fullname"></input><br>
  8. address <input type="text" class="address"></input><br>
  9. email   <input type="text" class="email"></input><br>
  10. password<input type="password" class="password"></input><br>
  11. password2<input type="password" class="password2"></input><br>
  12. <input type="submit"></input>
  13. </form>
  14. </body>
  15. </html>


functions.php

PHP:
скопировать код в буфер обмена
  1. <?
  2. define("DB_HOST", "localhost");
  3. define("DB_LOGIN", "root");
  4. define("DB_PASSWORD", "");
  5. define("DB_NAME", "yourwatches");
  6. mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
  7. function registration($login, $fullname, $address, $email, $password) {
  8.   $sql ="INSERT INTO users (
  9.                 username,
  10.                 fullname,
  11.                 address,
  12.                 email,
  13.                 password)
  14.                 VALUES (
  15.                 '$login',
  16.                 '$fullname',
  17.                 '$address',
  18.                 '$email',
  19.                 '$password'
  20.                 )";
  21.         mysql_query($sql) or die(mysql_error());
  22. }?>
DeathCookies Отправлено: 07 Ноября, 2014 - 13:47:10 • Тема: Корзина интернет-магазина без пользовательской регистрации • Форум: HTTP и PHP

Ответов: 15
Просмотров: 3237
Всем спасибо!
DeathCookies Отправлено: 07 Ноября, 2014 - 11:50:41 • Тема: Корзина интернет-магазина без пользовательской регистрации • Форум: HTTP и PHP

Ответов: 15
Просмотров: 3237
Я так понял, что в любом случает без регистрации постоянную привязку к какому-то компу не сделать?
DeathCookies Отправлено: 07 Ноября, 2014 - 10:20:12 • Тема: Корзина интернет-магазина без пользовательской регистрации • Форум: HTTP и PHP

Ответов: 15
Просмотров: 3237
Мелкий пишет:
Quick пишет:
Куки - не лучший способ идентификации посетителей

Угу, не лучший.
Он просто единственный адекватный.

DeathCookies пишет:
Если запишу в куки, то при их чистке корзина тоже должна будет очиститься.

И что? И должна очиститься. Пользователь пожелал вычистить всю информацию о себе.


Я вот тут покопал немного ночью. Нашёл вот такой интересный способ: сохранять при первом заходе пользователя идентификационные файлы на компе пользователя. При заходе проверяется их наличие. По уникальному номеру в файле запрашивается корзина из баз данных и другие данные (адрес доставки, например). Осуществим ли этот способ? А если да, то как?
DeathCookies Отправлено: 07 Ноября, 2014 - 09:58:36 • Тема: Корзина интернет-магазина без пользовательской регистрации • Форум: HTTP и PHP

Ответов: 15
Просмотров: 3237
Если запишу в куки, то при их чистке корзина тоже должна будет очиститься. Можно ли создать базу учетных записей из ip, независимо от того статичный он или динамичный?
DeathCookies Отправлено: 06 Ноября, 2014 - 20:37:41 • Тема: Корзина интернет-магазина без пользовательской регистрации • Форум: HTTP и PHP

Ответов: 15
Просмотров: 3237
Доброго времени суток, друзья! Хочется сделать интернет-магазин свободным от регистрации, т.к. лишяя трата времени отпугивает потенциального покупателя. Можно конечно воспользоваться session_id() , но тогда при сбросе сессии (неактивность или ручная чистка, например) корзина будет удаляться. Эксперты, подскажите что делать.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB