Я пытаюсь сделать запрос:Удаление части строки в PHP
SHOW TABLES;
, который будет отображать кучу таблиц с префиксом chat_. Я хочу удалить префикс chat_ из строки, отформатировать переменную (со ссылкой) и отобразить ее.
Как это делается?
Я пытаюсь сделать запрос:Удаление части строки в PHP
SHOW TABLES;
, который будет отображать кучу таблиц с префиксом chat_. Я хочу удалить префикс chat_ из строки, отформатировать переменную (со ссылкой) и отобразить ее.
Как это делается?
Не знаете, что вы подразумеваете под «ссылкой». Перебрать таблиц и заменить "chat_" с пустой строкой, чтобы удалить префикс:
$formatted_table_name = str_replace("chat_", "", $table_name);
//... do something
$link = '<a href="#">' . $formatted_table_name .'</a>'; //add to link
Это было не совсем в таком порядке, или все на одной линии. Я имел в виду, что я планировал добавить ссылку на уже отформатированную переменную. – Nik
@ Нik: вот так? – Simon
Да. Теперь мне нужно выяснить, как отредактировать еще 3 запроса, чтобы приспособить это изменение. Мне нужно передать переменную комнаты через GET на страницы, и она должна вставить эту переменную в запрос, любые идеи> – Nik
Вы можете удалить chat_ префикс в SQL с помощью:
SELECT REPLACE(t.table_name, 'chat_', '')
FROM INFORMATION_SCHEMA.TABLES t
WHERE t.table_schema = 'your_db_name'
AND t.table_name LIKE 'chat_%'
Ссылка:
Это должно сделать всю работу:
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if($result = $mysqli->query("SHOW TABLES")){
while($row = $result->fetch_row()){
echo '<a href="link_target">'.str_replace('chat_', '', row[0]).'</a>';
}
}
Поскольку не стандартное имя столбца с массивом «SHOW TABLES», я использовал функцию fetch_row() вместо функции FETCH_ASSOC().
Это показывает, как сделать синтаксический анализ на PHP стороне вещей:
<?php
@$db = mysql_pconnect('server', 'user', 'password') or die('Error: Could not connect to database: ' . mysql_error());
mysql_select_db('database_name') or die('Error: Cannot select database: ' . mysql_error());
$query = "SHOW TABLES";
$result = mysql_query($query) or die('Error: ' . mysql_error());
$num = mysql_num_rows($result);
for ($i = 0; $i < $num; $i++)
{
$row = mysql_fetch_assoc($result);
$table = $row['Tables_in_database_name'];
$table2 = str_replace("chat_", "", $table);
$link[] = "<a href=\"http://whatever\">" . $table2 . "</a><br />";
}
print_r($link);
?>
Таким образом, у вас есть переменная, содержащая строку «SHOW TABLES;» и вы хотите что-то сделать с этим? – VoteyDisciple
Формат как? Показать как? Вы должны быть более подробными, чтобы получить хороший ответ. –