tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
537
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Acriss Acriss ist offline Mitglied Platin
    Registriert seit
    Jun 2007
    Ort
    Lingen (Niedersachsen, zZ in Istanbul)
    Beiträge
    685
    Hi,
    ich spiele ein Browsergame ( www.space-pioneers.de )
    und habe mir dazu eine Koordinaten-Datenbank gebastelt.
    Man kann folgende Daten einfügen:
    Allianz, Spielername, Koordinaten(13stück)
    Soweit tut alles ganz gut,
    auch die Suchfunktion arbeitet prima.

    Mein Problem:

    Ich nehme mal ein Beispiel:
    Folgende Daten werden eingetragen:
    Rla <-Allianz
    c-mon <_Name
    123:66:12 <-Koords1
    124:66:04 <-Koords2
    178:05:13 <-Koords3

    Das geht ja,
    aber nun sollen 2 Koordinaten hinzugefügt werden.
    Also folgende Eingabe:
    Rla
    c-mon
    144:05:16
    101:99:01

    Allerdings soll die der erste Eintrag dann geupdated werden,
    sodass die Koordinaten an Platz 4 und 5 gelangen.
    WIe realisiere ich das?
     

  2. #2
    Flo[H] Flo[H] ist offline Mitglied Brokat
    Registriert seit
    Aug 2002
    Beiträge
    399
    Hallo!
    Ich würde den Datensatz auslesen und prüfen wieviele Koordinaten schon gespeichert wurden. Anschließend per Update-Query den Datensatz updaten.
    mfg flo
     
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
    -Rich Cook

  3. #3
    Acriss Acriss ist offline Mitglied Platin
    Registriert seit
    Jun 2007
    Ort
    Lingen (Niedersachsen, zZ in Istanbul)
    Beiträge
    685
    Und wie prüfe ich?
    Soll ich das so machen?
    (0 = id, 1 = alli, 2= spieler)
    [php]
    while ($row = mysql_fetch_array($query, $connect))
    {
    if ($row[3] != "")
    {
    $update = "UPDATE spdata SET koords1 = '$eingabe' WHERE spieler LIKE '$Spieler')
    }
    }

    Weil so klappt das nicht, denn dann werden ja alle restlichen Felder befüllt.
     

  4. #4
    Acriss Acriss ist offline Mitglied Platin
    Registriert seit
    Jun 2007
    Ort
    Lingen (Niedersachsen, zZ in Istanbul)
    Beiträge
    685
    Ich löse es jetzt anders,
    aber wenn jemand dochwe iß was ich meine, bitte ich es ihn/sie es zu posten
     

  5. #5
    Avatar von Danielku15
    Danielku15 Danielku15 ist offline Mitglied Platin
    Registriert seit
    Feb 2004
    Ort
    Österreich
    Beiträge
    731
    Blog-Einträge
    3
    So wie ich das sehe ist dein DB-Modell falsch.
    Mach 2 Tabellen:
    User
    -------------------
    UserID | UserName | Allianz

    MySQL:
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    
    CREATE TABLE USER (
      UserID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      UserName VARCHAR(50) NULL,
      Allianz VARCHAR(50) NULL,
      PRIMARY KEY(UserID),
      UNIQUE INDEX User_U1(UserName, Allianz),
      INDEX User_I1(Allianz, UserName)
    );

    und
    Koordinaten:
    KoordinatenID | UserID | Koordinate

    MySQL:
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    
    CREATE TABLE Koordinate (
      KoordinateID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      UserID INTEGER UNSIGNED NOT NULL,
      Koordinate VARCHAR(20) NULL,
      PRIMARY KEY(KoordinateID),
      INDEX Koordinate_F1(UserID)
    );


    Zum Auslesen würde ich 2 Funktionen machen. Eine getUsers() und eine getKoordinate($UserID).

    GetUsers macht ein SELECT auf die Users Tabelle. getKoordinate($UserID) macht ein SELECT auf die Koordinaten Tabelle mit einer WHERE Klausel auf die UserID.

    Um einem User dann beliebig viele Koordinaten hinzuzufügen musst du nur in der Koordinatentabelle ein neuer Eintrag machen und die UserID entsprechend Setzen.

    ----------------------
    [Edit]

    Hab mal ein Beispiel für dich. Suche und schöne Ausgabe lass ich dich selber bauen

    PHP-Code:
    <?php
    function query($sql)
    {
        
    // Verbinden
        
    $connection mysql_connect('localhost''user''pw') or die('Fehler beim Verbinden');
        
    mysql_select_db('db'$connection) or die('Fehler beim Wählen der Datenbank');
        
        
    // Daten holen
        
    $result = @mysql_query($sql$connection);
        
    $count = @mysql_num_rows($result);

        
    // Daten in array schreiben
        
    $data = array();
        if(
    $count 0
        {
            for(
    $i=0$i<$count$i++)
            { 
                
    $data[$i]=mysql_fetch_array($result);
            }
        }
        
        return 
    $data;
    }

    function 
    getUsers()
    {
        
    // Select auf usertabelle
        
    return query('SELECT * FROM `User`;');
    }

    function 
    getKoordinaten($UserID)
    {
        
    // Select auf Koordinatentabelle mit WHERE
        
    return query('SELECT * FROM `Koordinate` WHERE `UserID` = "'.$UserID.'";');
    }

    // Ausgabe:
    $Users getUsers();
    foreach(
    $Users as $User)
    {
        
    // Koordinaten des Users holen
        
    $Koordinaten getKoordinaten($User['UserID']);
        
        
    // Userdaten ausgeben:
        
    echo 'Username: ' $User['Username'] . '<br />';
        echo 
    'Allianz: ' $User['Allianz'] . '<br />';
        
    // Koordinaten ausgeben
        
    echo 'Koordinaten:<br />';
        foreach(
    $Koordinaten as $Koordinate)
        {
            echo 
    $Koordinate['Koordinate'] . '<br />';
        }
    }
    ?>
    Geändert von Danielku15 (27.08.07 um 23:15 Uhr) Grund: Beispiel hinzugefügt
     

Ähnliche Themen

  1. [SQL] - Brauche Hilfe bei einer Datenbank
    Von blaq2beatz im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 21.04.10, 09:09
  2. Brauche Hilfe: Vererbung in einer relationalen Datenbank (mySQL)
    Von derFuxx im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 11.02.08, 10:06
  3. Will eine Datenbank machen brauche eure Hilfe!
    Von smat33 im Forum Relationale Datenbanksysteme
    Antworten: 11
    Letzter Beitrag: 19.07.05, 05:56
  4. Eigener Chat? Brauche Hilfe - Datenbank, JavaScript Problem!
    Von Oli-bt im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 03.07.05, 01:28
  5. Anmeldescript - Mail - Datenbank - brauche Hilfe
    Von schwarzfahrer im Forum PHP
    Antworten: 7
    Letzter Beitrag: 06.08.03, 10:21