Jump to content

Shabalaka

New Members
  • Posts

    2
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

Shabalaka's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. 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
  2. First off i would like to say thanks to all who read this post fully. Hi Guys i been trying to do this for days but i cant seem to work it out, So im posting here in the hope that someone can help me. What i have is 3 forms with all different amounts of textareas to paste content into and each line of content will correspond to the next ones to create one row of data per line in each textarea. I know i have to use explode function to break all the data down by the delimiter which i have done. The PHP Code i have at the moment is this. // I,m passing all the POST vars because ideally i would like this function to be dynamic and build the SQL statement from all the field names , No MYSQL injection protection during testing plan to add later function dataformat($_POST){ // This example will receive the following variables. ( [0] => title [1] => fname [2] => lname [3] => email [4] => submit ) these field names match the db table names. // The KEYS SENT BY POST IE THE FIELD NAMES. $columns = array(); // The COrresponding VALUES FOR THE FIELDS. $rows = array(); $i = 0; foreach ($_POST as $key=>$value){ //Push the field name into the keys array array_push($columns,$key); array_push($rows,$value); } foreach($rows as $keys=>$values){ //create the array values $values = explode("\r\n",$values); echo "<br>"; print_r($values); echo "<br>"; echo "<br>"; echo "Columns : ".count($columns)."<Br>"; echo "Values : ".count($values)."<br>"; echo "Rows : ".count($rows[1])."<br>"; echo "<br>"; echo $columns; } // Pop the 2 submits off of rows and columns. array_pop($columns); array_pop($rows); } TThe output from this code looks like this Array ( [0] => Mr [1] => Miss [2] => Mr ) Columns : 5 Values : 3 Rows : 1 Array Array ( [0] => Test [1] => Alice [2] => Joe ) Columns : 5 Values : 3 Rows : 1 Array Array ( [0] => Admin [1] => Wonderland [2] => Bloggs ) Columns : 5 Values : 3 Rows : 1 Array Array ( [0] => test@test.com [1] => alice@wonderland.com [2] => joe@bloggs.com ) Columns : 5 Values : 3 Rows : 1 Array Array ( [0] => Submit ) Columns : 5 Values : 1 Rows : 1 Array Now as you can see all the details for one user is in each array value ie.. Mr Test Admin has the Email test@test.com inside the [0] elements of each array. and [1] is a new user and element 2 is another users name and emails. Ideally what i would like to achieve is a looped dynamic SQL which will take these elements and build an SQL statement to input them as seperate rows in the database. Any help would be appreciated thanks Regards Shab
×
×
  • 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.