MySQL werte auslesen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,
    Ich versuche jetzt seit neustem mit MySQL zu scripten.


    Das ganze ist für mich garnicht so einfach.


    Ich habe ein Problem bei folgendem:
    "Ich möchte ein Fraktionsauto ingame per /fccreate erstellen"
    Das ganze ist grundsätzlich kein Problem für mich (bei hsa, sii und co).
    Jedoch habe ich bei MySQL ein paar Probleme.


    Es soll eine Tabelle mit dem Namen "Fraktionscars" geben.
    Dann sollen Unterordner oder wie auch immer das heißt mit den jeweiligen Fraktionsids sein.
    Dort sollen dann folgendermaßen die Autos gespeichert sein
    id(0-7)|modelid|x|y|z|a


    Nun meine Frage:
    Wie speicher ich das in MySQL und wie lese ich es wieder aus?

  • Tabelle anlegen.

    SQL
    DROP TABLE IF EXISTS `Fraktionscars`;
    CREATE TABLE `Fraktionscars` (
      `id` int(11) NOT NULL,
      `modelid` int(11) NOT NULL,
      `x` float(10,6) NOT NULL,
      `y` float(10,6) NOT NULL,
      `z` float(10,6) NOT NULL,
      `a` float(10,6) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;


    Dann lädst du die so.
    (Beispiel... ich weiß nicht mit welchem mysql plugin du arbeitest etc.)
    forward LoadCars();
    public LoadCars()
    {
    new query[68],
    result[9][16],
    vehicleid;
    format(query, sizeof query, "SELECT * FROM `Fraktionscars` ORDER BY `id` ASC LIMIT %i;", MAX_VEHICLES);
    mysql_query(query);
    mysql_store_result();
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(result[0], "modelid");
    mysql_fetch_field_row(result[1], "x");
    mysql_fetch_field_row(result[2], "y");
    mysql_fetch_field_row(result[3], "z");
    mysql_fetch_field_row(result[4], "a");


    vehicleid = CreateVehicle(strval(result[0]), floatstr(result[1]), floatstr(result[2]), floatstr(result[3]), floatstr(result[4]), random(10), random(10), 60);
    }
    mysql_free_result();
    return 1;
    }
    Außerdem kann man diverse Abfragen bzw. Abläufe bei dem o.g. Script noch anpassen, damit es besser ist. (Threaden)


    Und speichern ist halt wie du die definiert hast.
    Da habe ich auch keine Informationen über dein Script, also keine Ahnung. Bau es um. Pass es an.
    forward SaveCars();
    public SaveCars()
    {
    new query[195],
    Float:Pos[4];
    for(new vehicleid; vehicleid < MAX_VEHICLES; vehicleid++)
    {
    GetVehiclePos(vehicleid, Pos[0], Pos[1], Pos[2]);
    GetVehicleZAngle(vehicleid, Pos[3]);
    if(Pos[0] > 0.0 && Pos[1] > 0.0 && Pos[2] > 0.0)
    {
    // Im folgenden wird als "id" "vehicleid" eingetragen.
    // Das ist natürlich völliger Quatsch für später.
    // Zum lernen sollte es reichen.
    format (
    query,
    sizeof query,
    "INSERT INTO `Fraktionscars` (`id`, `modelid`, `x`, `y`, `z`, `a`) VALUES (%i, %i, '%f', '%f', '%f', '%f') ON DUPLICATE KEY UPDATE `modelid` = %i, `x` = '%f', `y` = '%f', `z` = '%f', `a` = '%f';",
    vehicleid, GetVehicleModel(vehicleid), Pos[0], Pos[1], Pos[2], Pos[3],
    GetVehicleModel(vehicleid), Pos[0], Pos[1], Pos[2], Pos[3]
    );
    mysql_query(query);
    }
    }
    }

    Miete mich (nicht) :love:

  • Bubel


    bei den Savecars is nen fail drin..


    Habs gerad mal getestet wenn du nur ein car speichern lässt macht er so ca. 12 einträge alles mit den gleichen ID´s
    und laden tut er es auch nicht

  • ich habs mit den von Gstylez getestet
    das eintragen ist sauber nur die anzahl stimmt nicht
    und mit den laden hat er auch so sein Problem