У меня есть приложение, которое создает дочерние приложения для подарков, и каждый владелец приложения может добавлять собственные подарки, прямо сейчас я храню подарки в php-массиве:
<?php
$gifts_array = array(
array(>4,"Flower",>250,"5_250.jpg",301),
array(1,"a Good Day",30,"3_30.jpg",153),
array(2,"cat",10,"3_10.gif",139),
array(3,"batman",20,"2_20.jpg",101),
array(11,"White Wolf",100,"11_100.jpg",5),
array(10,"crazy cat",30,"10_30.gif",2),
array(8,"Gift",100,"6_100.jpg",2),
array(12,"Car",120,"12_120.jpg",1),
array(9,"cat 2",30,"9_30.gif",1),
array(7,"2Pac",500,"3_500.jpg",0),
array(6,"Outlawz",500,"4_500.jpg",0)
);
?>
Мне нужно обновлять подарочный счетчик каждый раз при отправке, поэтому мне нужно сделать цикл, чтобы найти подарок, а затем увеличивать и записывать весь массив в файл.
Хорошо создать этот массив следующим образом:
'100'=>array('gname'=>"Flower",'gpoints'=>250,'gpic'=>"5_250.jpg",'gviews'=>301),
100 is the Gift ID.
Какое оптимальное решение: - Создать для каждого приложения таблицу MySQL? - Использовать одну таблицу для всех приложений? - Используйте одну таблицу MySQL для хранения всех подарков приложений и результатов кеша в MySQL для каждого приложения после отправки вложенных файлов/INSERT/UPDATE/DELETE?
Просто создайте одну таблицу с таким же количеством столбцов, плюс один, определяющий, какое "приложение" ему соответствует. Не создавайте новую идентичную таблицу для каждого приложения и не продолжайте чтение/запись из текстового файла, как concurrency, так и кошмары обслуживания.
application
столбца application
и он даже не смотрит на таблицу, а только на индекс.
Используйте одну таблицу
//Create a table to hold all your info
CREATE applications (id INTEGER AUTO INCREMENT, gname VARCHAR(255), gpoints INTEGER, gpic VARCHAR(255), gviews INTEGER);
//Increment the number of views
UPDATE applications SET gviews=gviews+1 WHERE gname='Flower'
//Get the names of all the applications (replace gname with what you want to get or * for all)
SELECT gname FROM applications
//Initially add the entries into applications
INSERT INTO applications (gname, gpoints, gpic, gviews) VALUES ('Flower', 250, '5_250.jpg', 301)