Jeg skal bruge et system, hvor man ud fra en form, kan oprette en MySQL tabel. Jeg havde tænkt, at man skulle skrive navnet i formen, og jeg så kunne bruge $_POST[] arrayet til sætte navnet på tabellen, men jeg kan ikke rigtig få det til at virke..
Min kode ser således ud:
$name = $_POST["titel"];
$query = "CREATE TABLE $name (id INT AUTO_INCREMENT, link VARCHAR(50))";
........... Jeg har inkluderet min database forbindelse
Jeg har også prøvet at sætte variablen ind således: ".$name." Men det fungerer heller ikke.
Det foregår inde fra en Admin side, hvor det skal være muligt at oprette et album, hvor der kan tilføjes billeder.. Kan du anbefale en bedre løsning, ville det være rigtig fint :)
Du kan oprette et felt med et tal/tekst, som angiver albummet. Så kan du have alle album i samme tabel.
Det vigtigste råd, du kan få, er dog nok at smide det gamle og forældede MySQL-API langt væk og i stedet komme igang med at kode i MySQLI - eller evt. PDO =)
Hva så med med de billeder der uploades, som skal tilhøre de forskellige album? Jeg har indtil videre lagt sti'en til billeder ind i databasen.. Og var os det jeg havde forestillet mig lidt med det her. Sådan, at hvert billede får sit eget ID i tabellen, som er albummet. Jeg synes måske selv, det er en ret indviklet metode, men jeg har ikke lige kunne se hvordan ellers..
Det med MySQLI, har jeg forsøgt at læse lidt om, men jeg er i forvejen meget ny inden for PHP og MySQL, da jeg kun har programmeret i 2-3 mdr.
"Så hvert album får et id, og et navn?" >> Nej, et ID eller et navn.
"Hva så med med de billeder der uploades, som skal tilhøre de forskellige album?" >> Du indsætter stien til hvert billede i tabellen - og samtidigt indsættes det ID (album), billedet tilhører.
At du er helt ny, gør det endnu mere presserende at undgå dårlige vaner og komme igang med MySQLI hurtigst muligt. Begynd evt. med denne guide *o)
Hvis jeg forstår det ret, så skal jeg ikke bruge AUTO_INCREMENT, men istedet selv definere et id til billederne, og derefter, i hvert album, hente de data der har den rigtige værdi?
@jogii: Hvis man er opmærksom på SQL-injections benytter man ikke MySQL, men MySQLI eller PDO *o)
I PHP parses variabler, som er escaped af dobbelte gåseøjne, så på dét punkt er spørgers syntaks korrekt. Til gengæld skal et felt med auto incrementing være en primary key:
$query = "CREATE TABLE $name (id INT AUTO_INCREMENT, link VARCHAR(50), PRIMARY KEY (id))";
jogii: Princippet er godt nok. Faktisk kan jeg bedst lide din syntaks, da den syntaksfarver variablen i min IDE og derfor mindsker antallet af potentielle fejlkilder *o)
Dog er der lige den detalje, at + operatoren kun anvendes til addition i PHP. Strengkonkateneringsoperatoren (sikke et ord!) er et punktum i PHP. Men idéen var god nok =)
Synes godt om
Ny brugerNybegynder
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.