Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak usunąć z ciągu ostatni przecinek?
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Dość często mam taki problem. Mam funkcję rekurencyjną, która zwraca mi jakiś tam ciąg.

Oto funkcja:
  1. function MapaGalezi($ParentID) {
  2.  
  3.  
  4. $result=mysql_query("SELECT id, pid, name FROM table WHERE pid = ".$ParentID." ORDER BY name, id");
  5.  
  6.  
  7. while ( $row = mysql_fetch_array($result) ) {
  8.  
  9. echo "['" . $row["id"] . "', '".$row["pid"]."'],<br />";
  10.  
  11. MapaGalezi($row["id"]);
  12.  
  13. }
  14. }
  15. MapaGalezi(1);


Zwracany ciąg:
['10902', '1'],
['10903', '10902'],
['10905', '10903'],
['10904', '10903'],
['10906', '10902'],
['4837', '1'],
['4886', '4837'],
['4887', '4837'],
['4885', '4837'],
['7770', '1'],

i problem jest taki, że chcę z ostatniej linijki ['7770', '1'], usunąc przecinek. Tylko nie wiem jak.

Ten post edytował miedzna 15.09.2009, 09:49:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
miedzna
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


ZMieniłem pętlę na :

  1. while ( $row = mysql_fetch_array($result) ) {
  2.  
  3. $string = substr("['" . $row["id"] . "', '".$row["pid"]."'],", 0, -1);
  4.  
  5. echo $string;
  6.  
  7. MapaGalezi($row["id"]);
  8.  
  9. }


i to usunęło wszystkie przecinki.
Go to the top of the page
+Quote Post
Fantazyn
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(miedzna @ 15.09.2009, 10:59:42 ) *
ZMieniłem pętlę na :

  1. while ( $row = mysql_fetch_array($result) ) {
  2.  
  3. $string .= substr("['" . $row["id"] . "', '".$row["pid"]."'],", 0, -1);
  4.  
  5. echo $string;
  6.  
  7. MapaGalezi($row["id"]);
  8.  
  9. }

Nie wyświetlaj wszystkiego jak leci, tylko połącz wszystkie wyniki do jednego stringa i dopiero odetnij przecinek.
  1. $string = '';
  2. while ( $row = mysql_fetch_array($result) ) {
  3.  
  4. $string. = "['" . $row["id"] . "', '".$row["pid"]."'],<br />";
  5.  
  6. MapaGalezi($row["id"]);
  7.  
  8. }
  9. $string = substr($string, 0, -1);


Lub skorzystaj z pętli for (oblicz, który element jest ostatni:
  1. $row[count[$row]-1]
i dopiero jemu odetnij przecinek.

Ps. Nie wiem co robi funkcja MapaGalezi, ale ogolnie nie powinnaś od razu wypluwać wszystkiego co przetworzy Ci php.

Edit: Poprawione , dziękuję za uwagę : ).

Ten post edytował Fantazyn 15.09.2009, 12:36:56
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 13:12