Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [MySQL][PHP]Automatyczne nadawanie nazw input`om

Napisany przez: bwl 17.05.2018, 17:54:08

Witajcie.

Pobieram z bazy listę nazw leków (strona ma służyć aktualizacji ich ilości), przy każdej nazwie leku umieszczam input, tak aby użytkownik mógł do niego wpisać ilość dodawanego leku. Chciałbym, automatycznie nadać nazwy tymże inputom (name=), aby móc to później jakoś wysłać do bazy i tu się zawiesiłem.

Na frana próbowałem tak:

Kod
<?php
foreach ($lista_alfabetyczna as $lek)
{
    echo "<tr><td><label>{$lek ['nazwa']}<input name=\{$lek ['nazwa']}\" type=\"text\"></td></label>";
}
?>

No ale "Notice: Array to string conversion"

Z góry dzięki.

Napisany przez: SmokAnalog 17.05.2018, 18:03:24

Najprościej jest w takich sytuacjach robić jedną z dwóch rzeczy:

  1. Nazywać pola z [] na końcu, czyli np. name[], id[], type[] itd. Potem sklejasz je do siebie po indeksie w tablicy, bo będziesz miał kilka niezależnych tablic, ale ten sam indeks oznacza ten sam lek, np. $_POST['name'][3] i $_POST['id'][3] dotyczą tego samego leku.
  2. Nadawać inputom nazwy z ID w środku, np. name[42] (nazwa leku dla id=42), type[13] itd.


Ja osobiście wolę ten pierwszy sposób, bo lubię, kiedy nazwy inputów są stałe w HTML-u.

Napisany przez: troian 18.05.2018, 08:21:06

$lek [..] masz spację między tym i do echa próbujesz wywalić tablicę

Napisany przez: bwl 18.05.2018, 12:12:43

@SmokAnalog mógłbyś mi to bardziej łopatologicznie objaśnić, najlepiej na przykładzie?
Jestem zupełnie początkujący wink.gif

@troian bez spacji Storm świeci na czerwono, a przeglądarka mówi:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

Natomiast ze spacją działa tylko bez nadawania tych nazw.

Napisany przez: nospor 18.05.2018, 12:17:27

Cytat
bez spacji Storm świeci na czerwono, a przeglądarka mówi:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

Walib ledem bo zjadles cudzyslow przy \{

echo "<tr><td><label>{$lek['nazwa']}<input name=\"{$lek['nazwa']}\" type=\"text\"></td></label>";

Napisany przez: bwl 18.05.2018, 13:10:13

Czyli mój sposób na frana zadziałał. Jestem z siebie dumny, a Wam pięknie dziękuję za pomoc !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)