Jump to content
  • 0

pomoc mysql čte stále ten samý řádek


Marek886

Dotaz

Zdravím,

ve svém skriptu získávám tímto příkazem data z MySQL databáze:

 

mysql_format(ConnHandle, fquery, sizeof(fquery), "SELECT * FROM `houses`");
mysql_function_query(ConnHandle, fquery, true, "onHousesGet", "");
mysql_store_result(ConnHandle);

 

která později v cyklu zpracovávám. Podle wiki.sa-mp.com jsem zkoušel použít následující kód, ale ten se při spuštění zacyklí v nekonečné smyčce (zkoušel jsem všechny varianty - s ConnHandle i bez, s " == 1" i bez...)

while(mysql_retrieve_row(ConnHandle))
{
//proveď něco
}

 

Takže jsem se rozhodl využít cyklu for:

new rows = mysql_num_rows(ConnHandle);
for(new i = 1; i <= rows; i++)
{
//zpracuj
}

 

Jenže podle dat, která získávám vidím, že v tomto cyklu čtu pořád dokola ten samý řádek (už alespoň ne nekonečně krát). Zkoušel jsem do cyklu přidat mysql_retrieve_row(ConnHandle), ale nic se nezměnilo..

Poradí mi prosím někdo, jak se posunout na další řádek, nebo nějaký lepší způsob jak tu databázi číst?

Předem díky

 

EDIT

Vyřešeno!

místo následujícího:

 

new rows = mysql_num_rows(ConnHandle);
for(new i = 1; i <= rows; i++)
{
mysql_fetch_field_row(id, "houseid", ConnHandle);
mysql_fetch_field_row(name, "HouseName", ConnHandle);
mysql_fetch_field_row(scost, "CostP", ConnHandle);

 

nyní používám toto:

new rows = mysql_num_rows(ConnHandle);
for(new i = 1; i <= rows; i++)
{
cache_get_field_content(i - 1, "houseid", id, ConnHandle);
cache_get_field_content(i - 1, "HouseName", name, ConnHandle);
cache_get_field_content(i - 1, "CostP", scost, ConnHandle);

 

a funguje to jak má :);)

(i - 1 proto, že první řádek mysql má index 0, zdá se.. protože když nechám pouze i tak čte až od druhého)

Ale už to konečně posouvá jak chci, super :)

Link to comment
Share on other sites

0 odpovědí na tuto otázku

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...