Avatar billede 44fire44 Nybegynder
27. november 2007 - 01:04 Der er 9 kommentarer og
1 løsning

Tilføje variabel til "create table"

Hej folks

Jeg sidder og bakser med et script som først skal oprette en bruger i en eksisterende tabel, samt en ny tabel for brugeren

Hvis vi antager at brugeren hedder Peter, så vil jeg gerne have at der oprettes en ny tabel der hedder user_peter (altså user_$name)


Jeg har i forvejen allerede en MySQL-query som ser således ud, som den skal skrives ind i:

    mysql_query("INSERT INTO users (
                name,
                password,
                adress,
                zip,
                city,
                phone,
                email)
               
                VALUES (
                '$name',
                '$password',
                '$adress',
                '$zip',
                '$city',
                '$phone',
                                '$email'
                                 
        )") or die(mysql_error());
    mysql_query($SQL_query) or die(mysql_error());
Avatar billede 44fire44 Nybegynder
27. november 2007 - 08:50 #1
altså det jeg lederefter er hvordan jeg laver en

mysql_query("CREATE TABLE users_$phone

fx - hvor den så henter det telefonnummer der er indtastet fx.
Avatar billede nielle Nybegynder
27. november 2007 - 08:57 #2
En langt bedre database struktur ville være at have alle dine personer liggende i een tabel. At oprette en ny tabel for hver bruger bliver ikke specielt skalerbar.

Men ellers kan det da gøres sådan:

$phone = $_POST['phone'];
$phone = mysql_real_escape_string($phone);
mysql_query("CREATE TABLE users_$phone ...
Avatar billede 44fire44 Nybegynder
27. november 2007 - 09:04 #3
det her virkede også

mysql_query("CREATE TABLE user_$phone (vin_nummer varchar(255))") or die(mysql_error());
Avatar billede 44fire44 Nybegynder
27. november 2007 - 09:05 #4
hmm ja - det overvejede jeg også - jeg har skam også alle mine brugere liggende i samme tabel, men da hver bruger skal have en liste tilknyttet med varierende indhold, så skal jeg have en tabel med tilknyttede numre til brugeren - det er lidt tricky, men hvis du har en bedre ide såg endelig til :)
Avatar billede nielle Nybegynder
27. november 2007 - 09:07 #5
Det kommer an på hvad du mener med "varierende indhold".
Avatar billede 44fire44 Nybegynder
27. november 2007 - 09:12 #6
well - lad os sige at vi har 5 brugere

ved siden af de 5 brugere har jeg en lang liste med varer, men det er ikke alle varerne som alle 5 brugere kan købe - hvis derer ti varer, så skal bruger to måske kun have adgang til vare 3,4,7,8 og 10 - mens kunde skal have adgang til 1,2,6,8,9 fx

jeg vil så oprette en tabel med numrene på disse varer for hver bruger, som så kan ændres fra et andet script
Avatar billede nielle Nybegynder
27. november 2007 - 10:03 #7
Jeg ville lave dette som tre tabeller:

Brugere : som indeholder alle brugerene
Varer : som indeholder alle varene
BrugerVsVare : som indeholder en listning mellem hvilke brugere som kan købe hvilke vare.

Denne sidste tabel ville indeholde noget i stil med med følgende 3 felter:

id - unikt nummer for rækken
bruger_id - peger på brugeren i bruger-tabellen
varer_id - peger på varen i vare-tabellen
Avatar billede nielle Nybegynder
03. december 2007 - 19:06 #8
Har du fået kigget på det?
Avatar billede 44fire44 Nybegynder
08. december 2007 - 18:00 #9
ja, jeg prøver med min egen metode først - så får vi se om jeg finder ud af at det er nemmere på dine måde :)

smid et svar for points
Avatar billede nielle Nybegynder
10. december 2007 - 06:51 #10
Svar :^)
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