Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как распределить информацию, получаемую с сервера? 
:(
    Опции темы
Wowann
Дата 31.7.2013, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.7.2013

Репутация: нет
Всего: нет



Попытался самостоятельно сделать простейшую Корзину (коды ниже). Здесь по клику на изображение Корзины должно увеличиваться количество товара в ней и показываться суммарное количество отобранного товара (около Большой Корзины).

Эта страница показывает результаты поиска товара по базе, поэтому количество строк в ней может быть разным и я понимаю, что это важно. Но в данный момент, для настроки связи с сервером и отладки работы Корзины, я использую простой HTML файл, являющийся слепком с РНР скрипта, взаимодействующего с базой (для простоты).

В приципе, все работает и обмен с сервером происходит нормально. Но здесь номер товара и количество я вывожу просто для того, чтобы видеть, что обмен с сервером идет. А на самом деле надо выводить только $val (количество), причем непосредственно в самой ячейке таблицы.

И вот это сделать как раз не удается!
Как решить эту проблему?

Страница 42.html

Код

<?php session_start(); ?><!DOCTYPE html>   

<html lang="ru-RU">   
   <head>   
   <meta charset="utf-8" />   
   <link rel="stylesheet" type="text/css" href="style.css" />   
   <title>Проба</title> 
   <script type="text/javascript"> 
function startAjax(url){ 
  var request; 
  if(window.XMLHttpRequest){ 
      request = new XMLHttpRequest(); 
  } else if(window.ActiveXObject){ 
      request = new ActiveXObject("Microsoft.XMLHTTP");   
  } else { 
      return; 
  } 
  
  request.onreadystatechange = function(){ 
        switch (request.readyState) { 

          case 4:{ 
           if(request.status==200){     
                        document.getElementById("printResult").innerHTML = "<b>"+request.responseText+"</b>"; 
                     }else if(request.status==404){ 
                        alert("Ошибка: запрашиваемый скрипт не найден!"); 
                     } 
                      else alert("Ошибка: сервер вернул статус: "+ request.status); 
            
            break 
            } 
        }       
    } 
    request.open ('GET', url, true); 
    request.send (''); 
  } 
  function print_console(text){ 
    document.getElementById("console").innerHTML += text; 
  } 
    </script>   
   </head>   

   <body>   

<div id="printResult">  </div>  


    <p align="center"><img border="0" src="1.jpg" width="200" height="162"></p> 
    <p align="center">Товаров: 0</p> 
    <p align="center">на сумму: 0 рублей</p> 
  
    <div align="center"> 
    <table border="1" width="100%" style="border-collapse: collapse" id="table1" bordercolor="#000000"> 
        <tr> 
            <td>Производитель</td> 
            <td>Артикул</td> 
            <td>Название</td> 
            <td>Количество</td> 
            <td>Цена</td> 
            <td> </td> 
            <td> </td> 
        </tr> 
        <tr> 
            <td>Virgin Connect</td> 
            <td>155578417-vc</td> 
            <td>Торговая стратегия "Тетраэдр"</td> 
            <td>2</td> 
            <td>20390</td> 
            <td><a href="#" onClick="startAjax('basket.php?id=1');"><img alt="" src="2.jpg" /></a>            
           </td> 
            <td> </td> 
        </tr> 
        <tr> 
            <td>Virgin Connect</td> 
            <td>1728173698-vc</td> 
            <td>Торговая стратегия "Oval-five"</td> 
            <td>4</td> 
            <td>18250</td> 
            <td><a href="#" onClick="startAjax('basket.php?id=2');"><img alt="" src="2.jpg" /></a>            
           </td> 
            <td> </td> 
        </tr> 
        <tr> 
            <td>Virgin Connect</td> 
            <td>93659187-vc</td> 
            <td>Торговая стратегия "Синус"</td> 
            <td>10</td> 
            <td>24060</td> 
            <td><a href="#" onClick="startAjax('basket.php?id=3');"><img alt="" src="2.jpg" /></a>            
           </td> 
            <td> </td> 
        </tr> 
        <tr> 
            <td>Virgin corporation</td> 
            <td>356221377-vc</td> 
            <td>Торговая стратегия "Парабола"</td> 
            <td>3</td> 
            <td>99000</td> 
            <td><a href="#" onClick="startAjax('basket.php?id=4');"><img alt="" src="2.jpg" /></a>            
           </td> 
            <td> </td> 
        </tr> 
        <tr> 
            <td>Virgin Connect</td> 
            <td>300087491-vc</td> 
            <td>Торговая стратегия "Express"</td> 
            <td>11</td> 
            <td>38200</td> 
            <td><a href="#" onClick="startAjax('basket.php?id=5');"><img alt="" src="2.jpg" /></a>            
           </td> 
            <td> </td> 
        </tr> 
     </table> 
    <p> </p> 



</body>  
</html>






Серверный файл basket.php

Код

<?php 

    session_start(); 

    $n_sum = $_SESSION['n_sum']; 
    $n_sum++; 
    $_SESSION['n_sum'] = $n_sum; 
    echo "<br />Всего  " . $n_sum ; 

    $m_kol = $_SESSION['m_kol']; 

    $id = $_GET['id']; 

    $m_kol[$id]++; 
    $_SESSION['m_kol'] = $m_kol; 

    foreach($m_kol as $key => $val)  // Обход массива 
    { 
        echo "<br />Номер товара $key Количество $val " ; 
    }  

PM MAIL   Вверх
Sanchezzz
Дата 31.7.2013, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Лучше обмена между клиентом и сервера JSON массива нету.
На сервере json_decode и выводим без всякого лишнего текста.

На клиенте разбираем через JSON.parse

в jquery можно указать у аякс тип Json сразу ответ преобразовывать в массив.
В общем рекомендую использовать просто та и гибкость и всякое такое.






--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.