Avatar billede hamzter Nybegynder
06. oktober 2005 - 10:20 Der er 9 kommentarer og
2 løsninger

kalde database info via php

Jeg er igang med at programmere en "administrator-side" til en database. Siden skal bl.a. kunne slette brugere, men også få vist forskellige info fra databasen. Indtil videre viser den bl.a. server adresse og server uptime.

Jeg vil imidlertid gerne kunne se nogle flere info:

- Størrelse af databasen
- Oprettede emner, indslag, billeder osv (informationen hentes fra forskellige databaser)

Håber det er forståeligt...

Mvh. Hamzter
Avatar billede Slettet bruger
06. oktober 2005 - 11:58 #1
/*
  Function that returns whole size of a given MySQL database
  Returns false if no db by that name is found
*/

  function getdbsize($tdb) {

  $sql_result = "SHOW TABLE STATUS FROM " .$tdb;
  $result = mysql_query($sql_result);

  if($result) {
      $size = 0;
      while ($data = mysql_fetch_array($result)) {
            $size = $size + $data["Data_length"] + $data["Index_length"];
      }
      return $size;
  }
  else {
      return FALSE;
  }
  }



Kaldes sådan her:
$tmp = getdbsize($_SESSION['cm3_backend_vars']['dbname']);
echo $tmp;
Avatar billede hamzter Nybegynder
06. oktober 2005 - 12:11 #2
det ser fint ud. lige et par spørgsmål:

hvad skal 'cm3_backend_vars' erstattes med, hvis den skal erstattes?

hvad med "data_length" og "index_length"?
Avatar billede Slettet bruger
06. oktober 2005 - 12:23 #3
Nåh...ja det er bare navnet på databasen :)

Altså $tmp = getdbsize('din_database');

data_length og index_length er noget der trækkes ud fra databasen, det skal du ikke bekymre dig om :)
Avatar billede hamzter Nybegynder
06. oktober 2005 - 12:44 #4
oka. har lige prøvet, men får denne fejl:

"Warning: mysql_query(): Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\apache\Apache2\htdocs\innoline\admin\MYSQL_status.php on line 27

Warning: mysql_query(): A link to the server could not be established in C:\apache\Apache2\htdocs\innoline\admin\MYSQL_status.php on line 27'2

hvordan kan jeg indtaste password...?
Avatar billede Slettet bruger
06. oktober 2005 - 12:52 #5
Du skal naturligvis connecte til MySQL inden du laver en query!
Avatar billede hamzter Nybegynder
06. oktober 2005 - 12:59 #6
ja oka. det prøver jeg! tak for det. burde have nok til at klare det, så bare smid et svar! :)
Avatar billede hamzter Nybegynder
06. oktober 2005 - 13:12 #7
Det virker perfekt! tak for det... smid et svar, og jeg gir point...
Avatar billede Slettet bruger
06. oktober 2005 - 13:30 #8
Oki, men det andet der kan jeg ikke lige hjælpe med, det er vel noget med at tælle antalle op med en SELECT COUNT(*)

Vil dog ikke have 60 point for mit svar, kan vi ikke dele eller noget?
Avatar billede hamzter Nybegynder
07. oktober 2005 - 08:44 #9
jo sagtens. jeg smider også et svar også.
Avatar billede hamzter Nybegynder
07. oktober 2005 - 08:45 #10
Tak for hjælpen
Avatar billede Slettet bruger
07. oktober 2005 - 08:48 #11
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester