Probleme lors du chargement des maisons [MYSQL]
#21

Pourquoi reprendre l'id de la maison ?
j'ai pas me servir de cache_get_field trop compliquer xd
petit exemple de comment je fait
pawn Code:
public LoadProperty()
{
    new arrCoords[48][32];
    new sql[80], row[512];
    format(sql, sizeof(sql), "SELECT COUNT(*) FROM maison");
    mysql_query(sql);
    mysql_store_result();
    mysql_fetch_row(row);
    totalhouses = strval(row);
    mysql_free_result();

    for (new idx=0; idx<totalhouses; idx++)
    {
        format(sql, sizeof(sql), "SELECT * FROM maison WHERE id=%d", idx+1);
        mysql_query(sql);
        //SQLLog(sql);
        mysql_store_result();
        if (mysql_num_rows() > 0)
        {
            mysql_fetch_row(row);
            split(row, arrCoords, '|');
            HouseInfo[idx][hEntrancex] = floatstr(arrCoords[1]);
            HouseInfo[idx][hEntrancey] = floatstr(arrCoords[2]);
            HouseInfo[idx][hEntrancez] = floatstr(arrCoords[3]);
            HouseInfo[idx][hExitx] = floatstr(arrCoords[4]);
            HouseInfo[idx][hExity] = floatstr(arrCoords[5]);
                       //et tu continue avec le reste
}
        mysql_free_result();
    }
    housereload=1;
    return 1;
}
idx reprend l'id de la maison plus besoin de cette ligne mysql_fetch_field_row(string,"hID");
Les id se fait normalement tout seul en BDD
Reply
#22

Je suis en mysql r38
Reply
#23

cache_get_field trop compliquй, on aura tout vu.

La syntaxe de cette fonction (simplifiйe au MAXIMUM) est :

pawn Code:
native cache_get_field_content(row_index, nom_du_champ[], destination[]);
native cache_get_field_content_int(row_index, nom_du_champ[]); // retourne la valeur en tant qu'entier
native cache_get_field_content_float(row_index, nom_du_champ[]); // retourne la valeur en tant que flottant
Donc par exemple, tu as fait une requкte SELECT comme зa :

pawn Code:
mysql_query(1, "SELECT * FROM Joueurs WHERE id = '2' LIMIT 1");
if(!cache_num_rows()) return 1;
new password[129], Float:vie_au_spawn, argent;

cache_get_field_content(0, "mot_de_passe", password); // password contient le mot de passe enregistrй dans la base de donnйes
argent = cache_get_field_content_int(0, "argent"); // argent contient l'argent du joueur enregistrй dans la base de donnйes
vie_au_spawn = cache_get_field_content_float(0, "vie"); // idem

GivePlayerMoney(playerid, argent);
SetPlayerHealth(playerid, vie_au_spawn);
Reply
#24

C'est tout simple ce problиme...

Suffit juste de mettre mysql а la place de 1...

HouseInfo[i][hOwner] = cache_get_field_content(i, "hOwner", HouseInfo[i][hOwner], mysql, MAX_PLAYER_NAME);


EDIT: Faut pas utiliser comme зa pour cache_get_field_content

Pas avec le "=".

https://sampwiki.blast.hk/wiki/MySQL/R33..._field_content



Pour toi зa sera: cache_get_field_content(0, "hOwner", HouseInfo[i][hOwner], mysql, 25);
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)