Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: выписать данных из БД

Сообщения:  [1-6] 

 
 автор: sim5   (15.03.2010 в 14:31)   письмо автору
 
   для: Dmitry1988   (15.03.2010 в 14:19)
 

Что такое ID-заказа? Это номер, под которым товары корзины помещаются в заказ. А что такое заказ? Это сведения о покупателе: ФИО, e-mail, адрес, а если это еще и ваш постоянный покупатель, то возможно его бонусы либо скидки для него и прочее, и прочее... А это таблица ваших покупателей, в которой также указыватся номер их текущих заказов (а возможны еще и отложенные покупки).
Вот по этому номеру и связаны и таблица покупателей, и таблица заказов. А что такое покупатель? Это человек, который может сотни раз на день проверять статус своего заказа: формируется, отправлен, и т.п.. А это означает, что вам неоднократно придеться выдавать всю информацию о его заказе, что означает получение всех данных о товаре, подсчете сумм и прочее.
Таблица заказа, которую вы породили не удобна для таких постоянных операций, и кроме проблем от нее вы ничего не получите.
Да, для каждого товара своя запись! А то что связано по id-заказа, так это и ежу понятно, читайте выше...

  Ответить  
 
 автор: Dmitry1988   (15.03.2010 в 14:21)   письмо автору
 
   для: oliss   (15.03.2010 в 13:51)
 

спасибо исправил.

  Ответить  
 
 автор: Dmitry1988   (15.03.2010 в 14:19)   письмо автору
 
   для: sim5   (15.03.2010 в 13:40)
 

Код исправил, удалил случайно кавычку.
Тоесть Вы имеете ввиду что надо создать для каждого товара, который заказали, отдельную запись да? а связанно все это будет через id заказа?

  Ответить  
 
 автор: oliss   (15.03.2010 в 13:51)   письмо автору
 
   для: sim5   (15.03.2010 в 13:40)
 

Присоединяюсь, вот этого :
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); 

не должно быть ( неправильная структура БД проекта )
а ошибка ,нет кавычки :
echo ' Nazvanije;&nbsp;'.$r['name'].'<br /></td>'; 

  Ответить  
 
 автор: sim5   (15.03.2010 в 13:40)   письмо автору
 
   для: Dmitry1988   (15.03.2010 в 13:28)
 

Таблица заказов, это:
ID заказа, id товара, число выбранного, с возможным добавлением цены за единицу товар.
А вот хранить это строками как у вас, это необдуманно, и проблемы уже начались...

Вам подсветка кода вашего ни о чем не говорит?

  Ответить  
 
 автор: Dmitry1988   (15.03.2010 в 13:28)   письмо автору
 
 

Здравствуйте,
возникла проблема при выписке данных их БД, есть таблица tbl_zakaz в ней хранятся данные о товаре и о количестве, они записаны массивами, и таблица tbl_products в ней хранятся данные о товарах. Проблема в том, что мне надо выписать товар и его количество из таблицы с заказами, но у меня никак не получается разбить правильно данные о количестве. Т.е. в таблице записаны id товаров 10,11,12 и количество 2,5,6 мне нужно чтобы данному товару выписывалось только его количество(например 10(товар)=>2(кол-во)). Вот, как я это пытаюсь сделать:

<?php
$id 
= isset($_GET['id'])?mysql_escape_string($_GET['id']):NULL;
      
$faktura mysql_query("SELECT * FROM tbl_zakaz") or die($mysql_error());    
        if(
mysql_num_rows($faktura)>0)
        {
              while(
$r_f mysql_fetch_assoc($faktura)){
              
$str $r_f['mnozstvi'];
              
$chars preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
              echo 
'Nomer zakaza:&nbsp;'.$r_f['id'].'<br>';
      
$product_f mysql_query("SELECT * FROM tbl_products WHERE id IN(".$r_f['id_p'].")") or die($mysql_error());
              while(
$r mysql_fetch_assoc($product_f)){
              echo 
'<table style="border:1px solid black;"><tr><td style="border:1px solid black;">';
              echo 
Nazvanije;&nbsp;'.$r['name'].'<br /></td>';
              foreach($chars as $key=>$value){        
              echo '
<td style="border:1px solid black;">Kol-vo&nbsp;'.$value.'</td>';  }
              echo '
</tr></table>';   
              }  
              }
        }else{ echo '
Nichego netu';}
?>

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

  Ответить  

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования