Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]ID z tabeli przekazywane w linku po kliknięciu w nią
Forum PHP.pl > Forum > Przedszkole
x X x
Mógłby mi ktoś doradzić jak do poniższego kodu dopisać odnośnik, który po kliknięciu w wybraną wartość przeniesie mnie do strony add_form2.html i pobierze ze sobą wartość class_id ?

Oto kod:

  1. <?php foreach($Result as $Pass) : ?>
  2. <tr>
  3. <td name="id">
  4. <?php echo $Pass['class_id']; ?>
  5. </td>
  6. <td name="zajecia">
  7. <span id="class_id-<?php echo $Pass['class_id']; ?>"><?php echo $Pass['y_name']; ?> - "<?php echo $Pass['sb_name']; ?>" (<?php echo $Pass['ct_name']; ?>)</span>
  8. </td>
  9. </tr>
  10. <?php endforeach; ?>
nospor
No to linka nie umiesz juz zbudowac?
<a href="twojastrona z classid">link</a>
x X x
Przecież to nie o to chodzi... Tam jest X wyników, klikam w wybrany i muszę na kolejnej stronie pobrać id wybranego... Nazwy wszystkie są podane.
nospor
No to rpzeciez ci mowie.... budj linka ze swoim ID.... przeciez je znasz :/

<?php echo '<a href="blavbla?id='.$Pass['class_id'].'">$Pass['class_id']</a>'; ?>
timon27
getem:
<a href="add_form2.php?class=<?php echo $Pass['sb_name']; ?>">LINK</a>

to musi być php a nie html, bo jak niby odbierzesz/wykorzystasz zmienną.
x X x
Właśnie o to mi chodziło, o składnie jak to zapisać. Dzięki. Możecie jeszcze poprawić to, co napisałem? Bo nie działa mi to:

  1. <span id="class_id-<?php echo $Pass['class_id']; ?>"><?php echo '<a href="add_form2.html?cl_id='.$Pass['class_id'].'">;'echo $Pass['y_name'];.' - '.echo $Pass['sb_name'];.' ('.echo $Pass['ct_name'];.')'</a> ?></span>


Chcę aby wewnątrz linku wyświetlały się wartości: y_name, sb_name, ct_name.

Na razie dostaję tylko:

Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in /Applications/XAMPP/xamppfiles/htdocs/AnkietyCore/Modules/Passes/add_form.html on line 25
Turson
Poczytaj jak się łączy dane, bo na pewno nie echo, a forum to nie parser
x X x
Oke, udało mi się to napisać:

  1. <span id="class_id-<?php echo $Pass['class_id']; ?>"><a href="Passes/add_form2.php?cl_id=<?php echo $Pass['class_id']; ?>"><?php echo $Pass['y_name'];?> - <?php echo $Pass['sb_name'];?> (<?php echo $Pass['ct_name'];?>)</a></span>


Tylko teraz mam takie pytanie jeszcze. Bo w planach miałem, jak widać, otwieranie nowej podstrony. Czy dużo by było roboty (pisania ręcznie lub może skorzystania z gotowego skryptu z JQUERY, tudzież za pomocą ajaxa) aby po kliknięciu w wybrany przedmiot (niekoniecznie muszą się one wyświetlać w tabeli, tylko np. jeden po drugim) poniżej pokazywał się formularz dodawania ocen (wykonywało się zapytanie dopasowujące studentów, gdy class_id=x), po którego zatwierdzeniu wykonuje się polecenie insert, a formularz znika?

Edit 15.03:

Oto jak chciał bym to zrobić.

Aktualnie tak wygląda moja tabelka, która wyświetla dostępne przedmioty nauczyciela:

https://www.dropbox.com/s/fks6b5hlinqzq0q/Z...%2016.52.06.png

Po kliknięciu na wybrany przedmiot (który może być linkiem i przekierowywać do innej strony, ewentualnie jeżeli można inaczej to inaczej) pod nazwą rozwija się widoczna tabela i wyświetla formularz ze studentami (imie studenta, pole na ocenę, komentarz, datę), który zatwierdza się przyciskiem ZAPISZ (powoduje on wywołanie polecenia INSERT INTO...), po kliknięciu ZAPISZ wyświetlony formularz chowa się.

Dobrze by było, aby po ponownym kliknięciu w przedmiot formularz wyświetlał się z pustymi polami.

Może jakieś rady? Szukam takiego skryptu, na razie coś tam mam ale nie działa jeszcze tak jak należy.

Chyba wykorzystam do tego skrypty Bootstrap.

EDIT 18.03:

  1. <div id="result-box" class="box">
  2. <div class="box-header">
  3. Wybierz przedmiot, do którego chcesz dodać nowe oceny
  4. </div>
  5. <div class="box-content">
  6. <?php if(!empty($Result_emp)) : ?>
  7. <?php foreach($Result_emp as $P_emp) : ?>
  8. <tr>
  9. <td colspan="5" style="text-align: center">
  10. <button type="button" style="width:1000px" class="showhide"><?php echo $P_emp['y_name'];?> - <b><?php echo $P_emp['sb_name'];?> (<?php echo $P_emp['ct_name'];?>)</b></button>
  11. </td>
  12. </tr>
  13.  
  14. <table class="slidediv">
  15. <tr>
  16. <th width="120px">STUDENT</th>
  17. <th width="55px">ID ZAJĘĆ</th>
  18. <th width="50px">OCENA</th>
  19. <th width="144px">DATA</th>
  20. <th>KOMENTARZ</th>
  21. </tr>
  22.  
  23. <?php foreach($Result_stud as $P_stud) : ?>
  24. <form class="validate" method="post" action="Passes/Add/">
  25. <!--<table>-->
  26. <tr>
  27. <th name="student" width="120px">
  28. <?php echo $P_stud['s_id'].' - '.$P_stud['s_name']; ?>
  29. </th>
  30.  
  31. <th name="id_zajec" width="55px">
  32. <?php echo $P_stud['cl_id']; ?>
  33. </th>
  34.  
  35. <td name="ocena" width="40px">
  36. <input type="text" name="pass" style="height: 20px" value="<?php echo (isSet($_POST['pass'])) ? $_POST['pass'] : '' ?>"/>
  37. </td>
  38.  
  39. <td name="data" width="130px">
  40. <input type="date" placeholder="RRRR-MM-DD" name="pass_date" style="height: 22px" value="<?php echo (isSet($_POST['pass_date'])) ? $_POST['pass_date'] : '' ?>"/>
  41. </td>
  42.  
  43. <td name="komentarz">
  44. <input type="text" name="comments" style="height: 20px" value="<?php echo (isSet($_POST['comments'])) ? $_POST['comments'] : '' ?>"/>
  45. </td>
  46. </tr>
  47. <?php endforeach; ?>
  48. <tr class="line">
  49. <td colspan="5"><input type="submit" class="button" value = "Dodaj"/>
  50. </tr>
  51. </form>
  52. </table>
  53. </table>
  54. <?php endforeach; ?>
  55. <?php else : ?>
  56. </br><div class="message info">W chwili obecnej, w systemie nie ma żadnego prowadzonego przez Ciebie przedmiotu.</div>
  57. <?php endif; ?>
  58. </div>
  59. <div class="box-footer">
  60. </div>
  61. </div>
  62. <script type="text/javascript">
  63. $(function(){
  64. $('.showhide').click(function(){
  65. $(".slidediv").slideToggle();
  66. });
  67. });
  68. <style type="text/css">
  69. .slidediv{
  70. display:none;
  71. }


Troche się pobawiłem i udało mi się napisać to tak jak chciałem: na stronie wyświetlają się jako przyciski przedmioty nauczyciela. Po kliknięciu w któryś rozwija się tabela z uczniami. Tylko że na razie po kliknięciu rozwijają mi się tabele pod każdym przyciskiem, dlatego że to wszystko siedzi w pętli foreach. Jak to zedytować aby wyświetlała się tabela tylko pod wybranym przyciskiem. Dodam, że przycisków może być oczywiście X, w zależności od tego ile zajęć prowadzi nauczyciel.

Kolejne pytanie: po kliknięciu w wybrane zajęcia (przycisk) chcę aby przekazywana była zmienna cl_id (dzięki której wyświetlane są dane na przycisku) do zapytania pobierającego studentów. Jak to zrobić i czy owo zapytanie muszę umieścici w pliku, który zamieściłem, czy może być przekazywane to do innego pliku (tego, w którym siedzi zapytanie pobierające zajęcia prowadzącego)? Proszę o rady i pomoc.
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.