Mysql Hilfe

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
  • Hallo, Community!


    Ich schreibe gerade ein kleines Banken System.
    Nur habe ich jetzt ein Problem beim Auslesen, bzw. eine kleine Blockade.


    Ich habe 3 Banken. Jede von ihnen hat eine ID 1-3 jeweils eine andere erstellgebühr und einen anderen zinssatz.


    Wenn ich die Gebühren und Zinsen jetzt laden will, will ich ja gleichzeitig alle der 3 Banken laden.
    Die Variablen sind:


    new bGirGebuehr1;
    new bGirGebuehr2;
    new bGirGebuehr3;
    new bSparGebuehr1;
    new bSparGebuehr2;
    new bSparGebuehr3;
    new bGirZins1;
    new bGirZins2;
    new bGirZins3;
    new bSparZins1;
    new bSparZins2;
    new bSparZins3;


    Ich habe nämlich 2 Arten: Spar und Giro Konto! Jedes hat eigene Dynamisch einstellbare Erstellgebühren und Zinsen!


    Einen User würde ich ja mit SELECT * FROM user WHERE name = %e laden... Aber ich will ja da nichtnur die einer Bank laden. Ich will alle 3 laden.


    Wenn ich jetzt die WHERE abfrage weg lasse, wie ermittle ich dann, welcher Wert in welche Variable kommt?


    Ich hoffe, ihr könnt mir helfen. danke!

    Einmal editiert, zuletzt von Simon2202 ()

  • mysql_query("SELECT gebuehr, zins FROM banken'");
    mysql_store_result();
    new resultline[200], i=0;
    while(mysql_fetch_row_format(resultline))
    {
    sscanf(resultline,"p<|>dd",BankGebuehr[i], BankZins[i]);
    i++;
    }
    mysql_free_result();



    Mit:
    new BankGebuehr[3];
    new BankZins[3];



    EDIT: Auf Grund deines Edits: Den Rest kannst du ja entsprechend dazumachen.

  • Hallo Jeffry !


    Ich habe das gerade eingebaut, bekomme aber Errors..


    Die Errors sind unten bei den Zeilen markiert:



    mysql_query("SELECT girogebuehr, girozins, spargebuehr, sparzins FROM banken'"); //error 035: argument type mismatch (argument 1)
    mysql_store_result(); //error 017: undefined symbol "mysql_store_result"
    new resultline[200], i=0;
    while(mysql_fetch_row_format(resultline)) //error 017: undefined symbol "mysql_fetch_row_format"
    {
    sscanf(resultline,"p<|>dd",BankGebuehr[i], BankZins[i]); //error 017: undefined symbol "BankGebuehr" //warning 215: expression has no effect //error 001: expected token: ";", but found "]" //error 029: invalid expression, assumed zero // fatal error 107: too many error messages on one line
    i++;
    }
    mysql_free_result();


    da ich den Teil mit dem sscanf nicht ganz verstehe, hoffe ich du kannst mir das umschreiben, und vielleicht auch erklären.
    Meine Variablen sehen so aus:
    new BankGirGebuehr[3];
    new BankSGebuehr[3];
    new bGirZins[3];
    new bSZins[3];


    Weil ich 2 Arten von Konten habe..


    mfg

  • Sscanf ist dazu da, um Ergebnisse zu teilen.



    p<|>


    Gibt an, dass | die Werte trennt.


    z.B.



    Name , Passwort , Adminlevel = für uns normal
    Name|Passwort|Adminlevel = für mysql normal


    Die Ds definieren, dass die hinteren Parameter Integer sind.



    Bei weiteren Fragen einfach fragen.



    P.S. Code richtig einrücken und die passende MySQL Version runterladen.



    Viel Glück.

  • Vermutlich wirst du die Funktionen mit dem Namen anpassen müssen.
    Leider arbeite ich mich erst bei der R7 ein und kenne die neuste gar nicht.


    Wenn der Fehler noch kommt such in der Include File die Stelle und versuch die Funktion zu verstehen bis dir übel wird.
    Nutzen tust du anscheinend die R5 Befehle. ;)


    Hoffentlich konnte ich dir ein bisschen helfen
    -Wenigstens besser als gar nicht. ;)


    Jeffry: vielleicht kennst du dich da bisschen besser aus?



    LG
    -iEnerqie

  • Dann musts du es so machen:
    mysql_tquery(mysql, "SELECT girogebuehr, girozins, spargebuehr, sparzins FROM banken", "OnBanksLoaded", "");


    forward OnBanksLoaded();
    public OnBanksLoaded()
    {
    new rows = cache_get_row_count();
    for(new i=0; i<rows; i++)
    {
    BankGirGebuehr[i] = cache_get_row_int(i, 0);
    bGirZins[i] = cache_get_row_int(i, 1);
    BankSGebuehr[i] = cache_get_row_int(i, 2);
    bSZins[i] = cache_get_row_int(i, 3);
    }
    return 1;
    }


    Edit:
    DJ Deagle: Das gehört da nicht hin, danke für den Hinweis.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()