Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]tablica z czterema kolumnami - współpraca MYSQL i PHP
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam.
Mam problem polegający na przełożeniu do tabeli, którą sobie wymyśliłem 4 kolumnową zapytania z MYSQLa.
tabela ma wyglądać w ten sposób
  1. echo "<table class=\"rez\" id=\"rez\"><tr>
  2. <td style=\" border 1 px\">
  3. <td>Nazwa badania</td><td></td><td>Nazwa badania</td><td></td><td>Nazwa badania</td><td></td><td>Nazwa badania</td></tr>";

Tam gdzie są puste komórki miałyby się znaleźć checkboxy, które przesyłały by id na podstawie zapytania sql do skryptu który coś tam liczy.
Udało mi się wymyślić jak wsadzić to do tabeli z dwoma kolumnami. Uczyniłem to w ten sposób:
  1. $sql='select id_bad, nazwa_bad from badania order by 1 asc';
  2. $rez = mysqli_query($mysqli, $sql);
  3. while ($rekord = mysqli_fetch_array($rez, MYSQLI_ASSOC)) {
  4. $badanie = $rekord['nazwa_bad'];
  5. $id_bad=$rekord['id_bad'];
  6. var_dump($id_bad);
  7. if($id_bad%2==0){
  8. $id_bad_odd=$id_bad-1;
  9. $sql4="select nazwa_bad from badania where id_bad=$id_bad_odd order by 1 asc";
  10. $rez4 = mysqli_query($mysqli, $sql4);
  11. while ($rekord4 = mysqli_fetch_array($rez4, MYSQLI_ASSOC)){
  12. $badanie_odd=$rekord4['nazwa_bad'];
  13.  
  14. echo "<tr><td><input type=\"checkbox\" name=\"id_bad[]\" value=\"$id_bad_odd\"</td><td>$badanie_odd</td>
  15. <td><input type=\"checkbox\" name=\"id_bad[]\" value=\"$id_bad\"</td><td>$badanie</td></tr>";
  16. }}
  17. }
  18. "<td colspan=7><input type=\"submit\" name=\"Licz_bad\" target=\"_blank\" value=\"Oblicz cenę\">
  19. <input type=\"reset\" name=\"Czysc\" value=\"Anuluj wybór\"></td></tr></table></form>";

I to działa, ale mnie nie satysfakcjonuje. Chciałbym aby były 4 kolumny z nazwami badań.
Próbowałem kombinować z ifami, ale wychodzą mi jakieś kompletne bzdury. Na pętli for w ogóle mi się zawiesza, a poza tym prowadzi w pewnym momencie do powtarzania się poszególnych id_bad.
Czy ma ktoś jakiś pomysł jak to rozdzielić.
Z góry dzięki za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
kpt_lucek
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zakładając że zapytanie zwraca Ci dane których potrzebujesz, możesz zrobić coś takiego:
(przykład MySQL'owy)
  1. <?php
  2. $zmienna = "test";
  3. $sql = mysql_query("SELECT * FROM `MOJA_TABELA` WHERE `KOL1` ='".$test."' ORDER BY `ID` DESC");
  4. ?>
  5. <table>
  6. <tr>
  7. <th>
  8. Nagłówek 1
  9. </th>
  10. <th>
  11. Nagłówek 2
  12. </th>
  13. <th>
  14. Nagłówek 3
  15. </th>
  16. <th>
  17. Nagłówek 4
  18. </th>
  19. </tr>
  20. <?php
  21. while($each = mysql_fetch_array($sql, MYSQL_ASSOC))
  22. {
  23. ?>
  24. <tr>
  25. <td>
  26. <input type="checkbox" name="check['<?php echo $each['ID'];?>'][]" value="<?php echo $each['KOL1'];?>"/>
  27. </td>
  28. <td>
  29. <input type="checkbox" name="check['<?php echo $each['ID'];?>'][]" value="<?php echo $each['KOL2'];?>"/>
  30. </td>
  31. <td>
  32. <input type="checkbox" name="check['<?php echo $each['ID'];?>'][]" value="<?php echo $each['KOL3'];?>"/>
  33. </td>
  34. <td>
  35. <input type="checkbox" name="check['<?php echo $each['ID'];?>'][]" value="<?php echo $each['KOL4'];?>"/>
  36. </td>
  37. </tr>
  38. <?php
  39. }
  40. ?>
  41. </table>


Teraz kwestia typu, jeżeli chcesz mieć 4 checkboxy w formacie:
  1. <tr>
  2. <td>
  3. <input type="checkbox" name="checkbox[]" value="wartoscx"/> Opis mojego Checkboxa 1
  4. </td>
  5. <td>
  6. <input type="checkbox" name="checkbox[]" value="wartoscy"/> Opis mojego Checkboxa 2
  7. </td>
  8. <td>
  9. <input type="checkbox" name="checkbox[]" value="wartoscz"/> Opis mojego Checkboxa 3
  10. </td>
  11. <td>
  12. <input type="checkbox" name="checkbox[]" value="wartoscq"/> Opis mojego Checkboxa 4
  13. </td>
  14. </tr>


Ale pewnie jak zwykle nie zrozumiałem problemu smile.gif
Jeżeli tak jest to opisz proszę "inaczej"


~Lucek

Ten post edytował kpt_lucek 7.08.2013, 17:57:21


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:55