Avatar billede imperten Nybegynder
06. maj 2006 - 20:16 Der er 6 kommentarer

Tabelvalg via variabel

$hent = mysql_query("select * from $filnavn");

Kan man ikke benytte et variabelnavn til at afgøre fra hvilken table, der skal læses? Det dur i hvert fald ikke at skrive det således.
Avatar billede erikjacobsen Ekspert
06. maj 2006 - 20:28 #1
Det kan man sagtens. Du gør nok et eller andet galt.
Avatar billede Slettet bruger
06. maj 2006 - 21:02 #2
Dette burne i hvert fald virke.
Men det er stadig bedre at skrive de felter i tabelen du vil hive ud, istedet for *.

$sql = "SELECT * FROM".$tabel;
$hent = mysql_query($sql);

Ved ikke om du kender til funktioner?
Ellers ville jeg nok lave en funktion:
public function query($sql) {
$query = mysql_query($sql);

if($query) {
return $query;
} else {
exit("<span style=\"color: #FF0000;\">Der skete en fejl.<br />Sql string: ".$sql."</span><br />");
}

Når du så er færdig med at udvikle siden kan du fjerne printning af sql'en så brugeren ikke får den af vide.
Avatar billede Slettet bruger
06. maj 2006 - 21:05 #3
Så når du skal bruge funktionen kalder du bare:
f.eks.
$forspoerelse = query("SELECT felt1, felt2 FROM tabel");
while($r = mysql_fetch_array($forspoerelse )) {
echo $r['felt1'] . " - " . $r['felt2']."<br />\n";
}
Avatar billede imperten Nybegynder
06. maj 2006 - 22:51 #4
Erik Jacobsen, du har ret, der manglede et $ tidligere i programmet, hvor jeg byggede filnavnet op:

$filnavn = "f2006".maaned

Også tak til Coldgate for nogle pæne fiduser.
Avatar billede erikjacobsen Ekspert
07. maj 2006 - 08:52 #5
Godt nok. Når det er sagt, er det normalt en dårlig idé at have en masse ens tabeller f200601 f200602 ... f201012. Hellere een tabel "f" med et ekstra felt (med index) hvor du kan skrive hvilken måned den hører til "200601", "200602", "201012".
Avatar billede Slettet bruger
07. maj 2006 - 17:12 #6
Ja det vil jeg også give erikjacobsen ret i, at det er langt bedre at gøre det hele i en tabel, og så er der et felt i tabelen der viser hvad måned det er.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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