PHP
- 10 ответов
- 0 вопросов
2
Вклад в тег
var banners = [];
// Генерируем тестовый массив баннеров
for( var i = 1; i <= 5; i++ ){
banners.push( {
data: i,
w: Math.floor( Math.random() * 1000 ) + 1 // Вес баннера от 1 до 1000 к примеру
} );
}
console.log(banners);
var wt = 0; // Сумма веса всех баннеров
for( var i = 0; i < banners.length; i++ ){
var banner = banners[i];
banner.bound = wt += banner.w; // Определяем границу, которая зависит от веса
}
console.log(banners); // Проверить наглядно какие границы созданы
// Генерируем число от 0 до wt
var r = Math.floor( Math.random() * wt + 1 );
for( var i = 0; i < banners.length; i++ ){
// Ищем какой баннер попал в полученное случайное число
var banner = banners[i];
if( r > banner.bound - banner.w && r < banner.bound ){
console.log('banner ' + banner.data); // В итоге при таком подходе вероятность выпадения более ценного баннера выше, главное чтоб вес был > 0, иначе баннер найден неправильно.
}
}
Добавляешь в таблицы поля, что-то типа
было text
стало text, text_en, text_sp, text_pl и т.д.
$lang = $_GET['lang']; // Допустим lang хранится в гет параметре (можно и в куки хранить выбранный язык)
$lang = in_array( $lang, [ 'ru', 'en', 'sp', 'pl' ] ) ? "_$lang" : ''; // Получается так "_ru" (вместо ru язык выбранный) или пустая строка.
При генерации страницы где выводишь $row['text'] заменяешь на $row["text$lang"].
Что касается статичных данных, то проще хранить шаблоны для каждого языка и подключать при генерации страницы.