Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] PHP MySQL i Combobox w petli
Forum PHP.pl > Forum > Przedszkole
smyhail
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:
  1. <?php
  2. $polaczenie = mysql_connect('localhost','root','') or die ("Brak polaczenia: " . mysql_error());
  3. $baza = mysql_select_db('prod',$polaczenie) or exit("nie wybrano bazy, blad: " . mysql_error()) ;
  4. $zapytanie = 'SELECT lp , name FROM maszyny WHERE cp = "5F400"';
  5. $wynik = mysql_query($zapytanie, $polaczenie) or die (mysql_error());
  6. $ref = 'SELECT lp , refK FROM referencje ';
  7. $rf = mysql_query($ref, $polaczenie) or die (mysql_error());
  8. while ($rekord = mysql_fetch_assoc($wynik)) {
  9. //echo $rekord['name']. "<br />";
  10. <div>
  11. <form action="" method="POST">
  12. <input name="lp'.$rekord['lp'].'" value="'.$rekord['lp'].'" />
  13. <input name="masz'.$rekord['lp'].'" value="'.$rekord['name'].'" />
  14. </div>';
  15. }
  16. ?>
  17.  
  18. <select name="expenses" >
  19. <option value="0" selected="selected"> Choose</option>
  20. <?php
  21. while($row = mysql_fetch_assoc($rf)){
  22. // $id=$row["id_expense"];
  23. $category = $row["refK"];
  24. ?>
  25. <option value= <?php $category ?> > <?php echo $category ?> </option>
  26. <?php
  27. }?>
  28. </select>
  29.  


a chciałbym zeby wygladalo to tak:

link

Prosze o pomoc dla swierzaka.
patwoj98
1. Świeżaka* z tego co się w Polskim orientuję.
2. Nie używaj MYSQL tylko MYSQLI.

  1. $zapytanie = 'SELECT lp , name FROM maszyny WHERE cp = "5F400"';
  2. $wynik = mysql_query($zapytanie, $polaczenie) or die (mysql_error());
  3.  
  4. while(TUTAJ WSTAW WHILE Z PIERWSZYMI DWOMA KOLUMNAMI){
  5. //ZRÓB CO MASZ, ABY SIĘ WYŚWIETLIŁY TE KOLUMNY PIERWSZE
  6. $ref = 'SELECT lp , refK FROM referencje ';
  7. $rf = mysql_query($ref, $polaczenie) or die (mysql_error());
  8. while($rf=mysql_fetch_assoc()){
  9. //TRZECIA KOLUMNA
  10. }
  11.  
  12. }
  13.  
  14.  
  15.  
smyhail
link juz poprawilem.

.... wiec doszedlem do:

  1. <?php
  2.  
  3. $c = mysql_connect("localhost", "root", "") or die(mysql_error());
  4.  
  5. $zapytanie = 'SELECT * FROM maszyny WHERE cp = "5F400"';
  6. $queryname = "SELECT * FROM referencje;";
  7. $wynik = mysql_query($zapytanie, $c) or die (mysql_error());
  8. $ilosc = mysql_num_rows($wynik);
  9. $queryname = "SELECT * FROM referencje;";
  10. $rekord = mysql_fetch_assoc($wynik);
  11.  
  12.  
  13.  
  14. echo $ilosc." wierszy w MySQL";
  15. echo "<form method='post' >";
  16. echo "<div>";
  17.  
  18.  
  19.  
  20. if($result = mysql_query($queryname)) {
  21. while ($rekord = mysql_fetch_assoc($wynik)) {
  22. echo "<input name='masz.$rekord[lp]' value='$rekord[name]'> ";
  23.  
  24.  
  25. echo "<select name='refk.$rekord[lp]'><br>";
  26. echo "<option>-- Select name --</option><br>" ;
  27.  
  28. while ($row = mysql_fetch_array($result))
  29. echo "<option value='$row[RefK]'>$row[RefK]</option><br>";
  30. echo "</select><br>";
  31.  
  32. echo "</form>";
  33. }
  34. }
  35. echo "</div>"
  36. ?>


i nie pobiera z pierwszej linii z MySQL oraz combobox dziala tylko w pierwszej linii
patwoj98
Problem rozwiązałem:

  1. <?php
  2.  
  3. $mysqli = new mysqli("localhost",'root',"","test"); //Zmień na: serwer,użytkownik,hasło,nazwa bazy
  4.  
  5. //zapytanie o pierwsze tabeli
  6. $zapytanie = 'SELECT lp , name FROM maszyny WHERE cp = "5F400"';
  7. $wynik = $mysqli->query($zapytanie);
  8.  
  9.  
  10. //zapytanie do drugiej tabeli
  11. $ref = 'SELECT lp , refK FROM referencje ';
  12. $rf = $mysqli->query($ref);
  13. $r = $rf->fetch_assoc();
  14. //$category = $row["refK"];
  15. //while($row = mysql_fetch_assoc($result))
  16.  
  17.  
  18.  
  19.  
  20. while ($rekord = $wynik->fetch_assoc()) {
  21. //echo $rekord['name']. "<br />";
  22. echo '<div>
  23. <form action="" method="POST">
  24. <input name="lp'.$rekord['lp'].'" value="'.$rekord['lp'].'" />
  25. <input name="masz'.$rekord['lp'].'" value="'.$rekord['name'].'" />
  26.  
  27. ';
  28. $rf = $mysqli->query("SELECT `RefK` FROM `referencje`");
  29. echo '<select name="expenses" >
  30. <option value="0" selected="selected"> Choose</option>';
  31. while($row = $rf->fetch_assoc()){
  32. // $id=$row["id_expense"];
  33. $category = $row["RefK"];
  34. echo '<option>'.$category.'</option>';
  35. }
  36.  
  37.  
  38. echo '</select></div>';
  39. }
  40.  
  41.  
  42.  
  43.  
  44. ?>
  45.  
  46.  
  47.  
nospor
@patwoj a po co to:
$ref = 'SELECT lp , refK FROM referencje ';
$rf = $mysqli->query($ref);
$r = $rf->fetch_assoc();

Skoro nic z tym nie robisz?

2) A po co w petli za kazdym razem od nowa wykonujesz zapytanie do bazy po referencje? Przeciez za kazdym razem pobierasz to samo... nie mozesz pobrać raz a potem z tego tylko korzystac?
patwoj98
1. Ta część kodu nie jest z mojej pracy, a z pracy osoby która pytała.

2. Mogło być inaczej, ale to szybko ogarniałem mu wink.gif
nospor
ad1) Tak, tylko ze ta osoba potem to wykorzystywala. Ty to wykorzystywanie wywaliles a kod zostawiles tworząc zbedne zapytanie
ad2) A potem ja sie dziwie skad ci początkujący biorą takie durnoty w kodach... a oni biorą to z forum :/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.