Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

Liczba zmiennych zależna od ilości usług

2.57K views
0
0 Comments

Dzień dobry,

Mam taki testowy kod:

<?php
 // Create connection
 $conn = mysqli_connect("localhost", "", "", “"); 
 // Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
// prepare and bind
  $array = array(
    array("Ekranowanie kompletne", "Montaż przetwornika", "Złożenie gitary"),
    array("1", "2", "1"),
    array("60", "100", "400")
);
 $first = array_column($array,0);
$second = array_column($array,1);
$third = array_column($array,2);
 $uslugi = array($first,
              $second,
              $third);
      if(is_array($uslugi))
     {
          foreach($uslugi as $row => $value)
          {
               $item_name = $value[0];
               $qty = $value[1];
               $price= $value[2];
               $stmt = $conn->prepare("INSERT INTO orderList (item_name, qty, price) VALUES (?, ?, ?)");
               $stmt->bind_param("sii", $item_name, $qty, $price);
               $stmt->execute();
          }
     }
     if ($stmt) {
       echo "Wprowadzono dane do bazy";
     } else {
       echo "Wprowadzenie danych nie udane";
     }
 $stmt->close();
$conn->close();
  ?>

stworzyłem ten kod i działa prawidłowo ale tu na sztywno do testowania jest $array z 3-ma usługami a ja nie wiem ile tych usług w zleceniu będzie, może tylko jedna, może dwie a może 5.

Chodzi o to jak to zrobić żeby jeżeli jest jedna usługa była tylko jedna zmienna $first do przetworzenia, a jak trzy usługi to żeby był: $first, $second i $third i tak oczywiście odpowiednio tyle zmiennych ile będzie usług.

Mnie nawet nie chodzi o gotowy kod tylko jakąś poradę jak do tego podejść bo już z trzy tygodnie nad tym siedzę a może i dłużej i stoję.

Dzięki!

Mariusz Połaski Answered question 13 października 2020
Add a Comment
0

Works like a charm 😝😝😝

Fota

wrzuciłem na szybko na iPad’ie ale wieczorkiem wrzucam na produkcyjnym 👍

dzieki Marcin

Mariusz Połaski Answered question 13 października 2020
Add a Comment
0

Hej Mariusz,

w przykładzie nie widzę, skąd przypisujesz nazwy usług do zmiennej $array, stąd pewnie da się to zrobić lepiej cofając się o krok wstecz. Jednak, mając przykładowo 5 usług:

<?php
$array = array(
    array("Ekranowanie kompletne", "Montaż przetwornika", "Złożenie gitary", "Zmiana strun", "Regeneracja progów"),
    array("1", "2", "1", "6", "2"),
    array("60", "100", "400", "10", "30")
);
$uslugi = array();
for ($i = 0; $i < count($array[0]); $i++)
{
  $uslugi[] = array_column($array, $i);
}

Na pierwszy rzut oka powinno zadziałać. Sprawdź proszę i daj znać.

Marcin Wesel Edited answer 13 października 2020
Add a Comment
Write your answer.
Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.