Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Drugi SELECT w foreach
przemokrosno
post 10.08.2009, 12:21:47
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


Witam
Napisałem skrypt który działa ale tylko do SELECT w instrukcji foreach (kod który się nie wykonuje zaznaczyłem /*):
  1. <?php
  2. include '../includes/common.inc.php';
  3. include '../includes/klasy.inc.php';
  4. include '../includes/students.inc.php';
  5. include '../includes/oceny.inc.php';
  6.  
  7. require_group(_TEACHER_GROUP);
  8. page_header();
  9. page_menu();
  10.  
  11. if (isset($_GET['success'])) { if ($_GET['success'] == 1) { $success = 'Oceny zapisano pomyślnie.'; } }
  12. ?>
  13.  
  14. <div id="content">
  15. <h2>Oceny</h2>
  16. <div id="breadcrumb"><a href="<?=$conf_settings['site_url']?>">Strona główna</a> -> <em>Oceny</em></div>
  17.  
  18. <?php if ($success) echo "<strong class=\"success\">$success</strong>"; ?>
  19.  
  20. <div style="clear: both;"></div>
  21.  
  22. <p>Witaj w systemie ocen. Tutaj możesz dodawać oceny, przeglądać i edytować oceny. Wybirz klasę i przedmiot w której zamierzasz wykonać te operacje.</p>
  23.  
  24. <?php
  25. if (authUserInGroup($_SESSION['username'], _TEACHER_GROUP)) { $classlist = classGetClassesByCreator($_SESSION['username']); // get array of classes since the beginning of time
  26. } elseif (authUserInGroup($_SESSION['username'], _ADMIN_GROUP)) { $classlist = classGetClassesAfterTime(0); }
  27.  
  28. if (empty($classlist)) { // no classes
  29. ?>
  30. W tej chwili nie ma dostępnych klas. Kliknij tutaj aby <a href="/klasy/new.php">utworzyć nową klasę</a>.
  31. <?php
  32. } else {
  33. ?>
  34. <div style="float: left;">
  35. <p>Wybierz przedmiot:</p>
  36. <p>
  37. <?php
  38. if (!empty($classlist)) {
  39. ?>
  40. <table cellpadding=5 class="classlist">
  41. <tr><th>Nazwa</th><th>Przedmioty Klasy</th></tr>
  42. <?php
  43. $i = 0;
  44. foreach ($classlist as $class)
  45. {
  46. $i++;
  47. if ($i % 2)
  48. echo '<tr class="even">';
  49. else
  50. echo '<tr class="odd">';
  51. echo '<td rowspan="15">' . $class['name'] . '</a></td>';
  52.  
  53. /*
  54.   $przedmiotlist = "SELECT * FROM `intra_classlesson` WHERE `classid` = '" .$classid. "' ";
  55.   if ($numToGet) { $przedmiotlist.='LIMIT $start, $numToGet'; }
  56.   $result=mysql_query($przedmiotlist) or die(mysql_error());
  57.   $return=array();
  58.   while ($row=mysql_fetch_assoc($result)) { $return[]=$row; } return $return;
  59.  
  60.  if (!empty($przedmiotlist)) {
  61.  echo "<pre>".print_r($przedmiotlist, true)."</pre>";
  62. $i = 0;
  63. foreach ($przedmiotlist as $przedmiot)
  64. {
  65. $i++;
  66.  
  67. $przedmiotinfo = ' SELECT lessonname FROM intra_lesson WHERE id="' .$przedmiot['przedmiotid'].'" ';
  68.   $result=mysql_query($przedmiotinfo) or die(mysql_error());
  69.   return mysql_fetch_assoc($result);
  70.  
  71. if ($i % 2) echo '<tr class="even">'; else echo '<tr class="odd">';
  72. echo '<td><a href="/oceny/do.php?classid='.$id.'&przedmiotid=' . $przedmiot['przedmiotid'] . '">'.$przedmiotinfo['lessonname'].'</a></td>';
  73. echo '</tr>';
  74. echo "\n";
  75. }
  76.  } else {
  77. ?><td>
  78. W tej chwili nie ma przedmiotów w tej klasie. Tutaj możesz <a href="addprzedmiot.php">dodać przedmiot do tej klasy</a>.</td>
  79. <?php
  80.  }
  81.  
  82. */
  83. echo '</tr>';
  84. echo "\n";
  85. }
  86. echo '</table>';
  87. }else {
  88. ?><td colspan="2">
  89. W tej chwili nie ma klas w bazie danych. Tutaj możesz <a href="newclass.php">utworzyć nową klasę</a>.</td>
  90. <?php
  91. }
  92. ?>
  93. </p>
  94. <div style="clear: both;"></div>
  95. <?php
  96. }
  97. ?>
  98. </div> <!-- content -->
  99. <?php
  100. page_footer();
  101. ?>


Co zrobiłem nie tak i dlaczego ten fragment kodu nie może sie wykonać? Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
sadistic_son
post 10.08.2009, 12:28:46
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Kolego a co ma sprawdzać ten warunek?
  1. if ($numToGet) {
Jeśli zmienna $numToGet co? I gdzie masz tę zmienną zdeklarowaną przed warunkiem? Nic się nie wykona w if'ie i dziwi mnie ze nie sypnęło Ci errorami.


Ten post edytował sadistic_son 10.08.2009, 12:30:31


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
kaem
post 10.08.2009, 12:32:31
Post #3





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Nie widzę, żebyś się gdzieś łączył z bazą danych. Chyba, że robisz to gdzieś w tych plikach, które dołączasz na początku?
Go to the top of the page
+Quote Post
przemokrosno
post 10.08.2009, 12:33:35
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


W takiej postaci jak jest teraz czyli z zakomentowanym kodem wykonuje się wszystko a przedmiotlist deklaruję przed if
Go to the top of the page
+Quote Post
Fifi209
post 10.08.2009, 12:34:54
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


  1. przedmiotlist = "SELECT * FROM `intra_classlesson` WHERE `classid` = '" .$classid. "' "


Zamiast $classid nie miało być $class['id'] ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
sadistic_son
post 10.08.2009, 12:36:03
Post #6





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


przedmiot list tak. Ale co sprawdza ten warunek? Czy istnieje zmienna? Jaką ma wartość? Nie, on nie sprawdza NIC.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
przemokrosno
post 10.08.2009, 12:47:02
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


Dodałem $numToGet=false, $start=1 ale nadal nic sadsmiley02.gif
Go to the top of the page
+Quote Post
sadistic_son
post 10.08.2009, 12:51:27
Post #8





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Ale gdzie masz zdeklarowane to $numToGet ?! Skąd skrypt ma widzieć czy on jest false czy true? Zresztą jak zmienna może być false albo true?


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Fifi209
post 10.08.2009, 12:52:01
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To może włącz pokazywanie błędów? Może parser czymś pluje? Może mysql_error na coś wskazuje ?

Myślisz, że my wróżki?

Ten post edytował fifi209 10.08.2009, 12:52:15


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
przemokrosno
post 10.08.2009, 12:59:39
Post #10





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


Włączyłem raportowanie błędów i nic. Skrypt nadal sięzatrzymuje przy tym SELECT i nic się nie dzieje. W innym pliku wyświetlam przedmioty ale tylko dla jednej klasy a tutaj dla wszystkich klas nie wyświetli
Go to the top of the page
+Quote Post
nospor
post 10.08.2009, 13:02:10
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no to moze ci sie zatrzymuje bo dales
return $return;
winksmiley.jpg


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Fifi209
post 10.08.2009, 13:02:44
Post #12





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(przemokrosno @ 10.08.2009, 12:59:39 ) *
Włączyłem raportowanie błędów i nic. Skrypt nadal sięzatrzymuje przy tym SELECT i nic się nie dzieje. W innym pliku wyświetlam przedmioty ale tylko dla jednej klasy a tutaj dla wszystkich klas nie wyświetli


Pytałem również o mysql_error...


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
przemokrosno
post 10.08.2009, 13:04:06
Post #13





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


Dostaję taką strukturę:
Array
(
[0] => Array
(
[id] => 4
[userId] => admin
[name] => I LO
[userCreateDate] => 2009-06-14 13:24:58
[userUpdateDate] => 2009-06-14 13:24:58
)

[1] => Array
(
[id] => 2
[userId] => admin
[name] => II LO
[userCreateDate] => 2009-06-14 13:23:32
[userUpdateDate] => 2009-06-14 13:23:32
)

[2] => Array
(
[id] => 3
[userId] => admin
[name] => III LO
[userCreateDate] => 2009-06-14 13:23:47
[userUpdateDate] => 2009-06-14 13:23:47
)

[3] => Array
(
[id] => 5
[userId] => admin
[name] => I TP
[userCreateDate] => 2009-06-14 13:25:13
[userUpdateDate] => 2009-06-14 13:25:13
)

[4] => Array
(
[id] => 6
[userId] => admin
[name] => II TP
[userCreateDate] => 2009-06-14 13:25:23
[userUpdateDate] => 2009-06-14 13:25:23
)

[5] => Array
(
[id] => 7
[userId] => admin
[name] => III TP
[userCreateDate] => 2009-06-14 13:25:43
[userUpdateDate] => 2009-06-14 13:25:43
)

[6] => Array
(
[id] => 8
[userId] => admin
[name] => IV TP
[userCreateDate] => 2009-06-14 13:25:55
[userUpdateDate] => 2009-06-14 13:25:55
)

[7] => Array
(
[id] => 9
[userId] => admin
[name] => I TI
[userCreateDate] => 2009-06-14 13:26:06
[userUpdateDate] => 2009-06-14 13:26:06
)

[8] => Array
(
[id] => 10
[userId] => admin
[name] => II TI
[userCreateDate] => 2009-06-14 13:31:13
[userUpdateDate] => 2009-06-14 13:31:13
)

[9] => Array
(
[id] => 11
[userId] => admin
[name] => III TI
[userCreateDate] => 2009-06-14 13:31:27
[userUpdateDate] => 2009-06-14 13:31:27
)

[10] => Array
(
[id] => 17
[userId] => admin
[name] => I TI
[userCreateDate] => 2009-07-17 14:03:28
[userUpdateDate] => 2009-07-17 14:03:28
)

)
Wybierz przedmiot:

4
Array
(
[0] => Array
(
[przedmiotid] => 15
)

[1] => Array
(
[przedmiotid] => 14
)

[2] => Array
(
[przedmiotid] => 12
)

)
ale nic się nie wyświetla dalej
Go to the top of the page
+Quote Post
Fifi209
post 10.08.2009, 13:06:42
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


  1. if (!empty($przedmiotlist)) {


A nie is_array ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
przemokrosno
post 10.08.2009, 13:10:44
Post #15





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


W końcu zadziałało Wielkie dzięki. Pomogło to:Zamiast $classid nie miało być $class['id'] ?

Ten post edytował przemokrosno 10.08.2009, 13:40:56
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 Wersja Lo-Fi Aktualny czas: 20.07.2025 - 02:02