infinite loop
Posted: Fri Nov 16, 2007 10:27 am
i have this while loop which when the $tn doesnt match with the tracking number in the tuple array it [s]shud[/s] should update the table else it shud insert.insert is working fine but when it the tn matches with tracking number ..it just is going in an infinite loop.i tried printing the update queries and they just get printed infinitely....any ideas where i am going wrong?
Code: Select all
$rd = $db->Query("SELECT usp_tracking_number from am_ups_shipment_package_reference");
$i = 0;
while ($flag=true && $i < $rd->Row_Count()){
$tuple=$rd->Fetch_Row($i);
if($tuple["usp_tracking_number"]=$tn){
$flag=false;
if(Is_Array($shipment)){
$query = "UPDATE am_ups_shipment
SET us_delivery_date=to_timestamp($shipment[us_delivery_date]),us_delivery_time=$shipment[us_delivery_time],
us_billto_option=$shipment[us_billto_option],us_billto_number='$shipment[us_billto_number]',
us_shipper_id='$shipment[us_shipper_id]' WHERE us_id in (select us_id from am_ups_shipment_package_reference where usp_tracking_number='$tn');";
$rn = $db->Query($query);
}
$query1="UPDATE am_ups_shipment_location
SET usl_ups_id='$shipmentt[us_shipper_id]' WHERE usl_id='$shipment[us_shipper_id]';";
$rn1 = $db->Query($query1);
$ship_ref1=Array();
if(Is_Array($ship_ref)){
$ship_ref1["usr_code"]=$ship_ref[0]["usr_code"];
$ship_ref1["usr_value"]=$ship_ref[0]["usr_value"];
$query2 = "UPDATE am_ups_shipment_reference
SET usr_code='$ship_ref1[usr_code]',usr_value='$ship_ref1[usr_value]' WHERE us_id in (select us_id from am_ups_shipment_package_reference where usp_tracking_number='$tn');";
$rnn=$db->Query($query2);
}
if(Is_Array($ship_ref_pack)){
$query3 = "UPDATE am_ups_shipment_package_reference
SET uspr_code='$ship_ref_pack[uspr_code]',uspr_value='$ship_ref_pack[uspr_value]' WHERE us_id in (select us_id from am_ups_shipment_package_reference where usp_tracking_number='$tn');";
$rn2 = $db->Query($query3);
}
}
}
$i++;
echo "insert";
$this->Write_UPS($shipment,$ship_ref,$ship_ref_pack,$sp);
}[url=http://forums.devnetwork.net/viewtopic.php?t=30037]Forum Rules[/url] Section 1.1 wrote:11. Please use proper, complete spelling when posting in the forums. AOL Speak, leet speak and other abbreviated wording can confuse those that are trying to help you (or those that you are trying to help). Please keep in mind that there are many people from many countries that use our forums to read, post and learn. They do not always speak English as well as some of us, nor do they know these aberrant abbreviations. Therefore, use as few abbreviations as possible, especially when using such simple words.
Some examples of what not to do are ne1, any1 (anyone); u (you); ur (your or you're); 2 (to too); prolly (probably); afaik (as far as I know); etc.