MySQL- Schleife

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
  • Hey,
    Ich wollte euch mal fragen wie ich eine MySQL Schleife machen kann, die sollte dann etwa so aussehen;
    for(new eintrag = 0; eintrag < EINTRÄGE; eintrag++)
    {
    new var = eintrag;
    }


    mfg

  • ZB überrprüfen ob jemand in der nähe einer der Koords ist,die in der Tabelle in mehreren Einträgen liegen.
    //edit Oder eine Schleife damit ich abfragen kann wem das Auto gehört.. mehrere Fahrzeuge

    Einmal editiert, zuletzt von FoL-Community ()

  • Willst du die Schleife solange durchlaufen lassen wie die Tabelle Spalten hat?
    Oder hab ich dich da missverstanden?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • so z.b
    new str[512],dest[3][128];
    mysql_query("SELECT * FROM irgendwas WHERE irgendwas = irgendwas");
    mysql_store_result();
    while(mysql_fetch_row(str, "|"))
    {
    mysql_fetch_field("spalte1", dest[0]);
    mysql_fetch_field("spalte2", dest[1]);
    mysql_fetch_field("spalte3", dest[2]);
    if(IsPlayerInRangeOfPoint(playerid, 5.0, floatstr(dest[0]), floatstr(dest[1]), floatstr(dest[2])))
    {
    //Spieler ist in der nähe blabla
    break;
    }
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.


  • genau nur z.b wenn ich ja nen haussystem mache muss ich ja von jeder Zeile die Coords haben heißt x[zeile] y[zeile]....
    nur wie mache ich das

  • mysql_fetch_field("spalte1", dest[0]);
    spalte1 ist der name der Spalte, also für Coordinaten dann X oder wie du die spalte auch immer genannt hast bei dir. und in dest[0] wird der wert dann gespeichert.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • mysql_fetch_field("spalte1", dest[0]);
    spalte1 ist der name der Spalte, also für Coordinaten dann X oder wie du die spalte auch immer genannt hast bei dir. und in dest[0] wird der wert dann gespeichert.


    funktioniert bis auf
    C:\Dokumente und Einstellungen\Timo.GAMER.000\Desktop\server\pawno\include\Out-Haus.inc(12) : error 035: argument type mismatch (argument 3)
    C:\Dokumente und Einstellungen\Timo.GAMER.000\Desktop\server\pawno\include\Out-Haus.inc(14) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\Timo.GAMER.000\Desktop\server\pawno\include\Out-Haus.inc(15) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\Timo.GAMER.000\Desktop\server\pawno\include\Out-Haus.inc(16) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\Timo.GAMER.000\Desktop\server\pawno\include\Out-Haus.inc(17) : error 035: argument type mismatch (argument 1)

    while(mysql_fetch_row(str, "|"))//Zeile 12
    {
    mysql_fetch_field("EnterX", dest[0]);
    mysql_fetch_field("EnterY", dest[1]);
    mysql_fetch_field("EnterZ", dest[2]);
    mysql_fetch_field("Owned", dest[3]);


    Die native's

    native mysql_fetch_field(number,dest[],connectionHandle = 1);
    //zu dem anderem gibt es kein aber so etwas ähnliches


    native mysql_fetch_field_row(string[],const fieldname[],connectionHandle = 1);


    //edit oder
    native mysql_fetch_row_format(string[],const delimiter[] = "|",connectionHandle = 1);

  • Du musst vorher eine Variable bestimmen.
    haus[id][hausX] = mysql_fetch_field("EnterX", dest[0]);


    Nein, fetch_field returnt nur true bzw false. Der gesuchte wert wird in der variable dest gespeichert.


    Welches MySQL plugin benutzt du? Und dest muss ein string sein.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Mal eben zur allgemeinen Information.
    Eine "MYSQL" Schleife wäre keine in PAWN oder sonstig geschriebene forschleife, wo mysql-funktionen/befehle benutzt werden, sondern eine von der SQL Syntax vorgegebene Schleife, z.B LOOP.

  • Mal eben zur allgemeinen Information.
    Eine "MYSQL" Schleife wäre keine in PAWN oder sonstig geschriebene forschleife, wo mysql-funktionen/befehle benutzt werden, sondern eine von der SQL Syntax vorgegebene Schleife, z.B LOOP.


    ah danke aber hilft leider nicht bei dem Problem :D


    //edit: Push

    Einmal editiert, zuletzt von FoL-Community ()

  • schau halt im Thread vom Plugin wo die funktionen beschrieben sind und passe deine dazu an , ein bisschen eigeninitiative sollte man schon haben ....


    edit: verbessert


    hab ich ja, nur mit meiner Schleife bleibt OnGameModeInit stehen:(


    hier meine OnGameModeInit für das Haussystem

    Haus_OnGameModeInit()
    {
    new dest[4][128];
    new query = mysql_query("SELECT EnterX,EnterY,EnterZ,Owned FROM haus");
    mysql_store_result();
    while(mysql_num_rows(query))
    {
    mysql_fetch_field_row(dest[0],"EnterX", query);
    mysql_fetch_field_row(dest[1],"EnterY", query);
    mysql_fetch_field_row(dest[2],"EnterZ", query);
    mysql_fetch_field_row(dest[3],"Owned", query);
    if(strval(dest[3]) == 0)
    {
    AddStaticPickup(1273, 1,floatstr(dest[1]), floatstr(dest[2]), floatstr(dest[3]), 0);
    }
    if(strval(dest[3]) == 1)
    {
    AddStaticPickup(1272, 1,floatstr(dest[1]), floatstr(dest[2]), floatstr(dest[3]), 0);
    }
    }
    return 1;
    }