Удаление части строки в PHP

0

Я пытаюсь взять запрос:

SHOW TABLES;

который отобразит кучу таблиц с префиксом chat_. Я хочу удалить префикс chat_ из строки, отформатировать переменную (со ссылкой) и отобразить ее.

Как это достигается?

  • 0
    Итак, у вас есть переменная, содержащая строку 'SHOW TABLES;' а ты хочешь что с этим делать?
  • 4
    Формат как? Показать как? Вы должны быть более подробными, чтобы получить хороший ответ.
Теги:

4 ответа

3
Лучший ответ

Не знаю, что вы подразумеваете под "ссылкой". Итерируйте через свои таблицы и замените "chat_" пустой строкой, чтобы удалить префикс:

$formatted_table_name = str_replace("chat_", "", $table_name);
//... do something
$link = '<a href="#">' . $formatted_table_name .'</a>'; //add to link
  • 0
    Это было не совсем в том порядке, или все в одной строке. Я имел в виду, я планировал добавить ссылку на уже отформатированную переменную.
  • 0
    @Nik: как это?
Показать ещё 1 комментарий
2

Вы можете удалить префикс 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_%'

Ссылка:

0

Это должно выполнить всю работу:

$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().

0

Это показывает, как выполнить синтаксический разбор на стороне 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);
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню