tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1526
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von the snake II
    the snake II the snake II ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Krefeld
    Beiträge
    132
    Hallo zusammen,

    ich arbeite gerade an einem Script, mit dem man als Administrator einen neuen Artikel in einen Onlineshop, der mit MySQL arbeitet, erstellen kann.

    Es ist wichtig, zu wissen, dass ich die Datenbank so Strukturiere:

    Die Datenbank heißt "webshop".
    In der Datenbank wird für jede Artikelgrppe (z.B. "Heimwerkerartikel" ) eine Tabelle erstellt.
    In den jeweiligen Tabellen ist jede Zeile ein Artikel.
    Spalten:
    "ID" - Artikelnummer (fortlaufende Zahl)
    "name" - ist wohl klar
    "bild" - URL zum Bild des Artikels
    "text" - Beschreibung
    "preis" - ist auch klar

    Man kann durch Radiobuttons entscheiden, ob man den neuen Artikel in eine bereits bestehende Gruppe oder in eine neue einfügen möchte.

    Entscheidet man sich für eine neue Gruppe tritt das Problem auf.
    Hier die entsprechende stelle im Code:
    PHP-Code:
    if($_POST["newornot"]=="new"){ //wenn eine neue Gruppe erstellt werden soll
    $create_query '
    CREATE TABLE `'
    .$_POST["newgroupname"].'` ( 
    `ID` INT NOT NULL ,
    `name` VARCHAR( 50 ) NOT NULL ,
    `bild` VARCHAR( 50 ) NOT NULL ,
    `text` TEXT NOT NULL ,
    `preis` INT NOT NULL ,
    INDEX ( `ID` )
    );'
    ;
    mysql_query($create_query);

    $handle file("./current_articles.txt"); //Die Anzahl der Aktuellen Artikel für die fortlaufende ID sthet in dieser Datei
    foreach($handle as $art_count){
        
    $insert_query "
        INSERT INTO `"
    .$_POST["newgroupname"]."` ( `ID` , `name` , `bild` , `text` , `preis` )
        VALUES (
        '"
    .++$art_count."', '".$name."', '".$bild."', '".$text."', '".$preis."' 
        );"
    ;//§name entspricht §_POST["name"] usw.
        
    }
        
    mysql_query($insert_query);

    Es wird also erst eine neue Tabelle mit dem Namen, den man in "newgroupname" (textfeld) eingegeben hat, erstellt und dann werden die Werte eingetragen, die man in einem Formular eingegeben hat.

    Das Problem ist nun das, das zwar eine neue Tabelle erstellt wird, aber die Werte nicht eingefügt werden.

    Dazu muss ich allerdings noch sagen, dass mein phpMyAdmin (v 2.6.1 -pl2) auf der Startseite folgende Warnung anzeigt: "Die PHP-Erweiterung "mbstring" wurde nicht gefunden, trotzdem jedoch scheinen Sie einen Mehrbyte-Zeichensatz zu verwenden. Ohne besagte Erweiterung ist phpMyAdmin nicht in der Lage Zeichenketten zu trennen, was zu unerwarteten Ergebnissen führen kann."

    Ich weiß nicht ob das ausschlaggebend für mein Problem ist. (Wäre jedoch nett, wenn ihr eine Lösung für diese Warnung hättet, auch wenn das nichts mit dem oben beschriebenen zu tun hat)

    Habt ihr vielleicht eine/zwei Lösungen für mich?
     

  2. #2
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Für jede Artikelgruppe eine eigene Tabelle anzulegen ist nicht im Sinne einer relationalen Datenbank. Lege die Artikelgruppen in einer Tabelle ab und referenziere in einer Artikeltabelle auf die jeweilige Gruppe.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    /-----------------\
    |  Artikelgruppe  |
    |-----------------|
    | * ATG_ID        |=---\
    |   ATG_NAME      |    |
    \-----------------/    |
                           |
                           |
    /-----------------\    |
    |    Artikel      |    |
    |-----------------|    |
    | * ART_ID        |    |
    |   ATG_ID        |=---/
    |   ART_NAME      |
    |   ART_BILD      |
    |   ART_TEXT      |
    \-----------------/
    Sven
    Geändert von Sven Petruschke (03.03.05 um 17:44 Uhr)
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  3. #3
    Avatar von the snake II
    the snake II the snake II ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Ort
    Krefeld
    Beiträge
    132
    Dankeschön für die schnelle Antwort.
    So hatte ich das auch zu Anfang, jedoch bekam ich das Problem beim Auslesen, um es im Inhaltsverzeichnis hierachisch aufzulisten.
    Kennt jemand vielleicht ein solches Script?
    Wenn nicht, werde ich das Inhaltsverzeichnis "statisch" anlegen. Also beim Klick auf eine Kategorie eine Extra Seite für die Artikel anzeigen lassen, und nicht "aufklappen" lassen.
     

Ähnliche Themen

  1. Administration von MySql 3.x
    Von SuperSonik im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 19.10.05, 16:10
  2. MySQL Rechte -> Erstellen von neuen Datenbanken unterbinden
    Von chris4712 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 12.10.05, 23:03
  3. Onlineshop erstellen
    Von TV Zeiningen im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 03.02.05, 23:03
  4. Mysql Admin - Neuen benutzer erstellen
    Von MastaDaDesasta im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 05.02.04, 17:18
  5. MySQL Administration Problematik
    Von CTG im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 23.06.03, 05:31