schleife durch autos in der db

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
  • Hi, wie mach ich dass das alle autos bzw. DAten aus der db gelesen werden
    Meine Vorstellung wäre so aber ich weiß nicht wie ichs umsetzen soll

    stock LoadFrakVeh()
    {
    for(new i; /*Was hier?*/)
    {
    CreateVehicle(mysql_GetInt("modelid"), mysql_GetFloat("x"), mysql_GetFloat("y"), mysql_GetFloat("z"), mysql_GetFloat("a"),mysql_GetInt("color1"), mysql_GetInt("color2"), -1);
    }
    return 1;
    }


    So nun aber wie mache ich das alle fraktions autos erstellt werden?...

  • Nein, es ist eben nicht unwichtig.
    Wenn du dich weigerst uns zu helfen, dir zu helfen, benötigst du wohl keine Hilfe.


    Du musst uns schon mehr Informationen geben.

  • Du musst das dann so machen:


    cache_get_data(Rows, Fields);
    for(r=0; r < Rows; ++r)
    In Rows ist dann die aktuelle Anzahl an Datensätzen in der Tabelle und du bist dir sicher wie das ganze mit den Threaded Query funktioniert? Da das mit dem "stock" nicht funktionieren wird.

  • [tabmenu]

    Du musst das dann so machen:


    cache_get_data(Rows, Fields);
    for(r=0; r < Rows; ++r)
    In Rows ist dann die aktuelle Anzahl an Datensätzen in der Tabelle und du bist dir sicher wie das ganze mit den Threaded Query funktioniert? Da das mit dem "stock" nicht funktionieren wird.


    [/tabmenu]

    und wie soll er bitte dann die Autos erstellen?


    Guter Support, Gute Preise! Freunde das ist kein Speed das ist Lichtgeschwindigkeit!
    Atrox Devolpment[/size]
    [size=24][color=#ff0000]Kunde | Top WBB Produkte

  • Wenn ich es richtig verstanden habe willst du alle Fraktionautos aus einer Datenbank auslesen:


    Nehmen wir mal an du hast in der Datenbank zu stehen "vehicleID | vehicleModel | vehicleFraktion | vehicleX | vehicleY | vehicleZ".
    Natürlich gäbe es mehr Möglichkeiten wie die Rotation, Upgrades (Spoiler, Nitro....), Farbe und und und.
    Dann sollte folgender Code funktionieren:

    // vorher variable vehicle erstellen mit "vID|vModel|vFraktion|vX|vY|vZ"
    new data[255];
    mysql_query("SELECT * FROM `vehicles`;"); // vehicles = tablename
    mysql_store_result();
    while ( mysql_retrieve_row() ) {
    mysql_get_field("vehicleID", data); id = strval(data); // spalte: vehicleID
    vehicle[id][vID] = id; // speichert in vehicle[id][vID] die id in der datenbank (vehicleID)
    mysql_get_field("vehicleModel", data); vehicle[id][vModel] = strval(data); // model
    mysql_get_field("vehicleFraktion", data); vehicle[id][vFraktion] = strval(data); // fraktionid
    mysql_get_field("vehicleX", data); vehicle[id][vX] = floatstr(data); // vehicle x
    mysql_get_field("vehicleY", data); vehicle[id][vY] = floatstr(data); // vehicle y
    mysql_get_field("vehicleZ", data); vehicle[id][vZ] = floatstr(data); // vehicle z
    // vehicle[id][vehID] = CreateVehicle mit hilfe x/y/z/model...
    }
    mysql_free_result();
    // Tip: strval(data) > zahl | floatstr(data) > float | data > string
    // mysql_get_field("spaltenname", speicherungsvariable (muss ein string sein));

    Glaube den Rest schaffst du selbst...


    Mfg pierre65


    PS: Vergiss mysql_GetInt/GetString/GetFloat schreib ein Query zum auslesen, dass direkt alles ausliest (wie oben) was du aus einer Tabelle haben willst, sonst sendet der Server ein MySql Query pro Spaltenamen und dass dauert pro Query länger als wenn man nur einen benutzt.


  • Ich möchte sie laden nicht speichern...
    Aber Danke.

  • Wüsste zwar nicht dass BlueG bereits R37 rausgebracht hat aber okay.

    mysql_tquery(connection,"SELECT * FROM `wasweisich`","loadVehicles","","");


    forward loadVehicles();
    public loadVehicles(){
    new rows,fields,destination[25];
    cache_get_data(rows,fields);
    if(!rows) print("Keine Autos gefunden zum laden.");
    else{
    for(new i;i<rows;i++={
    // Jetzt einfach laden
    //Strings mit cache_get_field_content, floats mit cache_get_field_content_float, integer mit cache_get_field_content_int
    CreateVehicle();
    }
    }
    return 1;
    }


    http://wiki.sa-mp.com/wiki/MySQL/R33


    Kann sein das da Fehler sind, habs hier im Editor geschrieben