Jump to content

Is it possible to call a method twice in a automated script?


Shabalaka

Recommended Posts

Hi Guys

 

Im having a problem with a couple of methods in my class.

 

This class reads a CSV file and the iterates each line and seperates all the values into an array which we manipulate later on.

 

These are the 2 methods im trying to get running.

 

 

public function GetID($table,$value,$field){ 
        // This will retrieve any ID,s we need to get back from a table 
        $sql = "SELECT * FROM `".$table."` WHERE `".$field."`= '".$value."'"; 
        $query = mysql_query($sql); 
        $numrows = mysql_num_rows($query); 
         
        if($numrows == 0){ 
             
            // If we have no rows returned we need to enter the info and run GetID again. 
                $insertnewrow = "INSERT INTO `".$table."`(`".$field."`) VALUES ('".$value."')"; 
                $insertquery = mysql_query($insertnewrow)or die(mysql_error()); 
                //Run this function again to get the newly inserted ID and perform switch to assign ID. 
                //echo "<BR>". $value ." was not found in ".$table." So we have inserted it and now are running the GetID again<br>"; 
                //$this->GetID($table,$value,$field); 
                 
            switch($table){ 
                //If we want the tablea table 
                case "tablea": 
                    //Assign The Domain ID to the Class ID. 
                    $this->Domain_ID = mysql_insert_id(); 
                    break; 
                    //If we are searcing in the links table we are prolly looking for a target domain id. 
                case "tableb": 
                    //assign the link id 
                    $this->link_id =mysql_insert_id(); 
                    break; 
                    // We are going to get the target domain id. 
                case "tablec": 
                    $this->Target_Domain_id =mysql_insert_id(); 
                    break; 
                default : 
                    echo "<div id  = 'unknowntable'>Im sorry we are having trouble querying the table : ".$table." , Are you sure it exists in the database??</div>"; 
                 
            } 
                 
            } 
            $result = mysql_fetch_array($query) or die ( mysql_error()); 
        // Now we perform a switch to set the class dependant on the table selected. 
         
            switch($table){ 
                //If we want the limomail_domains table 
                case "tablea": 
                    //Assign The Domain ID to the Class ID. 
                    $this->Domain_ID = $result['id']; 
                    break; 
                    //If we are searcing in the links table we are prolly looking for a target domain id. 
                case "tableb": 
                    //assign the link id 
                    $this->link_id = $result['id']; 
                    break; 
                    // We are going to get the target domain id. 
                case "tablec": 
                    $this->Target_Domain_id = $result['id']; 
                    break; 
                default : 
                    echo "<div id  = 'unknowntable'>Im sorry we are having trouble querying the table : ".$table." , Are you sure it exists in the database??</div>"; 
                 
            } 
         
             
         
         
     I would just like to add that im trying to run the Method GetID Twice so i have no need to call it twice in the PHP page as it runs it automatically, Im relatively new to OOP php so am trying to design a few "automated" classes to perform things.

My thinking is that once GetID has run once it goes back to the break_domains function and trys to run that next GetID    
         
    } 
public function break_domains(){ 

$this->GetID("tableb",$this->Domain_Name,"domain"); 
            //Once this is run check for a Domain Name been set 
            echo "<BR>Running GetID From the break_domains function <br>"; 
            $this->GetID("tableb",$this->Target_Name,"domain"); 
} 

 

Now whats happening is it will run once and insert the new Domain Name but then when i try to run GetID again it wont do it , If i run the script a second time it does enter the new target name and then eventually if i run script a 3rd time i will recieve the output im looking for :S

 

I would just like to add that im trying to run the Method GetID Twice so i have no need to call it twice in the PHP page as it runs it automatically, Im relatively new to OOP php so am trying to design a few "automated" classes to perform things.

 

My thinking is that once GetID has run once it goes back to the break_domains function and trys to run that next GetID

 

Many Thanks for any replys

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.