Gå til innhold

koble mysqltabeller til variabler


Anbefalte innlegg

Sitter og sliter med et problem her.. Jeg har et script som lar meg se hvilke tabeller jeg har i en database (mysql).

Har kommet til det punktet at jeg vil fikse litt på scriptet for å utvide det for å gjøre det mer funksjonibelt.

 

Her er scriptet slik det er nå

if (!mysql_connect($dbhostname, $dbuser, $dbpassword)) {
  echo 'kunne ikke koble til databasen!';
  exit();
}

$result = mysql_list_tables($database);

if (!$result) {
  echo "Error! kunne ikke liste opp tabellene\n";
} else {

while ($row = mysql_fetch_row($result)) {
  echo "Table: $row[0]<br>";
}
}
mysql_free_result($result);
}

 

Som man ser så blir alle tabellene skrevet ut ved følgende kode:

echo "Table: $row[0]<br>";

 

Det jeg heller vil at scriptet skal gjøre er å _ikke_ skrive ut tabellene men heller koble alle tabellene til hver sin variabel, f.eks $table1,$table2 osv...

 

Hvordan gjør jeg dette? Tipper jeg blir å komme borti array eller noe.. Men er ikke noe ekspert på PHP enda ;)

 

Vært kjekt om noen har noen forslag på lur om dette..

Endret av slakkis
Lenke til kommentar
Videoannonse
Annonse

Kan for så vidt gjøre slik ja..

Men jeg er ikke helt med enda.

Det som scriptet til slutt skal gjøre (når det er ferdig) er å finne alle tabellene i en gitt database for så å skrive ut alle kolonnene som hver tabell har med info, f.eks brukerid, navn, passord etc.. og hvor man da får tak i alle verdiene som er lagret under disse.

 

Scriptet nå da være helautomatisk. Etter at jeg har valgt databasen den skal se i, så skal den klare å finne alle tabellene i databasen selv og alle kolonnene..

(err.. det er kolonner ikke sant?)

 

Antar da at scriptet må kunne telle antall tabeller i første omgang (i forbindelse med den kodesnutten jeg oppgav). For så å koble opp det antallet med tabeller opp mot et likt antall variabler.

 

Virker nesten som at array ikke er den letteste løsningen? eller er det den eneste løsningen på dette problemet?..

Lenke til kommentar

if (!mysql_connect($dbhostname, $dbuser, $dbpassword)) {
 echo 'kunne ikke koble til databasen!';
 exit();
}

$result = mysql_list_tables($database);

if (!$result) {
 echo "Error! kunne ikke liste opp tabellene\n";
} else {

while ($row = mysql_fetch_row($result)) {
 $tabeller[] = $row[0];
}
}
mysql_free_result($result);

foreach($tabeller as $tabell) {
$data = mysql_query("SELECT * FROM $tabell");
// Behandle data fra tabellen her?
}

 

Er faktisk fortsatt ikke helt sikker på hva du er ute etter, blir bare mer og mer satt ut av scriptet! :D

Lenke til kommentar

hehe :D

 

Jeg er ikke så flink til å forklare ;)

Men greia var i simpeltheten det at den kodesnutten jeg oppgav til å begynne med, listet opp alle tabellene i en database..

 

Planen var å utvide scriptet slik at jeg kan gå inn i alle tabellene og se på alle radene eller hva det heter (eksempelvis 'userid' , 'users' , 'e-mail' osv..) og se hva disse inneholdte (f.eks for å se navnene på alle 'users' for eksempel..)

 

Jeg har også et script som som gjør dette for meg. Sjekk ut dette eksemplet på www.php.net.

 

Problemet er bare det at den kodesnutten der så må jeg skrive inn manuelt hva radene heter inne i scriptet... (sjekk her for å se en output som jeg lagra som html etter at jeg kjørte dette scriptet. Vel og merke etter at jeg gikk inn i scriptet og skrev på navnet på alle radene der, userid, name, username osv..)

 

Målet var da å kunne mekke i hop et script som gjorde dette automatisk :p

På denne måten kunne dette scriptet vært en drøm i oppfyllelse (ihvertfall for meg) når man skal utvikle snedige små scripts selv som bruker mysql.. Genialt til feilsøking for eksempel..

 

Personlig begynner jeg å innse at dette ikke lar seg gjøre så lett for en som meg som sitter og lærer seg php/mysql...

Lenke til kommentar

http://www.php.net/manual/en/function.extract.php

 

Cutn paste fra eksempel:

?php

/* Suppose that $var_array is an array returned from
  wddx_deserialize */

$size = "large";
$var_array = array("color" => "blue",
                  "size"  => "medium",
                  "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$color, $size, $shape, $wddx_size\n";

?>

Lenke til kommentar
Hva med å bruke noe som phpMyAdmin på databasene?

 

Bruker selvfølgelig phpmyadmin!

 

Men har phpmyadmin den muligheten å kunne liste opp hva tabellene inneholder av data? Altså har man for eksempel et login-script, kunne man ha fått phpmyadmin til å liste opp alt som raden 'brukere' inneholder for eksempel (altså, per, jon, frank, lise osv..)?

 

Har ikke sett det jeg ihvertfall..

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...