Jump to content

Paulqvz

Members
  • Posts

    35
  • Joined

  • Last visited

Everything posted by Paulqvz

  1. Hi all. I call a stored proc from mysql and show it in php html. function CreateTableRow($RowItem){ $rowHtml = "<tr border: 1px solid black; border-collapse: collapse;>"; $array = get_object_vars($RowItem); foreach($array as $keyItem => $value){ $rowHtml .= "<td border: 1px solid black; border-collapse: collapse;>{$value}</td>"; } $rowHtml .= "</tr>"; return $rowHtml; } This works great, but i am now stumped on how to get it to when it finds a cell with 0 value to use previous value thats not 0. I tried fixing it in mysql with stored proc but it does not make all 0 with previous value. Here is my sql. SELECT GROUP_CONCAT( DISTINCT CONCAT( 'case when sum(if(t.ipDATE = ''',ipDATE,''', t.market_value_1, 0)) = 0 and SUM(IF(t.ipDATE = date_sub(''',ipDATE,''',interval 1 day), t.market_value_1, 0)) = 0 then round(SUM(IF(t.ipDATE = date_sub(''',ipDATE,''',interval 2 day), t.market_value_1, 0)),6) when sum(if(t.ipDATE = ''',ipDATE,''', t.market_value_1, 0)) = 0 then round(SUM(IF(t.ipDATE = date_sub(''',ipDATE,''',interval 1 day), t.market_value_1, 0)),6) else round(sum(if(t.ipDATE = ''',ipDATE,''', t.market_value_1, 0)),6) end AS `',CONCAT(ipDATE),'`' ) ORDER BY YEAR(ipDATE) ASC, MONTH(ipDATE) ASC,DAY(ipDATE) ASC ) INTO @sql But this does not work for when there a 6 dates in a row with 0 values
  2. wel i tried lots of different code - see my examples on top.
  3. no i do not have controll over the format - i must say i have posted here 3 times and not once was it helpfull. why is this forum still active as no one can help with a smal problem like this?
  4. how do i after i find the expression string stop after the last line with a tab?
  5. hi there the first thing i would do is search for the string. once i have found it i will count the amount of lines til the next entry without a tab spacing - knowing that would be my next header. then i would show these entries . Was that good?
  6. Hi all. I have a php file that i need to read contents from. I can search for a string but i am stumped on how to start from a point and to end at a point Below is the payout of the file. I just want to return Paul1 plist1: plist1 plist2: plist2 plist3: plist3 plist4: plist4 and not the rest. quote_lost_reason "": "" Price: Price Product: Product Other: Other Paul1 plist1: plist1 plist2: plist2 plist3: plist3 plist4: plist4 Site Lighting Interior: Interior Exterior: Exterior credit credit_note: Credit Note here is my code so far $file = '/var/www/html/***/custom/include/language/lang.en_us.lists.php'; $searchfor = "Paul1"; $array = file($file); //print_r($array); header('Content-Type: text/plain'); $contents = file_get_contents($file); $pattern = preg_quote($searchfor, '/'); $pattern = "/^.*$pattern.*\$/m"; if(preg_match_all($pattern, $contents, $matches)){ echo "Found matches:\n"; echo implode("\n", $matches[0]); } else{ echo "No matches found"; }
  7. Good day I have a label script where i have to print labels. the problem i have is that it is not returning the right amount of rows dependant on qty column. $sql="SELECT so.`name` AS so_name, sol.`name` AS sol_name,sol.`quantity` AS sol_quantity,`delivery_date`,DATE_ADD(`delivery_date`, INTERVAL 10 DAY) AS used_day FROM `sales_orders` so INNER JOIN `sales_order_lines` sol ON so.id = sol.`sales_orders_id` WHERE sol.`parent_id` IS NULL AND so.id = '$id'"; $result = mysqli_query($connect, $sql); $degree = "STORAGE: KEEP REFRIGERATED BELOW 5`C"; //var_dump($degree); while($row = mysqli_fetch_array($result)) { //$so_name = $row['so_name']; $sol_name[] = $row['sol_name']; $sol_quantity[] = $row['sol_quantity']; $sol_quantityy = $row['sol_quantity']; $delivery_date[] = $row['delivery_date']; $used_day[] = $row['used_day']; } foreach($sol_quantity as $index => $value) { for($i=1; $i <=$value;$i++) { $text = sprintf( "%s\n%s %s\n%s %s\n%s\n%s", "$sol_name[$index]","<br>", 'Delivery Date', "<br>", 'Use By Date', "<br>", "$delivery_date[$index]","<br>", "$used_day[$index]","<br>", 'PRODUCT OF SOUTH AFRICA',"<br>", "{$degree}" ); $sol_quantity[] for all three products here is 3 . It is returning CARROT & POTATO MIX Delivery Date Use By Date 2021-09-07 POTATO Delivery Date Use By Date 2021-09-07 POTATO Delivery Date Use By Date 2021-09-07 ONION Delivery Date Use By Date 2021-09-07 Instead of CARROT & POTATO MIX Delivery Date Use By Date 2021-09-07 CARROT & POTATO MIX Delivery Date Use By Date 2021-09-07 CARROT & POTATO MIX Delivery Date Use By Date 2021-09-07 POTATO Delivery Date Use By Date 2021-09-07 POTATO Delivery Date Use By Date 2021-09-07 POTATO Delivery Date Use By Date 2021-09-07 ONION Delivery Date Use By Date 2021-09-07 ONION Delivery Date Use By Date 2021-09-07 ONION Delivery Date Use By Date 2021-09-07
  8. foreach ($objPHPExcel->getActiveSheet() as $worksheet) { exactly why i need guidiance . it one sheet with lotsa data all rows filled int till g500 but i know that word is somewhere in column A so i want to search Column A for that word.
  9. does getActiveSheet() return multiple values? - yes - not to be forward - but you keep asking questions but never give answers or point in a direction, are there any other people on this forum that actually code in php?
  10. but it does not return anything - says there is nothing although it is in a20?
  11. oreach is only for multiple values. Does getActiveSheet() return multiple values? how else will i search the excell for the string - 'INACTIVE MEMBERS' and return in what cell it is
  12. got this right with $q = count(glob("$directory/*")) == 0; if ($q) { echo "the folder is empty"; } else {
  13. this pasrt of the code is where i am trying to search for the string //get INACTIVE MEMBERS $foundInCells = array(); $searchValue = 'INACTIVE MEMBERS'; foreach ($objPHPExcel->getActiveSheet() as $worksheet) { $ws = $worksheet->getTitle(); foreach ($worksheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(true); foreach ($cellIterator as $cell) { if ($cell->getValue() == $searchValue) { $foundInCells[] = $ws . '!' . $cell->getCoordinate(); } } } } echo "<br>"; echo "<br>"; echo "this is where - - "; var_dump($foundInCells); echo "<br>"; echo "<br>";
  14. Hi there I have started using php excell and getting most of it right. But i am struggling to search active sheet and return what cell the string is in. below is my code. <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); set_time_limit(0); $directory = "/var/www/html/csvex/xls/"; $formatdirectory = "/var/www/html/csvex/toformat/"; $finishedformatdirectory = "/var/www/html/csvex/formatted/"; $savanadirectory = "/var/www/html/iretire/files/upload/1/"; $main = "/var/www/html/csvex/"; $files = scandir($directory, SCANDIR_SORT_DESCENDING); $newest_file = $files[0]; echo $newest_file; echo "<br>"; $oldfile = $directory.$newest_file; $newfile = $formatdirectory.$newest_file; $changedfile = $finishedformatdirectory.$newest_file; $crmfile = $savanadirectory.$newest_file; echo $oldfile; echo "<br>"; echo $newfile; echo "<br>"; if( !rename($oldfile, $newfile) ) { echo "File can't be moved!"; } else { echo "File has been moved!"; } //format the file date_default_timezone_set('Europe/London'); set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); include 'PHPExcel/IOFactory.php'; $fileType = 'Excel5'; $fileName = $newfile; // Read the file $objReader = PHPExcel_IOFactory::createReader($fileType); $objPHPExcel = $objReader->load($fileName); //change font $objPHPExcel->getActiveSheet()->getStyle('a1:a6')->applyFromArray( $styleArray = array( 'font' => array( 'bold' => true ) ) ); $objPHPExcel->getActiveSheet()->getStyle('a6:aa6')->applyFromArray( $styleArray = array( 'font' => array( 'bold' => true ) ) ); $objPHPExcel->getActiveSheet()->getStyle('n16:aa16')->applyFromArray( $styleArray = array( 'font' => array( 'bold' => true ) ) ); //get INACTIVE MEMBERS $foundInCells = array(); $searchValue = 'INACTIVE MEMBERS'; foreach ($objPHPExcel->getActiveSheet() as $worksheet) { $ws = $worksheet->getTitle(); foreach ($worksheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(true); foreach ($cellIterator as $cell) { if ($cell->getValue() == $searchValue) { $foundInCells[] = $ws . '!' . $cell->getCoordinate(); } } } } echo "<br>"; echo "<br>"; echo "this is where - - "; var_dump($foundInCells); echo "<br>"; echo "<br>"; // $objPHPExcel->getActiveSheet()->getStyle('a20')->applyFromArray( $styleArray = array( 'font' => array( 'bold' => true ) ) ); its located at //Get inactive members. another one i am struggling with is to see if file exists if not then do nothing if it does run the code.
  15. <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); set_time_limit(0); $directory = "/var/www/html/default/csvex/xls/"; $formatdirectory = "/var/www/html/default/csvex/toformat/"; $finishedformatdirectory = "/var/www/html/default/csvex/formatted/"; $files = scandir($directory, SCANDIR_SORT_DESCENDING); $newest_file = $files[0]; echo $newest_file; echo "<br>"; $oldfile = $directory.$newest_file; $newfile = $formatdirectory.$newest_file; $changedfile = $finishedformatdirectory.$newest_file; echo $oldfile; echo "<br>"; echo $newfile; echo "<br>"; if( !rename($oldfile, $newfile) ) { echo "File can't be moved!"; } else { echo "File has been moved!"; } chmod($newfile, 755); //format the file date_default_timezone_set('Europe/London'); set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); include 'PHPExcel/IOFactory.php'; $fileType = 'Excel5'; $fileName = $newfile; // Read the file $objReader = PHPExcel_IOFactory::createReader($fileType); $objPHPExcel = $objReader->load($fileName); $objPHPExcel->getActiveSheet()->getStyle('d1:d9')->applyFromArray( array('fill' => array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('argb' => 'ffffffff') ), ) ); // Change the file $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('d1', 'booya') ->setCellValue('d9', 'ddddddddddddddddddd!'); // Write the file $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType); $objWriter->save($fileName); ?>
  16. hi yes - here is the code. <?php error_reporting(E_ALL); date_default_timezone_set('Europe/London'); set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); include 'Classes/PHPExcel/IOFactory.php'; require_once('Classes/PHPExcel.php'); $phpExcel = PHPExcel_IOFactory::load('/var/www/html/default/csvex/xls/aaa.xls'); function cellColor($cells,$color){ global $objPHPExcel; $objPHPExcel->getActiveSheet()->getStyle($cells)->getFill()->applyFromArray(array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array( 'rgb' => $color ) )); } cellColor('B5', 'F28A8C'); cellColor('G5', 'F28A8C'); cellColor('A7:I7', 'F28A8C'); cellColor('A17:I17', 'F28A8C'); cellColor('A30:Z30', 'F28A8C'); $writer->save('baaa.xls');
  17. Good day all. I am looking for guidence. I am using phpexcell to format an excell file. all working 100% What should i be looking to do when i want to edit and format multiple files in a directory. about 200 excell documents all the same and with same formatting? Found this code for reading, but lets say row c3:i3 i want bold and size 14 in all the excell files . . . $path = "..."; ///the folder path $theFilePath = ""; $theFileName = glob ($path . "*.xls"); //Read more than one file here for($j = 0; $j< count($theFileName); $j++) { $theFilePath = $theFileName[$j]; $excel = new Spreadsheet_Excel_Reader(); $excel->setOutputEncoding('CP1251'); $excel->setUTFEncoder('mb_convert_encoding'); error_reporting(E_ALL ^ E_NOTICE); //echo $theFileName[$j];; echo "<br />"; echo $theFilePath; echo "<br />"; $excel->read($theFilePath); . . .// Do what u want display here }
  18. seriously - dumb it down a bit. relax and read the question again. Key length is the same. that is the c# they have given me, and this is the php i am trying. Si in stead om rambling just none helpful links and none useful comments, rather start of by helping by explaining how to get that c# code over to des encryption with either hex or $iv = "0112233445566778"; Not being disrespectful or anything else, but if you cant help with that please do not reply again as it wastes time and space. I have spent a whole freaking day trying to get that c# being the same as php and need real assistance
  19. well thats why i am here - trying to understand this all. i just need des - and read somewhere to get the same as c# i should remove padding? so please explain the pkcs padding? this is the code i am now busy with. with the correct key on my side $iv = $key; $pass_enc = $textToEncrypt; $block = mcrypt_get_block_size('des', 'cbc'); $pad = $block - (strlen($pass_enc) % $block); $pass_enc .= str_repeat(chr($pad), $pad); $pass_enc = mcrypt_encrypt(MCRYPT_DES, $key, $pass_enc, MCRYPT_MODE_CBC, $iv); $pass_enc1 = base64_encode ($pass_enc); echo $pass_enc1." -- "; output 4Oz0+7kX3naomfZpjW7y+g== -- expected- WfRb+Vugfc1cbJNfXKL6bw==
  20. encrypted output=bimbcVvpJ/NBxllxxCsW+w== decrypted output=5512065314089 expected- WfRb+Vugfc1cbJNfXKL6bw== if i change the key i get the same, but not the same in c#- so c# and php outputs differ
  21. i could not give the same key as it is used in company and would be dangerous. I also do not have c#. All i got was this is how we do the encryption and decryption. I am litterly stuck.
  22. $key = "K6u8#m2b"; $textToEncrypt = "5512065314089"; $iv = "0112233445566778"; $encrypted = openssl_encrypt($textToEncrypt, 'aes-256-cbc', $key, 0, $iv); echo "encrypted output=" . $encrypted . "\n"; // PART 2. DECRYPT - do the reverse $decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', $key, 0, $iv); echo "decrypted output=" . $decrypted . "\n"; echo "expected- WfRb+Vugfc1cbJNfXKL6bw==" BASE64(IV)=MDExMjIzMzQ0NTU2Njc3OA== encrypted output=Pt0MK+1qt0mAyU7irnWzTw== decrypted output=5512065314089 expected- WfRb+Vugfc1cbJNfXKL6bw==
  23. I have never worked with des encryption before and have searched through internet getting 3 des and acb - tested multiple code but cant get encrypted the same as in c# public string EncryptQueryString(string stringToEncrypt) public string EncryptQueryString(string stringToEncrypt) { byte[] key = { }; byte[] IV = { 0x01, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78 }; try { key = Encoding.UTF8.GetBytes(KEY); using (DESCryptoServiceProvider oDESCrypto = new DESCryptoServiceProvider()) { byte[] inputByteArray = Encoding.UTF8.GetBytes(stringToEncrypt); MemoryStream oMemoryStream = new MemoryStream(); CryptoStream oCryptoStream = new CryptoStream(oMemoryStream, oDESCrypto.CreateEncryptor(key, IV), CryptoStreamMode.Write); oCryptoStream.Write(inputByteArray, 0, inputByteArray.Length); oCryptoStream.FlushFinalBlock(); return Convert.ToBase64String(oMemoryStream.ToArray()); } } catch { throw; } } i followed this ph example but think i am way of course <?php class DES { protected $method; protected $key; protected $output; protected $iv; protected $options; const OUTPUT_NULL = ''; const OUTPUT_BASE64 = 'base64'; const OUTPUT_HEX = 'hex'; public function __construct($key, $method = 'DES-ECB', $output = '', $iv = '', $options = OPENSSL_RAW_DATA | OPENSSL_NO_PADDING) { $this->key = $key; $this->method = $method; $this->output = $output; $this->iv = $iv; $this->options = $options; } public function encrypt($str) { $str = $this->pkcsPadding($str, 8); $sign = openssl_encrypt($str, $this->method, $this->key, $this->options, $this->iv); if ($this->output == self::OUTPUT_BASE64) { $sign = base64_encode($sign); } else if ($this->output == self::OUTPUT_HEX) { $sign = bin2hex($sign); } return $sign; } public function decrypt($encrypted) { if ($this->output == self::OUTPUT_BASE64) { $encrypted = base64_decode($encrypted); } else if ($this->output == self::OUTPUT_HEX) { $encrypted = hex2bin($encrypted); } $sign = @openssl_decrypt($encrypted, $this->method, $this->key, $this->options, $this->iv); $sign = $this->unPkcsPadding($sign); $sign = rtrim($sign); return $sign; } private function pkcsPadding($str, $blocksize) { $pad = $blocksize - (strlen($str) % $blocksize); return $str . str_repeat(chr($pad), $pad); } private function unPkcsPadding($str) { $pad = ord($str{strlen($str) - 1}); if ($pad > strlen($str)) { return false; } return substr($str, 0, -1 * $pad); } } $key = 'key123456'; $iv = 'iv123456'; $des = new DES($key, 'DES-CBC', DES::OUTPUT_BASE64, $iv); echo $base64Sign = $des->encrypt('Hello DES CBC'); echo "\n"; echo $des->decrypt($base64Sign); echo "\n"; $des = new DES($key, 'DES-ECB', DES::OUTPUT_HEX); echo $base64Sign = $des->encrypt('Hello DES ECB'); echo "\n"; echo $des->decrypt($base64Sign);
  24. Good day I have three tables - receiving - shipping and stock movement. everyday i transfer into stock movent the sum of receining with date - havein a stock movent entry per day - I also at end of day update with shipping for that day, in stock table I calculate ne stock level. my problem is that when three days bac i stil have stock i need to start subtracting from oldest entry first till it reaches 0 the move over to second eldest? i have no idea where to start or how to achieve this
  25. Good morning guys. I am pulling data from vehicle tracking site via soap curl. but the data format that I am getting it in is unusable, maybee i am doing something wrong. please have a look. here is the code. <?php //Data, connection, auth $dataFromTheForm = $_POST['fieldName']; // request data from the form $soapUrl = "https://fleet11.******.co.za/api/"; // asmx URL of WSDL $soapUser = "********"; // username $soapPassword = "********"; // password // xml post structure $xml_post_string = '<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="fleet11.cartrack.co.za/api/"> <soapenv:Header/> <soapenv:Body> <api:endpoint.get_vehicle_last_positions soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <username xsi:type="xsd:string">?</username> </api:endpoint.get_vehicle_last_positions> </soapenv:Body> </soapenv:Envelope>'; $headers = array( "Content-type: application/x-www-form-urlencoded", "Accept: text/xml", "Cache-Control: no-cache", "Pragma: no-cache", "SOAPAction: fleet11.******.co.za/api/#get_vehicle_last_positions", "Content-length: ".strlen($xml_post_string), ); $url = $soapUrl; // var_dump($url); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, $soapUser.":".$soapPassword); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); `curl_setopt($ch, CURLOPT_HEADER, true);` // converting $response = curl_exec($ch); curl_close($ch); //paul add //echo "<pre>"; print_r($response); What is returning is single line entries How di i get this into a format to import into mysql
×
×
  • 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.