MySQL R7 Looping rows of data - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: MySQL R7 Looping rows of data (
/showthread.php?tid=415324)
MySQL R7 Looping rows of data -
adsy - 12.02.2013
I have become a little stumped at a bit of code I am using to attempt to spawn vehicles.
I have pulled it apart to its bare minimum to get a proper response from the code but when I start adding things back in, it stops working.
Here is my code:
Код:
new rows, fields;
cache_get_data(rows, fields, connectionHandle);
new tv[1], tvid[1], tvx[1], tvy[1], tvz[1], tvf[1], tvc1[1], tvc2[1];
// loop through all fields
printf("rows: %d", rows);
for(new i = 0; i <= rows; i++)
{
cache_get_field_content(i, "vid", tv);
printf("The name of field %d is '%f'", i, strval(tv));
}
This produces an INFINITE loop for some reason.
If I change:
i <= rows
to
i != rows
the looping stops at line 1!
yet, this is the strange bit. IF I then change the field name from "vid" (which is the actual field name) to "vehid" (another field name) I get 76 results! The next issue is that there should be 1777 results!!!!
Can someone give me a working example of row looping using R7's caching feature? or at least point out what I need to do to get it to work.
Re: MySQL R7 Looping rows of data -
adsy - 12.02.2013
answered my own question:
I was using arrays for every single temporary variable, the idea being the elimination of the need for an inbetween temp variable.
This is how I fixed it:
Код:
new rows, fields;
new tmp[20];
cache_get_data(rows, fields, connectionHandle);
new tv, tvid, tvx, tvy;
printf("rows: %d", rows);
for(new i = 0; i < rows; i++)
{
cache_get_field_content(i, "vid", tmp), tv = strval(tmp);
printf("The name of field %d is '%d'", i, tv);
}