Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Array ze zmiennej
spit
post 28.09.2007, 20:51:17
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Cześć,
Chcę zrobić listę kategorii, którą pobieram z MySQL. Trzymam ją tam w formie "asd","sdd","ghk" itp. W tym celu posługując się przykładem manuala wycisnąłem z siebie coś takiego
  1. <?php
  2. $tabl = array("mike patton","fantomas","tomahawk");
  3. reset ($tabl);
  4. while (list(, $wartość) = each ($tabl)) {
  5. $wartośc = $wartość;
  6. $wartośc = str_replace (" ", "+", $wartość);
  7. echo "<li><a href=kategoria,$wartośc>$wartość;</a></li>"; }
  8. ?>
. I wszystko gra, ale tylko wtedy, gdy $tabl jest wpisana "ręcznie". Jeżeli dla tej zmiennej dam $rekord['kat'] (czyli pobiorę te wartości z bazy, o takim samym formacie), nie działa (wychodzi sama zawartość bazy, bez podzielenia). Co zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
jezoo
post 29.09.2007, 07:03:34
Post #2





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

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


pokaz w jaki sposob tworzysz ta tabele, tzn jak pobierasz z bazy i w jaki sposob je przypisujesz
Go to the top of the page
+Quote Post
matix
post 29.09.2007, 08:03:02
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Na 100% źle pobierasz dane z bazy mysql:

  1. <?php
  2. $host = '';
  3. $user = '';
  4. $pass = '';
  5. $database = 'tabela';
  6. $tabela = 'test';
  7.  
  8. $oDb = mysql_connect($host, $user, $pass);
  9.  
  10. if ($oDb)
  11. mysql_select_db($database);
  12.  
  13. $query = mysql_query('select * from '.$tabela);
  14.  
  15. while ($record = mysql_fetch_assoc($query))
  16. {
  17. echo $record[id].'<br/>';
  18. }
  19.  
  20. ?>


Pozdro tongue.gif

Ten post edytował matix 29.09.2007, 08:03:30


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
spit
post 29.09.2007, 10:21:56
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


  1. <?php
  2. $zapytanie = "SELECT a.*, COUNT(b.id) as ilosc_komentarzy FROM news a LEFT JOIN komentarze b ON (a.id = b.nid) GROUP BY a.id ORDER BY a.data DESC limit 0,5";
  3. $wynik = mysql_query($zapytanie) or die(mysql_error());
  4. while($rekord=mysql_fetch_array($wynik)) {
  5. $tagi = $rekord['kat'];
  6. $data = date("d M",strtotime($rekord["data"]));
  7. (...)
  8. <li><a href="#" class="open">tagi</a></li>
  9. </ul>
  10. <ul class="kom">';
  11. $tabl = array($tagi);
  12. reset ($tabl);
  13. while (list(, $wartość) = each ($tabl)) {
  14. $wartośc = $wartość;
  15. $wartośc = str_replace (" ", "+", $wartość);
  16. echo "<li><a href=\"kategoria,$wartośc\">$wartość;</a></li>"; }
  17. echo '<li><span class="closecat">schowaj</span></li></ul>
  18. </div>; }
  19. ?>

Nie wiem, co tu może być źle, wszystko prócz array działa. Dodam, że jeżeli zrobię to bez bazy, tj. zadeklaruję zmienną $tagi osobno przypisując jej wartości w takim formacie ("mike patton","fantomas","tomahawk"), też nie działa.
Go to the top of the page
+Quote Post
jezoo
post 29.09.2007, 16:07:47
Post #5





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

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


1) w skryptach PHP nie uzywa sie polskich znakow
2) $tagi zawsze masz rowne 1 czyli u Ciebie jest tylko $tagi[0] i nic pozatym. spr zrobic w ten sposob:
  1. <?php
  2. (...)
  3. while($rekord=mysql_fetch_array($wynik)) {
  4. $tagi[$i+=1] = $rekord['kat'];
  5. (...)
  6. ?>


Ten post edytował jezoo 29.09.2007, 16:08:08
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 - 10:13