• Ich bin Momentan dran ein Online Shop zu erstellen, da ich aber ein völliger PHP & MySQL N00b bin brauche ich etwas Hîlfe!


    Wenn ich eine neue MySQL Database erstelle und dann den PrimaryKey definieren will reicht es wenn ich das so mache:


    create table kunde (
    kunde_id int primary key
    )


    oder muss ich das so auch noch machen:


    create table kunde (
    kunde_id int primary key,
    primary key(kunde_id)
    )


    THX

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Von der Syntax her oder wie?


    Weil, als Windows-Clickomane hab ich mir natürlich erst mal phpmyadmin gezogen, installiert und verwalte alle meine MySQL DBs über das nette Ding. Da sieht man auch immer, welche Zeile als P-Key gesetzt ist, welche Indexe usw.... macht einem das Leben manchmal extrem leichter, als über SQL-Statements zu arbeiten.

    EIne Ständerlampe ist eine Stehlampe und keine Genitalbeleuchtung.

  • Zitat

    Original von Armitage
    Von der Syntax her oder wie?


    Weil, als Windows-Clickomane hab ich mir natürlich erst mal phpmyadmin gezogen, installiert und verwalte alle meine MySQL DBs über das nette Ding. Da sieht man auch immer, welche Zeile als P-Key gesetzt ist, welche Indexe usw.... macht einem das Leben manchmal extrem leichter, als über SQL-Statements zu arbeiten.


    Benutzte auch PHPMyAdmin aber ich erstelle die DB indem ich den SQL-String ausführe, dann sehe ich auch mal was da so abgeht und wenn du ne DB automatisch von einer PHP-Site aus erstellen willst kannst du dann nicht irgend ein Makro mit PHPMyAdmin machen ;) !


    Habe es mit dem da mal versucht so wies scheint hats den kunde_id als PKey erkennt :] !


    create table kunde (
    kunde_id int primary key
    )

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Sollte gar nicht zugelassen werden von MySQL und es gibt versionen die das auch verbieten. Primary Key darf nicht NULL sein, von dem her mach da noch ein not null rein.


    id int not null primary key <--- so in etwa


    |---> it MUST be a spoon! <---|


      

  • Zitat

    Original von Xoood
    Sollte gar nicht zugelassen werden von MySQL und es gibt versionen die das auch verbieten. Primary Key darf nicht NULL sein, von dem her mach da noch ein not null rein.


    id int not null primary key <--- so in etwa


    genau :D !


    Ich werde noch ein auto_increment einfügen, hat jemand ne Ahnung wie ich das ganze für einen bestimmten Bereich definieren könnte?


    z.B wenn ich möchte dass das auto_increment von 200000 bis 300000 reicht. Wenn ich den ersten Datensatz mit 200000 manuel eingebe funktioniert das dann auch, vielleicht gibt es aber doch noch ne andere möglichkeit :rolleyes: !


    THX XOoOD

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Wenn ich einen zB eine Datenbank Autos und Menschen habe. Dann habe ich eine weitere Datenbank die zB Sicherheit heisst und wo ich eintrage welcher Mensch zu Welchem Auto Zugriff hat.


    Ist es empfohlen in der Tabelle Sicherheit mensch_id und auto_id als Primary Key zu definieren?

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Du machst 2 Tabellen


    "Mensch" und "Sicherheit"


    Mensch:
    ID_Mensch -> Primary Key


    Sicherheit:
    ID_Sicherheit -> Primary Key
    ID_Mensch -> normaler int



    Bei der ID solltest du IMMER den Tabellennamen + _ID oder was eigenes nehmen. einfach übersichtlichkeitshalber.


    |---> it MUST be a spoon! <---|


      


  • Ne du hast meine Frage falsch verstanden :( ! Einfach formuliert: Wenn ich eine Tabelle habe die nur 2 Entitäten hat und dies sind n-Beziehungen ist es dann notwendig einen PrimaryKey zu definieren?


    Weitere Frage: Wenn ich in einem php-Dokument ein Document include das eine DB connectet und öffnet:


    <?php include("connect_db.php") ?>


    ist das dann für das ganze Dokument gültig?

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Primary Key solltest du IMMER haben. Sowieso macht es sinn einen primary key zu machen, auch wenns nur eine ID ist.


    Wenn du ein File öffnest aus einer anderen Datei, dann sind die Daten von da für das aktuelle File gültig. Wenn du require () oder so was in der art (auch include) machst du nichts anderes als im grunde einfach den Inhalt des files, welches du einbindest da einzukopieren.


    Wenn du also 2 Files hast:


    test.php, inhalt: "$temp = "Hallo";


    und ein File test1.php:
    "
    require test.php


    echo $temp;
    "
    dann hast du im grunde ein file, in welchem steht:


    "
    $temp = "Hallo";
    echo $temp;
    "
    Nachgekommen?


    |---> it MUST be a spoon! <---|


      


  • Ja des ist mir vollkommen klar, meine Frage war eigentlich ob die DB dann für das ganze PHP-Dokument geöffnet ist. Aber ich denke dies kann man eindeutig mit ja beantworten :rolleyes: !

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • wenn ich in db_connect.php eine Variable $connection definiere und in view.php


    include("db_connect.php")


    einfüge und die Variable öffnen will gibts probs :( !

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Aber nicht weil sie in einer anderen Datei steht. Dann hast du sonst ein Problem. Wie lautet denn die Fehlermeldung?

    SELECT girl FROM pool_of_girls
    WHERE
    hair='blonde' AND sexuality='lesbian'
    ORDER BY
    size_of_breasts DESC

  • Zitat

    Original von killersushi
    Aber nicht weil sie in einer anderen Datei steht. Dann hast du sonst ein Problem. Wie lautet denn die Fehlermeldung?


    Mesch du hast recht! Wollte den Fehler nochmals reproduzieren, aber jetzt gehts


    :rocknroll2

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • Wie kann ich eine URL aus dem PHP starten?

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.

  • PHP ist serverseitig, von da her keine dynamischen aktualisierungen möglich. Musst einfach mit echo ein Javascript aufrufen, hab dir eins angefügt hier, das ist einfach, effizient und funktioniert soweit gut. Einfach URL halt noch anpassen.
    [php]
    echo '<script language="Javascript">
    <!--
    // please keep these lines on when you copy the source
    // made by: Stefan - http://shilfiker.homelinux.com:81


    var URL = "http://shilfiker.homelinux.com:81&quot;
    var speed = 0



    function reload() {
    location = URL
    }


    setTimeout("reload()", speed);
    //-->
    </script>
    ';
    [/php]



    Edit: die erste zeile wird hier falsch dargestellt, vermutlich damit es nicht ausgeführt wird :D
    Jaaaavaaaascript oder wie auch immer einfach durch "Javascript" ersetzen (ohne ")


    |---> it MUST be a spoon! <---|


      

  • Ist nicht nötig.
    Entweder es geht auch ohne oder der PHP Interpreter ist so klug und macht die da rein ;) das musst du Javascript heini wissen :p


    es läuft auf jeden fall :]


    |---> it MUST be a spoon! <---|


      

  • Solltest du als Programmierer nicht mit guten Beispiel voran gehen und die Syntax einhalten, auch wenn's "so läuft"? ;)

    SELECT girl FROM pool_of_girls
    WHERE
    hair='blonde' AND sexuality='lesbian'
    ORDER BY
    size_of_breasts DESC

  • Also bei mir läuft das Ding überhaupt nicht der hat bereits in der ersten line einen parse error :(:D !


    Xoood, wenn du mir doch schon helfen willst, könntest du dich dann bitte auf das wesentliche beschränken und nicht noch Kommentare einfügen 8o:D !

    ... wir wären heute wohl technisch wesentlich weiter, wenn 3Dfx Interactive nicht hätte gehen müssen. Und wir wären wohl um einige recht geistesgestörte 3D-Beschleuniger bereichert worden.