2016-05-30 2 views
0

Я пытаюсь использовать функцию mysqli_fetch_field(), чтобы получить имя каждой из моих таблиц в базе данных. Однако, когда я пытаюсь вывести имя таблицы, используя $fieldInfo->table, я получаю дубликаты. Как я могу выбрать только 1 столбец из каждой таблицы, чтобы $fieldInfo->table не вызывался для каждого столбца каждой таблицы?PHP/SQL - Как получить имя таблицы в моей базе данных?

тока SQL:

$sql = "SELECT * from administrators, bookings, customers, rooms"; 
$results = mysqli_query($conn, $sql) 
or die ('Problem with query' . mysqli_error($conn)); 

мой код, чтобы отобразить имя таблицы в радиокнопок:

<?php 
while ($fieldInfo = mysqli_fetch_field($results)) { 
?> 
<input type="radio" name="tableNames" value="<?php echo $fieldInfo->table; ?>"> <?php echo $fieldInfo->table ?> <br> 
<?php } ?> 
+0

'mysql_list_tables ресурсов (строка $ базы данных [, ресурс $ link_identifier = NULL])' [function.mysql-список-tables.php] (http://php.net/manual/en /function.mysql-list-tables.php) –

+1

@FrayneKonok Существует разница между 'mysqli' и' mysql' ... – arkascha

+0

Как насчет 'SELECT 1 от администраторов, заказов, клиентов, комнат'? – arkascha

ответ

0

я добавил 2 временный держатель имя таблицы и сделал условие IF, что только выводит радиокнопок после того, как 2 временные владельцы имен будут разными.

<?php 
    $tempName2 = ""; 
    while ($fieldInfo = mysqli_fetch_field($results)) { 
     $tempName = $fieldInfo->table; 
     if ($tempName != $tempName2) { 
      $tempName2 = $tempName; 
?> 
    <input type="radio" name="tableNames" value="<?php echo $tempName; ?>" > <?php echo $tempName ?> <br> 
    <?php } 
} ?> 
0
<?php 
$query='SHOW TABLES FROM DB_NAME'; 
$results=mysqli_query($conn,$query); 
while ($fieldInfo = mysqli_fetch_array($results)) { ?> 
    <input type="radio" name="tableNames" value="<?php echo $fieldInfo[0]; ?>"> <?php echo $fieldInfo[0]; ?> <br> 
<?php } ?>