Pętle while, for i insert do mysqla.

0

Witam.
Problem dotyczy kodu:


$wynik= mysql_query("Select * from chodniki");
 while($p= mysql_fetch_array($wynik)){
         for($i = 0; $i<count($p['meks']); $i++);
    echo '<tr><td>'.$p['meks'].' <input type='text' name='oop' /></td></tr>';    

 }

Powyższa pętla wykonuje się u mnie od 10 do 15 razy. Na samym dole mam przycisk który dodaje do bazy danych rekordy z wartością $p['meks'] oraz wartoscia wpisaną w pole oop.

Problem polega na tym iż musze dodać jednym przyciskiem kilka rekordów ale tylko do tej pętli w której zostanie wypełnione pole oop tak aby nie dodawać rekordów dla wartosci $p['meks'] która nie ma pary w postaci wartosci z pola oop.

Trochę zagmatwałem ale mam nadzieje ze jest to zrozumiałem.

PS. Kod powyżej to tylko schemat tego co mam w projekcie.

0

Nie, nie rozumiem. Zacznijmy od tego, że nie rozumiem dlaczego tworzysz wiele inputów o tym samym "name".

0

Już wyjaśniam. Inputy o tych samych nazwach to oczywiście niedopatrzenie przy podawaniu powyższego przykładu. Docelowo każdy będzie miał swoją unikalną nazwę.

Powyższa pętla będzie wyświetlała coś w rodzaju tego:
user image

Dla tak jak wyżej wypełnionego przykładu button ma wykonać query:

INSERT INTO tabela (abc, cba) VALUES (5, 453), (9, 43), (11, 2) 

Jeśli wypełniony byłby tylko jeden input to wartosci ograniczałyby się do jednego nawiasu jeśli wypełnione zostałyby 6 inputów to wrzucić do bazy ma 6 wierszy itd...

0

Problem masz taki, że Twoj formularz przesyła tylko i wyłącznie dane oop, nie powiązane w żaden sposób z $p['meks'].

Spróbuj może zastosować inputy, które w nazwie będą miały zakodowaną wartość $p['meks'].

<input type="text" name="data[' . $p['meks'] . ']">

Wtedy w PHPie w tablicy $_POST będziesz miał tablicę $_POST['data'], której indeksy będą $p['meks'] a wartością będzie wypełnione pole. Iterujesz wtedy foreachem po tej tablicy i gotowe.

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