Sebastian Ubycha

Sebastian Ubycha Technik produkcji,
Hutchinson Poland
Sp. z o.o.

Temat: PHP MySQL i Combobox

Witam,
Mecze sie od kilku dni z dodaniem combobox'ów do formularza mianowicie do pierwszych dwoch kolumn tekstowych chce dodac w trzeciej kolumnie combobox'y, ktore maja zasysac dane z innej tabeli niz pozostałe.
moj kod wygłada tak:

<?php
$polaczenie = mysql_connect('localhost','root','') or die ("Brak polaczenia: " . mysql_error());
$baza = mysql_select_db('prod',$polaczenie) or exit("nie wybrano bazy, blad: " . mysql_error()) ;
$zapytanie = 'SELECT lp , name FROM maszyny WHERE cp = "5F400"';
$wynik = mysql_query($zapytanie, $polaczenie) or die (mysql_error());
$ref = 'SELECT lp , refK FROM referencje ';
$rf = mysql_query($ref, $polaczenie) or die (mysql_error());
while ($rekord = mysql_fetch_assoc($wynik)) {
//echo $rekord['name']. "<br />";
echo'
<div>
<form action="" method="POST">
<input name="lp'.$rekord['lp'].'" value="'.$rekord['lp'].'" />
<input name="masz'.$rekord['lp'].'" value="'.$rekord['name'].'" />
</div>';
}
?>

<select name="expenses" >
<option value="0" selected="selected"> Choose</option>
<?php
while($row = mysql_fetch_assoc($rf)){
// $id=$row["id_expense"];
$category = $row["refK"];
?>
<option value= <?php $category ?> > <?php echo $category ?> </option>
<?php
}?>
</select>


a chciałbym zeby wygladalo to tak:


Obrazek


Prosze o pomoc dla swierzaka.Ten post został edytowany przez Autora dnia 16.06.15 o godzinie 17:12
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: PHP MySQL i Combobox

Masz:
1. Otwierasz pierwszą pętlę while aby iterować wiersze
2. Dodajesz imputy
3. Zamykasz pierwszą pętlę while
4. Otwierasz drugą pętlę while aby zbudować select
5. Zamykasz drugą pętlę while

Powinieneś mieć:
1. Przenieść kod drugiego while do pierwszego czyli robisz kolejno pkt według kolejności: 1, 2, 4, 5, 3

A tak na marginesie:
Po wykonaniu pkt tak aby pierwszy while był w drugim niepotrzebnie wykonujesz drugiego while w ilości liczba pętli while * liczba wierszy. Zrobiłbym generowanie tagów <option> raz i zapamiętałbym w zmiennej i potem dla każdego wiersza po prostu wyświetliłbym listę zamiast generować ją przy każdym obrocie pierwszego while.

Zauważyłem też, że otwierasz tag form ale go nie zamykasz. Czy na pewno każdy wiersz ma być oddzielną formą?
Jeżeli przy każdym wierszu mają być jakieś polecenia do zrobienia to lepiej było by załatwić to linkiem przekazując get'em tylko id wiersza oraz akcję jaka ma zostać wykonana po przyciśnięciu linku. Można też tak jak się to teraz ciągle robi po przyciśnięciu przycisku wykonać funkcję za pomocą ajax'a :)Ten post został edytowany przez Autora dnia 18.06.15 o godzinie 22:19
Stanisław Molitorys

Stanisław Molitorys Programista PHP, Web
Developer

Temat: PHP MySQL i Combobox

Jeszcze w drugiej pętli w znaczniku option w atrybucie value zapomniałeś dodać 'echo' przy wpisaniu zmiennej $category i przydałyby się tam również cudzysłów

Następna dyskusja:

poszukuje informatyka (PHP ...




Wyślij zaproszenie do