Gorod.dp.ua » Міські форуми / Городские форумы
Всього знайдено 11, показано з 1 по 11.

Тема: глупый вопрос по PHP

  1. #1
    Аватар для Shumsky
    Реєстрація
    22 березень 2010
    Дописів
    7 622

    Типово глупый вопрос по PHP

    Доброго времени суток. Возникла необходимость построить маршрутный лист, однако никак не могу разобраться дано: 3 таблицы (goods,orders,customers). Нужно получить что-то вроде такого: test.cbhost.org/asd.html
    структура таблиц:
    mysql> show create table customers;
    +-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | customers | CREATE TABLE `customers` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` text NOT NULL,
    `description` text NOT NULL,
    `route` int(11) NOT NULL,
    `add_date` int(11) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 |
    +-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> show create table orders;
    +--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | orders | CREATE TABLE `orders` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `product_id` int(11) NOT NULL,
    `customer_id` int(11) NOT NULL,
    `special_price` text,
    `add_date` int(11) NOT NULL,
    `number` int(11) DEFAULT NULL,
    `execution_date` int(11) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 |
    +--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> show create table goods;
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | goods | CREATE TABLE `goods` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` text NOT NULL,
    `description` text NOT NULL,
    `price` text NOT NULL,
    `add_date` int(11) DEFAULT NULL,
    `avaliable` tinyint(1) DEFAULT '1',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1 |
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    blues required by world! Всё, что можно сделать с крысой, можно сделать и с человеком. А с крысой мы можем сделать почти всё.

  2. #2

  3. #3
    Аватар для spl
    Реєстрація
    28 лютий 2005
    Звідки Ви
    ua...dp.ua
    Дописів
    6 930

    Типово

    чтобы не парить моск проще найти любой из визуальных конструкторов запросов
    [Мои фоточке]
    Ололо, Трололо...

  4. #4

    Типово

    А зачем Вам InnoDB для такой задачи? Тут myisam подойдет намного лучше.

    Нужно получить что-то вроде такого
    Лучше опишите названиями полей что нужно получить. А вообще, это не совсем профильный форум

  5. #5
    Аватар для Shumsky
    Реєстрація
    22 березень 2010
    Дописів
    7 622

    Типово

    Да знаю я что форум не совсем профильный Разобрался уже: код ниже:
    Код:
    $query_forming = "select customers.name as cname, goods.name as gname, orders.number from (customers,goods) left join orders on orders.product_id=goods.id and orders.customer_id=customers.id where customers.route=$filtred_route and orders.execution_date=$execution_time order by goods.name, customers.name";
    		if(!$query_execution = mysql_query($query_forming))
    			{
    				echo mysql_error();
    			}
    		else
    			{
    				while ($myrow = mysql_fetch_assoc($query_execution))
    					{
    						$result[] = $myrow;
    					}
    				#print_r($result);
    				echo "<table border=1><tr>";
    
    				// first line
    
    				echo "<td>&nbsp;</td>";
    
    				$goodscahe = array();
    				$cnt = count($result);
    
    				for($i=0; $i < $cnt; $i++) {
    				 if (!isset($goodscahe[$result[$i]['cname']])) {
    					echo "<td>";
    					echo $result[$i]['cname'];
    					echo "</td>";
    					$goodscahe[$result[$i]['cname']] = 1;
    				 }
    					else
    						{
    							break;
    						}
    				}
    
    				// other line
    				$prevcname = '';
    
    				 for($i=0; $i < $cnt; $i++) {
         if ($prevcname != $result[$i]['gname']) {
         echo "</tr><tr><td>";
         echo $result[$i]['gname'];
         echo "</td>";
         $prevcname = $result[$i]['gname'];
         } 
         echo "<td>";
         echo $result[$i]['number'];
         echo "</td>";
    }
    
    
    				echo "</tr></table>";
    blues required by world! Всё, что можно сделать с крысой, можно сделать и с человеком. А с крысой мы можем сделать почти всё.

  6. #6

    Типово

    Попробуй упростить себе жизнь чем-то типа https://github.com/catfan/Medoo

  7. #7
    Аватар для Shumsky
    Реєстрація
    22 березень 2010
    Дописів
    7 622

    Типово

    знаю, но проектик должен был быть завершен еще вчера. Так-что пока нет времени на изучение. Вообще начал было на зенде писать, но отказался из-за того, что в данный момент быстрее своих велосипедов накостылять
    blues required by world! Всё, что можно сделать с крысой, можно сделать и с человеком. А с крысой мы можем сделать почти всё.

  8. #8

    Типово

    но проектик должен был быть завершен еще вчера
    Это еще и не личный проект, а заказ за деньги? Может я не прав, но брать деньги за работу, когда у вас уровень знания PHP на уровне первых глав книги "PHP для чайников" это не правильно.

  9. #9
    Аватар для Shumsky
    Реєстрація
    22 березень 2010
    Дописів
    7 622

    Типово

    Программа должна делать то, что нужно человеку. Поправьте если я не прав
    blues required by world! Всё, что можно сделать с крысой, можно сделать и с человеком. А с крысой мы можем сделать почти всё.

  10. #10

    Типово

    Программа должна делать то, что нужно человеку. Поправьте если я не прав
    Программы должны писать программисты. Поправьте, если я не прав. А сейчас очень много людей погнались в программирование с желанием легкой наживы, чем демпингуют и понижают общее качество программных продуктов. Мне лично не нравится, когда мне в лицо говорят "я уже обращался к фрилансерам, знаем мы вас... потратил кучу денег и в итоге заказал заново в крутой фирме за $$ $$$ долларов!"

  11. #11
    Аватар для Shumsky
    Реєстрація
    22 березень 2010
    Дописів
    7 622

    Типово

    ну, демпингом я не занимаюсь однозначно. И не фрилансер тоже. Программирование - хобби, которое иногда (через знакомых знакомых) приносит некоторое количество денег. Программистом я себя ни в коем случае не считаю, так что тут можно тоже успокоиться. Приблуда данная должна прийти на замену написанной десятиклассником школы на делфях (там даже по сравнению с моим кодом треш, угар и содомия), к тому же она для интранет использования
    blues required by world! Всё, что можно сделать с крысой, можно сделать и с человеком. А с крысой мы можем сделать почти всё.

Bookmarks

Bookmarks

Ваші права у розділі

  • Ви НЕ можете створювати нові теми
  • Ви НЕ можете відповідати у темах
  • Ви НЕ можете прикріплювати вкладення
  • Ви не можете редагувати свої повідомлення
  •  
  Головна | Афіша | Новини | Куди піти | Про місто | Фото | Довідник | Оголошення
Контакти : Угода з користивачем : Політика конфіденційності : Додати інформацію
Главная страница сайта  
copyright © gorod.dp.ua.
Всі права захищені. Використання матеріалів сайту можливо тільки з дозволу власника.
Про проєкт :: Реклама на сайті