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

odsłon: 1.23K
0
Komentarzy: 0

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!

odpowiedział na pytanie
Dodaj komentarz
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ć.

Edytował odpowiedź
Dodaj komentarz
0

Works like a charm 😝😝😝

Fota

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

dzieki Marcin

odpowiedział na pytanie
Dodaj komentarz
Wpisz swoją odpowiedź.
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.