Jump to content

Barand

Moderators
  • Posts

    24,604
  • Joined

  • Last visited

  • Days Won

    830

Everything posted by Barand

  1. See big green button at top of the page.
  2. Q.E.D. Youe need to ensure you only attempt to update the database when $_SESSION['user_id'] has a value. Somethng like this at the start of your script ... if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit; }
  3. What does this output? ... var_dump($_SESSION['user_id']);
  4. Looks like $_SESSION['user_id'] is NULL. Have you checked its value?
  5. I doubt he's aspiring to reach standard achieved in your earlier post in this thread
  6. try foreach($dom2->find("li span a") as $el) { echo $el->getAttribute('href') . '<br>'; // https://playpass.com/robinson-girls-youth-softball-association }
  7. Do you mean something like the last 7 lines of the initial post?
  8. I suppose , if you insist on using a hammer to drive in a screw. Not the right tool for the job.
  9. Send a location header to same page so it reload without the posted data myscript.php: if ($_SERVER['REQUEST_METHOD']=='POST') { // validate POST data if (no errors) { // update database header("Location: myscript.php"); exit; } } // build page content
  10. FetchAll() returns an array but in the second version you don't store it anywhere.
  11. perhaps select i.name as itemName, qs.name as sectionName, i.id as itemId, i.GBP, i.USD, i.CAD, cb.charge_by, COUNT(cp.item_id) > 0 as icConsumable from items i inner join quote_sections qs on i.section_id=qs.id inner join charge_by cb on i.charge_by_id = cb.id left join consumable_price cp ON i.id = cp.item_id group by i.id union select ci.name as itemName, qs.name as sectionName, concat("CI", ci.id) as itemId, ci.price as GBP, ci.price as USD, ci.price as CAD, cb.charge_by, 0 as isConsumable from custom_item ci inner join quote_sections qs on ci.section_id=qs.id inner join charge_by cb on ci.charge_by = cb.id
  12. That will work if slow queries are your thing
  13. Do you want to show all items with indication that it is in consumables, or only items where there is a consumables record, or only items with no consumables records (I have to ask as you have not given an example where you used the table)
  14. LEFT JOIN ( SELECT item_id, COUNT(*) as tot FROM consumables GROUP BY item_id ) con USING (item_id) If you use a subquery like the above, instead of joining directly to the table, it will eliminate the duplicate rows.
  15. Give us some context - that tells us nothing. What is the name of that table and what is the query giving the problem? EDIT: Note - you need a join on item_id AND qty BETWEEN min AND max
  16. That is setting $resrved rooms to a string value if not posted. The default needs to be an empty array $reservedrooms = $_POST['reservedrooms'] ?? [];
  17. Shouldn't give that error then. It should just give a zero price because none of the booked query room ids are that empty array. Are you sure it's not being overwritten anywhere?
  18. If you have no reserved rooms, how is $reservedrooms defined in your script;. Are you initially defining it as an empty string $reservedrooms = ""; or an empty array $reservedrooms = [];
  19. What happens if you get the val() of the enclosing <select> element?
  20. Your earlier query checks for the existence of id = $_GET['decs_id']. Do not want to update that record?
  21. Check the value of $_GET['id'] when you attempt the update. Why are you updating the clientid?
  22. Do you have error display set and have you set the PDO error mode attrubute when connecting? eg $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  23. What happens if you move the status condition to the outer where clause with the site condition?
  24. Neither do we. We cannot see over shoulder from this distance to see what your code looks like.
  25. Alternatively $bookquery = array_filter($bookquery, fn($v)=>in_array($v['room_id'], $reservedrooms)); $totalprice = array_sum(array_column($bookquery, 'price'));
×
×
  • 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.