-
Posts
24,573 -
Joined
-
Last visited
-
Days Won
824
Everything posted by Barand
-
Perhaps you could give us a clue What is it doing that it shouldn't do What is it not doing that it should do?
-
Err500 when trying to open php page from browser
Barand replied to Abhinov's topic in PHP Coding Help
From the php manual... -
Then your "MyPHPScript.php" should retrieve the inputs from the $_GET array Send the email Update the database Use http_build_query() to rebuild the querystring then use header("Location: NEW URL WITH QUERYSTRING) to send to remote page. = euphemism for "if someone will write it for me (for free)", which is probably why you can't get the answer you really want.
-
Seriously!? You let anyone delete any record from any table just by putting values in a query string? http://.../delete.php?target=user&username=admin Brownie points for trying to use "prepare()" but your usage is wrong. The $id variable should not be in the query (that's the whole point of prepared statements). Use a placeholder instead and pass the id as a parameter $stmt = $pdo->prepare("DELETE FROM SOME_DATABASE.$table WHERE $idType = ?"); $status = $stmt->execute( [$id] );
-
How to make an associative array with $key => $value pairs
Barand replied to makamo66's topic in PHP Coding Help
Here's an example if ($_SERVER['REQUEST_METHOD']=='POST') { $post = array_map('trim', $_POST); if (!empty($post['productid']) && !empty($post['qty'])) { if (!isset($_SESSION['cart'][$_POST['productid']])) { $_SESSION['cart'][$_POST['productid']] = 0; } $_SESSION['cart'][$_POST['productid']] += $_POST['qty']; } } from an earlier topic of yours ! -
Display which row and which column has the biggest number of 1's
Barand replied to Dobby's topic in PHP Coding Help
I assume you've had a go at it yourself by now. Here's my effort... <?php $data = []; for ($r=0; $r<4; $r++) { for ($c=0; $c<4; $c++) { $data[$r][$c] = rand(0,1); } } $rowcounts = $colcounts = []; for ($r=0; $r<4; $r++) { $rowcounts[$r] = count(array_keys($data[$r], 1)); } for ($c=0; $c<4; $c++) { $colcounts[$c] = count(array_keys(array_column($data,$c), 1)); } $rmax = max($rowcounts); $cmax = max($colcounts); $rcmax = max($rmax, $cmax); $hirows = array_keys($rowcounts, $rcmax); $hicols = array_keys($colcounts, $rcmax); echo "<table border='1' style='border-collapse:collapse'>\n"; for ($r=0; $r<4; $r++) { echo "<tr>"; for ($c=0; $c<4; $c++) { $hilite = (in_array($r, $hirows) || in_array($c, $hicols)) ? 'class="max"' : ''; echo "<td $hilite> {$data[$r][$c]} </td>"; } echo "</tr>\n"; } echo "</table>\n"; ?> -
Err500 when trying to open php page from browser
Barand replied to Abhinov's topic in PHP Coding Help
Do you have this line in your php.ini file... ;extension=php_oci8_12c.dll If so, remove the ";" to enable the extension and check you have that dll file in your extensions folder. -
Err500 when trying to open php page from browser
Barand replied to Abhinov's topic in PHP Coding Help
Sounds like you don't the required library installed or enabled. Check the extensions in the php.ini file or use phpinfo() to see if there is an OCI section. https://www.php.net/manual/en/oci8.requirements.php -
Err500 when trying to open php page from browser
Barand replied to Abhinov's topic in PHP Coding Help
Make sure your php.ini file has error_reporting set to "E_ALL" and that display_errors and display_startup_errors are ON You also need to check for any errors returned by your DB server. -
I store prices as decimal EG +-------------+------------------+------+-----+----------------------+--------------------------------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+----------------------+--------------------------------+ | prod_id | int(11) | NO | PRI | NULL | auto_increment | | description | varchar(50) | YES | | NULL | | | price | decimal(10,2) | YES | | NULL | | +-------------+------------------+------+-----+----------------------+--------------------------------+ Query example... TABLE: product TABLE: cart +---------+-------------+--------+ +----+---------+------+ | prod_id | description | price | | id | prod_id | qty | +---------+-------------+--------+ +----+---------+------+ | 1 | Product AZ | 49.99 | | 1 | 1 | 2 | | 2 | Product B | 29.99 | | 2 | 3 | 5 | | 3 | Product C | 9.99 | | 3 | 7 | 1 | | 4 | Product D | 22.99 | | 4 | 6 | 2 | | 5 | Product E | 29.99 | +----+---------+------+ | 6 | Product F | 19.99 | | 7 | Product G | 129.99 | | 8 | Product H | 99.99 | | 9 | Product I | 74.99 | | 10 | Product J | 69.99 | +---------+-------------+--------+ SELECT p.prod_id , p.description , p.price , c.qty , p.price * c.qty as total FROM test_product p JOIN test_cart c USING (prod_id); +---------+-------------+--------+------+--------+ | prod_id | description | price | qty | total | +---------+-------------+--------+------+--------+ | 1 | Product AZ | 49.99 | 2 | 99.98 | | 3 | Product C | 9.99 | 5 | 49.95 | | 7 | Product G | 129.99 | 1 | 129.99 | | 6 | Product F | 19.99 | 2 | 39.98 | +---------+-------------+--------+------+--------+
-
@NotSunfighter He was shown exactly how to do it in a previous topic of his in this forum. Not worth wasting any more time.
-
Doesn't sound like you are doing anything like that. In my code, if the product isn't in the cart it adds it, with the quantity. If the product is already in the cart it updates the quantity. No removals required (unless, of course, the user wants to cancel)
-
Courier-Deprixa-Pro-v3.2.6.2-Integrated-Web-System Issues
Barand replied to Proiyke's topic in PHP Coding Help
You cannot send headers when anything has already been output. You need to reorganize your code so that the php processing precedes the html output. -
Implications of entity one-to-one relationships
Barand replied to NotionCommotion's topic in PHP Coding Help
e.g. A custom UOM of "furlongs per fortnight" makes the top speed of your car sound very impressive. -
Display which row and which column has the biggest number of 1's
Barand replied to Dobby's topic in PHP Coding Help
Well, you've output a table of 0s and 1s, but what are you going to count? Store the random 0/1s in a two-dimensional array then count the array contents. Output the array into the table. -
Really!? Hard to believe that, with your markup, you are actually using css files.
-
Fatal error: Call to a member function bind_param() on a non-object
Barand replied to ACBMSE's topic in PHP Coding Help
Looks like the prepare() failed. Put this line before your mysqli connection so that errors are trapped mysqli_report(MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT); (if you don't have display_errors ON check your error log.) -
If you want always to go back 2 years, then a slight modification to my above code <?php // CREATE A RANGE OF MONTHS // $dt1 = new DateTime('-2 years'); $dt2 = new DateTime(); $dp = new DatePeriod($dt1, new DateInterval('P1M'), $dt2); // STARTING FRIDAY // $fri = clone $dt1; $fri->modify('last friday of previous month'); // LOOP THROUGH THE MONTHS // // AND STORE IN months ARRAY // $months = []; foreach ($dp as $d) { $key = $d->format('Y-m'); $months[$key]['start'] = $fri->modify('+1 days')->format('Y-m-d'); // add 1 day to previous friday for start date $fri = $d->modify('last friday of this month'); // get last friday of the month for end date $months[$key]['end'] = $fri->format('Y-m-d'); } // CHECK THE RESULTS // echo '<pre>'; printf("<b>%-14s%s</b>\n", 'Month', 'Fiscal month'); printf("<b>%-10s%10s — %-10s</b>\n", '', 'Saturday', 'Friday'); print("--------+------------------------\n"); foreach ($months as $k => $m) { printf("%-7s | %-10s — %-10s\n", $k, $m['start'], $m['end']); } print("--------+------------------------\n"); echo '</pre>'; ?> Giving Month Fiscal month Saturday — Friday --------+------------------------ 2017-11 | 2017-10-28 — 2017-11-24 2017-12 | 2017-11-25 — 2017-12-29 2018-01 | 2017-12-30 — 2018-01-26 2018-02 | 2018-01-27 — 2018-02-23 2018-03 | 2018-02-24 — 2018-03-30 2018-04 | 2018-03-31 — 2018-04-27 2018-05 | 2018-04-28 — 2018-05-25 2018-06 | 2018-05-26 — 2018-06-29 2018-07 | 2018-06-30 — 2018-07-27 2018-08 | 2018-07-28 — 2018-08-31 2018-09 | 2018-09-01 — 2018-09-28 2018-10 | 2018-09-29 — 2018-10-26 2018-11 | 2018-10-27 — 2018-11-30 2018-12 | 2018-12-01 — 2018-12-28 2019-01 | 2018-12-29 — 2019-01-25 2019-02 | 2019-01-26 — 2019-02-22 2019-03 | 2019-02-23 — 2019-03-29 2019-04 | 2019-03-30 — 2019-04-26 2019-05 | 2019-04-27 — 2019-05-31 2019-06 | 2019-06-01 — 2019-06-28 2019-07 | 2019-06-29 — 2019-07-26 2019-08 | 2019-07-27 — 2019-08-30 2019-09 | 2019-08-31 — 2019-09-27 2019-10 | 2019-09-28 — 2019-10-25 --------+------------------------
-
Why would it need a default name to output the image in the browser? Or are you wanting the user to download the image?
-
Like this example in this topic 1) Read your replies 2) Don't repeatedly post the same question.
-
You can generate a date preiod object to loop through a range of months <?php // CREATE A RANGE OF MONTHS $dt1 = new DateTime('2019-01-01'); $dt2 = new DateTime('2020-01-01'); $months = []; $dp = new DatePeriod($dt1, new DateInterval('P1M'), $dt2); // STARTING FRIDAY $prev_fri = new DateTime('last friday of december 2018'); // LOOP THROUGH THE MONTHS foreach ($dp as $d) { $key = $d->format('Y-m'); $months[$key]['start'] = $prev_fri->modify('+1 days')->format('Y-m-d'); // add 1 day to previous friday for start date $fri = $d->modify('last friday of this month'); // get last friday of the month for end date $months[$key]['end'] = $fri->format('Y-m-d'); $prev_fri = $fri; // store month end } echo '<pre>', print_r($months, 1), '</pre>'; ?> Giving Array ( [2019-01] => Array ( [start] => 2018-12-29 [end] => 2019-01-25 ) [2019-02] => Array ( [start] => 2019-01-26 [end] => 2019-02-22 ) [2019-03] => Array ( [start] => 2019-02-23 [end] => 2019-03-29 ) [2019-04] => Array ( [start] => 2019-03-30 [end] => 2019-04-26 ) [2019-05] => Array ( [start] => 2019-04-27 [end] => 2019-05-31 ) [2019-06] => Array ( [start] => 2019-06-01 [end] => 2019-06-28 ) [2019-07] => Array ( [start] => 2019-06-29 [end] => 2019-07-26 ) [2019-08] => Array ( [start] => 2019-07-27 [end] => 2019-08-30 ) [2019-09] => Array ( [start] => 2019-08-31 [end] => 2019-09-27 ) [2019-10] => Array ( [start] => 2019-09-28 [end] => 2019-10-25 ) [2019-11] => Array ( [start] => 2019-10-26 [end] => 2019-11-29 ) [2019-12] => Array ( [start] => 2019-11-30 [end] => 2019-12-27 ) )
-
update the image's src attribute when date changes