Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Zliczanie tabel za pomocą pętli
Mostrom
post 5.09.2010, 15:47:34
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Witam! Mam w bazie danych tabele, które tworzę na stronie w miarę potrzeb. Są to przykładwo `users`, `klasa_1`, `klasa_2` i `klasa_3`. Chciałbym, aby na menu nawigacyjne na stronie miało tyle pozycji ile jest tabel z prefixem klasa_, czyli w tym wypadku 3. Dodatkowo, te pozycje w menu muszą mieć nazwę z tego co jest za prefixem.
Myślę, że najlepiej będzie to robić za pomocą pętli for z użyciem tablic.
Jak to zrobićquestionmark.gif

Ten post edytował Mostrom 5.09.2010, 15:48:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
kefirek
post 5.09.2010, 16:11:03
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. SHOW TABLES WHERE Tables_in_NAZWA_BAZY REGEXP '^klasa_[:1-9:]'


Ten post edytował kefirek 5.09.2010, 16:16:03
Go to the top of the page
+Quote Post
Mostrom
post 5.09.2010, 16:27:29
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Hmm może coś ja mam nie tak
  1. $query="SHOW TABLES WHERE Tables_in_dziennik REGEXP '^klasa_[:1-9:]'";
  2. mysql_query($query) or die (mysql_error());;
Go to the top of the page
+Quote Post
kefirek
post 5.09.2010, 16:35:38
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


No to dziwne bo u mnie działa.

  1. $result = mysql_query("SHOW TABLES WHERE Tables_in_dziennik REGEXP '^klasa_[:1-9:]'") or die (mysql_error());
  2. while ($data = mysql_fetch_assoc($result)){
  3. echo $data['Tables_in_test'].'<br>';
  4. }


Ten post edytował kefirek 5.09.2010, 16:36:20
Go to the top of the page
+Quote Post
Mostrom
post 5.09.2010, 17:03:22
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


dzięki już działa smile.gif

Jeszcze jedno. Potrzebuję mieć z tych wyników linki, dlatego wolałbym, żeby pokazywać je w pętli for. Ale może da się to zrobić inaczej? Napisałem coś takiego, co nei działa jak należy, bo do wszystkich elementów daje odnośnik do 0.php.
  1. $result = mysql_query("SHOW TABLES WHERE Tables_in_dziennik REGEXP '^klasa_[:1-9:]'") or die (mysql_error());
  2. while ($data = mysql_fetch_assoc($result)){
  3. $max=count($data);
  4. for($x=0;$x<$max;$x++){
  5. echo '<a href='.$x.'.php>'.$data['Tables_in_dziennik'].'<br>';
  6. }
  7. }

Go to the top of the page
+Quote Post
kefirek
post 5.09.2010, 17:21:31
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. $result = mysql_query("SHOW TABLES WHERE Tables_in_dziennik REGEXP '^klasa_[:1-9:]'") or die (mysql_error());
  2. while ($data = mysql_fetch_assoc($result))
  3. {
  4. echo "<a href='".substr(strstr($data['Tables_in_dziennik'], '_'), 1).".php'>".$data['Tables_in_dziennik']."</a></br>";
  5. }
Go to the top of the page
+Quote Post
Mostrom
post 5.09.2010, 17:26:21
Post #7





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


A czy nie wystarczy to?
  1. $result = mysql_query("SHOW TABLES WHERE Tables_in_dziennik REGEXP '^klasa_[:1-9:]'") or die (mysql_error());
  2. while ($data = mysql_fetch_assoc($result)){
  3. echo '<a href=/index.php?show='.$data['Tables_in_dziennik'].'>'.$data['Tables_in_dziennik'].'<br>';
  4. }
Go to the top of the page
+Quote Post
bastard13
post 5.09.2010, 17:33:18
Post #8





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Odpal sobie swój kod i kod, który wysłał ci kefirek i zobacz, czy ci wystarczy:)


--------------------
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: 19.07.2025 - 18:20