PHP / MySQL - подсчитать, сколько таблиц в базе данных содержит конкретное имя - PullRequest
0 голосов
/ 18 января 2019

Я создаю администратора для управления интерактивной игрой и использую PHP / MySql для хранения всех данных за все раунды. Каждая из таблиц, которые я хочу загрузить в игру через PHP, называется «Головоломка *», где * является порядковым индексом. В моей базе данных есть еще несколько таблиц для глобальных игровых данных и бонусных раундов.

То, что я хочу сделать, это подсчитать количество таблиц в моей базе данных, которые содержат название «Головоломка», а затем использовать это общее число в качестве рандомизатора, чтобы случайным образом выбрать головоломку. Я планирую иметь примерно 50 головоломок, так что это автоматический способ выбора случайной головоломки, а затем, если я хочу выбрать другую головоломку, - удалить эту предыдущую головоломку из списка, чтобы не было возможности ее повторить, пока я не начну вся игра снова.

База данных MySQL

Database Name: puzzleGame
Table 1: puzzle1
Table 2: puzzle2
Table 3: puzzle3
Table 4: puzzle4
Table 5: globals
Table 6: bonus

Ответы [ 3 ]

0 голосов
/ 18 января 2019

Попробуйте запрос MySQL:

show tables from your_db like '%puzzle%';

и затем посчитайте результат

0 голосов
/ 19 января 2019

Я не знаю PHP. Но я знаю, что этот запрос MySql даст ваш результат:

ВЫБЕРИТЕ TABLE_NAME из information_schema.TABLES, где TABLE_SCHEMA = 'puzzleGame' и TABLE_TYPE = 'base table' и TABLE_NAME как 'Puzzle%';

0 голосов
/ 18 января 2019

Вы можете просто выполнить запрос SHOW TABLES, например

SHOW TABLES FROM puzzleGame LIKE 'puzzle%'

Тогда в вашем PHP вы можете загрузить их все в массив и иметь дело со случайным выбором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...