За последние 24 часа нас посетили 54854 программиста и 1721 робот. Сейчас ищут 859 программистов ...

база данных

Тема в разделе "PHP для новичков", создана пользователем Ter, 7 июн 2011.

  1. Ter

    Ter Активный пользователь

    С нами с:
    5 июн 2011
    Сообщения:
    67
    Симпатии:
    0
    Здравствуйте, вот возникли затруднения... Пытаюсь написать скрипт, который высчитывает все таблицы в базе данных
    и выводит на страничку таблицу, которая содержит справа названия таблиц, а слева ссылочку на их удаление...
    Если не трудно, подскажите, что нужно написать там, где знаки вопроса и скрипт удаления =)
    PHP:
    1.  
    2. <?php
    3.  define ("SERVER", "localhost");
    4.  define ("USERNAME", "root");
    5.  define ("PASSWORD", "123");
    6.  define ("DBNAME", "gbook");
    7.  
    8. $link=new mysqli (SERVER, USERNAME, PASSWORD, DBNAME);
    9. $res = mysqli_query($link, 'show tables');
    10. $rows = mysqli_num_rows($res);
    11. echo "<table width=600 border=0 align=center>";
    12. for ($i=0; $i < $rows; $i++){
    13. $r = mysqli_fetch_assoc($res);
    14. echo "<tr><td align=center>".$r['?????']."</td><td align=center><a href='delete.php?n="">Удалить</a></td></tr>";}
    15. echo "</table>";
    16. ?>
    17.  
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Вместо
    PHP:
    1. <?php
    2. $rows = mysqli_num_rows($res);
    3. for ($i=0; $i < $rows; $i++){
    4.     $r = mysqli_fetch_assoc($res);
    5.     echo "<tr><td align=center>".$r['?????']."</td><td align=center><a href='delete.php?n="">Удалить</a></td></tr>";//тут с кавычками, кстати, ошибка
    6. }
    Сделай так
    PHP:
    1. <?php
    2. while($r=mysqli_fetch_row($res)){
    3.     echo "<tr><td align=center>",$r[0],"</td><td align=center><a href='delete.php?n=",$r[0],"'>Удалить</a></td></tr>";
    4. }
     
  3. Ter

    Ter Активный пользователь

    С нами с:
    5 июн 2011
    Сообщения:
    67
    Симпатии:
    0
    спасибо, а какая функция также удаляет папку с файлами? та же что и создаёт папку?
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Из таблицы удалить можно так (не проверял, правда).
    delete.php
    PHP:
    1. <?php
    2. define ("SERVER", "localhost");
    3. define ("USERNAME", "root");
    4. define ("PASSWORD", "abc");
    5. define ("DBNAME", "kris");
    6.  
    7. $link=new mysqli (SERVER, USERNAME, PASSWORD, DBNAME);
    8. $drop=(isset($_GET['n']))?$_GET['n']:'';
    9. if(!empty($drop)){
    10.     mysqli_query($link, "DROP TABLE $drop");
    11. }
    А перед удалением папки нужно сначала удалить все файлы в ней, потом пустую папку. Как делается, не помню, но найти такую функцию легко в инете.
     
  5. Ter

    Ter Активный пользователь

    С нами с:
    5 июн 2011
    Сообщения:
    67
    Симпатии:
    0
    хорошо, поищу.
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Например, убер-функция
    PHP:
    1. <?php
    2. function removeDir($path) {
    3.     return is_file($path)?@unlink($path):array_map('removeDir',glob($path))==@rmdir($path);
    4. }
    5. //пример
    6. $path=$_SERVER['DOCUMENT_ROOT'].'/test/*';
    7. removeDir($path);
    Аккуратней только с этим :)
     
  7. Ter

    Ter Активный пользователь

    С нами с:
    5 июн 2011
    Сообщения:
    67
    Симпатии:
    0
    это та, что папку дропает?
     
  8. Ter

    Ter Активный пользователь

    С нами с:
    5 июн 2011
    Сообщения:
    67
    Симпатии:
    0
    ведь там надо, чтобы пхпшка знал номер папки, которую надо удалить... наверное массив или что-то такое?
     
  9. Ter

    Ter Активный пользователь

    С нами с:
    5 июн 2011
    Сообщения:
    67
    Симпатии:
    0
    вот, но удаляет только содержимое папки.
    PHP:
    1.  
    2.  
    3. <?php
    4. require('conf.php');
    5. defined('PASSWORD')or die('<html><head><title></title></head><body>Неудачно</body></html>');
    6. $link=new mysqli (SERVER, USERNAME, PASSWORD, DBNAME);
    7. $drop=(isset($_GET['n']))?$_GET['n']:'';
    8. if(!empty($drop)){
    9. mysqli_query($link, "DROP TABLE $drop");
    10.  }
    11. function removeDir($path) {
    12.      return is_file($path)?@unlink($path):array_map('removeDir',glob($path))==@rmdir($path);
    13.  }
    14. if(isset($_GET['n'])) {$dir=$_GET['n'];}
    15. $path=$dir."/*";
    16. removeDir($path);
    17. header("Location:admin.php");
    18.