Jak wrzucić wygenerowaną z pętli FOREACH tabelkę w funkcję IMPLODE?

0

titlehttp://taniepranie.zgora.pl/jak.jpg
Jak wrzucić wygenerowaną z pętli FOREACH tabelkę w funkcję IMPLODE?
Można sprawdzić o co mi chodzi na www.taniepranie.zgora.pl/test4.php

<?php
require_once "connectbase.php";

if(isset($_POST['submit'])){
foreach ($_POST['mebel'] as $mebel)
{
echo $mebel.' ';
}
foreach ($_POST['pojazd'] as $pojazd)
{
echo $pojazd.' ';
}
}
$imie=$_POST['imie'];
echo ' imie: '.$imie;

$arraymebel = array('zmiennamebel1', 'zmiennamebel2', 'zmiennamebel3');
$tabelkamebel = implode(",", $arraymebel);
echo $tabelkamebel;

$arraypojazd = array('zmiennapojazd1', 'zmiennapojazd2', 'zmiennapojazd3');
$tabelkamebel = implode(",", $arraymebel);
echo $tabelkapojazd;

$query3 = "INSERT INTO rezerwacje (imie, mebel, pojazd) VALUES ('$imie', '$tabelkamebel', '$tabelkapojazd')";
$mysqli->query($query3);
echo '<hr><a href="test3.php">TUTAJ MOŻA WEJŚĆ I SPRAWDZIĆ BAZĘ</a>';
?>
0

Jeżeli dobrze rozumiałem to tutaj najprawdopodobniej wystarczy $arraymebel = $_POST['mebel'].
Albo po prostu $tabelkamebel = implode(',', $_POST['mebel']);
Tylko przydałoby się uodpornić skrypt na brak $_POST['mebel'] (gdy użytkownik nic nie zaznaczy).

0
Delor napisał(a):

Jeżeli dobrze rozumiałem to tutaj najprawdopodobniej wystarczy $arraymebel = $_POST['mebel'].
Albo po prostu $tabelkamebel = implode(',', $_POST['mebel']);
Tylko przydałoby się uodpornić skrypt na brak $_POST['mebel'] (gdy użytkownik nic nie zaznaczy).

No niestety niezbyt ; (

$arraymebel = $_POST['mebel'];
echo 'zobaczmy: '.$arraymebel;

WYNIK:
zobaczmy: Array

Już mi pisali wcześniej, że muszę dane odebrać za pomocą pętli FOREACH.

Chodzi o to, że chcę dane z pola mebel (np. sofa, pufa i kanapa) wpisać w jedną kolumnę tabeli bazy danych. Tak, żeby w kolumnie MEBEL było "sofa, pufa i kanapa"

1
<?php

$One = array();
$Two = array();

if(isset($_POST['mebel']) && (isset($_POST['pojazd'])))
{
foreach ($_POST['mebel'] as $mebel)
{
$One[] = $mebel;
}
foreach ($_POST['pojazd'] as $pojazd)
{
$Two[] = $pojazd;
}

$arraymebel = array_merge($One, $Two);

print_r($arraymebel);

}else {
exit('zaznacz opcje pól');
}
?>
0

Wynik:
Array ( [0] => naroznik [1] => kanapa [2] => osobowka [3] => suv )

Cały czas nie to :(
Ja już mam łeb pełen. To jest w zasadzie kontynuacja poprzedniego wątku, bo wstyd mi było pytać dalej jak zapisać wszystkie zmienne w jedno pole, skoro dostałem odpowiedź, żebym robił 3 osobne tabelki bazy. No kiedy ja chcę mieć jedną tabelkę, bo nie potrzeba mi rozbudowywać, normalizować itd. dla 2 danych

Będę zaraz płakał.

0

naprawde cie nie rozumiem. Pokazales na obrazku ze chcesz te wartosci z pol select wstawic do tej zmiennej ew tablicy tyle ze tam sa trzy wartosci w tej tablicy - to ma sie zastapic czy dodac do tych trzech lub jak nie to wytlumacz bo ja juz nie czaje

0

UDAŁO SIĘ!!!!!!!!!!!
Ale ze mnie dzban... Widziałem, że dane dostaję w postaci tabelki, ale zmyliło mnie to FOREACH. Nie mogłem tego przeskoczyć.
Wystarczyło (tak jak napisała mi Szybka Parówka na privie) wrzucić jako zmienną POST'a i teraz bez problemu mogę zmienną $arraypojazd zapisać w bazie danych

$arraypojazd = $_POST['pojazd'];
$tabelkapojazd = implode(",", $arraypojazd);
echo $tabelkapojazd;

PS. Te wartości były przykładowe. chciałem pokazać, że jak robię tabelkę ręcznie, to działa a jak zamienić to na moją tabelkę z posta.
Rety. Przepraszam za to ;p
I bardzo, bardzo, bardzo dziękuję za cierpliwość, poświęcony czas i nerwy : D

0

Jak używasz $_POST, wrzucasz do bazy, potem na produkcję jako stronę w necie to warto zainteresować się walidacją, sanityzacją danych, szczególnie przy czystym php ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1