John, Dan & All, Thanks for your response, perhaps if I tell you more of the story then it'll make more sense. I'm afraid I seem to have an ability for asking cryptic questions.
Below is the code I'm using, it is meant to check for a list of between 10 and 50 words in a table then return the key of the words found, for the words not in the table they should be added to the table. It seems to work fine, but in a effort to make the code more efficient I realised that at present I'm walking through a lot of the recordset for each keyword. But that the majority of the recordset would be in the same order as the keywords. So if I can add a little extra code that says if the next record in the recordset is not the word I'm trying to find then walk through the recordset, if you reach the end then start at the beginning and go down-to the initial row. This should confirm that the word is not in the recordset and so needs to be added, but leave the recordset in the correct place to check the next word. However to do this I thought initialy I would need to identify the row the recordset was presently at. However now I understand I need to push the recordset into an array then use this array to loop through finding the key's and the words that need to be added. However saying it and coding it seem to be two completely different things, can anyone help me getting started? Hope this makes some sense? If you have any other comments on the code to improve it or good coding practice I would appreciate your comments as I'm still new to this. Thanks Zac Code: #--create select statement for getting keywords from table $fndWrds = ''; foreach($kywrd as $val) { $fndWrds .= "wrd = '$val' OR "; } #-- add test word to get a result regardless $fndWrds .= "wrd = 'test'"; #-- get present keywords from db $dbKy = mysql_query("SELECT ky, wrd FROM ".$site_no."kywrdInd WHERE $fndWrds;"); #--create kywrd index array for index to be used in update value list $indx = array(); #--create update value lists to later add record into lookup table $vlst = ''; foreach($kywrd as $key => $val) { $fnd = 0; While ($kyRw = mysql_fetch_array($dbKy)) { if($kyRw['wrd'] == $val) { $fnd = 1; $indx[$key] = $kyRw['ky']; break 1; } } #-- reset pointer of db array back to begining mysql_data_seek($dbKy, 0); #-- if not in db then add word to db then set index if($fnd == 0) { if(! mysql_query("INSERT INTO ".$site_no."kywrdInd (wrd) values ('".$val."');")) echo 'Word not added'; $indx[$key] = mysql_insert_id(); } #-- check to see that each word has an index value if($indx[$key]) { #--create value list for update into lookup table $vlst .= "($compID," . $indx[$key] . "," . $scr[$key] . "), "; } else { echo 'no index set for keyword, word = '.$val.' index = '.$key.'<br>'; } ----- Original Message ----- From: "John Holmes" <[EMAIL PROTECTED]> To: "'Zac Hillier'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Friday, June 14, 2002 6:42 PM Subject: RE: [PHP] row pointer > Keep track of it yourself as you loop through the data. Maybe if you > explained what you need "overall" then we could suggest a method... > > ---John Holmes... > > > -----Original Message----- > > From: Zac Hillier [mailto:[EMAIL PROTECTED]] > > Sent: Friday, June 14, 2002 3:59 AM > > To: [EMAIL PROTECTED] > > Subject: [PHP] row pointer > > > > Hi > > > > I'm looking for a php function that will return the position of the > > pointer > > in a mysql recordset. > > > > I found mysql_data_seek, but this appears to only move the pointer, I > need > > to get the equivalent row number for the pointer position before > moving > > it, > > then return to the same position. > > > > Can anyone help? > > > > Thanks > > > > Zac > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php