Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak zdanie - string przekształcić na tablicę array, String - tekst podzielony jest przecinkami, jak zamienić na tablicę ?
lukaszrw
post 30.06.2011, 21:14:53
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

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


  1. $i_prod = "60, 62, 70, 80, 205, 206";
  2. $produkty = array($i_prod);
  3.  


Oczywiście $i_prod jest stringiem składającym się z pojedynczych numerów poprzedzielanych przecinkami.
Jak zamienić ten string na tablicę array, tak aby każdy numer - pozycja była kolejnym wierszem tablicy ?

oczekiwany wynik:
$produkty[0] = 60;
$produkty[1] = 62;
$produkty[2] = 70;
$produkty[3] = 80;
$produkty[4] = 205;
$produkty[5] = 206;
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Fifi209
post 30.06.2011, 21:15:50
Post #2





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

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


explode

  1. $tablica = explode(', ', $string);


--------------------
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
lukaszrw
post 30.06.2011, 21:54:09
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

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


faktycznie explode() rozwiązało problem exclamation.gif! serdecznie dziękuję!

  1. $i_prod = "60, 62, 70, 80, 205, 206";
  2. $tablica = explode(', ', $i_prod);
  3. print_r($tablica);
  4.  
  5. $ix = 0;
  6. while(each($tablica)){
  7. echo $tablica[$ix] . "|";
  8. if($ix == 0){
  9. $ee = "";
  10. }else{
  11. $ee = " OR";
  12. }
  13. $select_id = $select_id.$ee." id_produkty = ".$tablica[$ix]." ";
  14. $ix++;
  15. }
  16. $ix = Null;
  17.  
  18. mysql_select_db($database_moja, $moja);
  19. $query_rs_produkty = "SELECT id_produkty, produkty_foto, produkty_nazwa_pl FROM tb_produkty WHERE ".$select_id." ORDER BY id_prod_kategorie ASC";
  20. $rs_produkty = mysql_query($query_rs_produkty, $moja) or die(mysql_error());
  21. $row_rs_produkty = mysql_fetch_assoc($rs_produkty);
  22. $totalRows_rs_produkty = mysql_num_rows($rs_produkty);
  23.  

  1. <tr>
  2. <td>id</td>
  3. <td>nazwa</td>
  4. <td>obrazek</td>
  5. </tr>
  6. <?php do { ?>
  7. <tr>
  8. <td><?php echo $row_rs_produkty['id_produkty']; ?></td>
  9. <td><?php echo $row_rs_produkty['produkty_nazwa_pl']; ?></td>
  10. <td><?php echo $row_rs_produkty['produkty_foto']; ?></td>
  11. </tr>
  12. <?php } while ($row_rs_produkty = mysql_fetch_assoc($rs_produkty)); ?>

Kod działa już poprawnie, ale czy jest to jego poprawna składnia questionmark.gif?
Szczególnie chodzi mi o poprawność instrukcji SQL:
"SELECT id_produkty, produkty_foto, produkty_nazwa_pl FROM tb_produkty WHERE ".$select_id." ORDER BY id_prod_kategorie ASC";
... do której wstawiłem mój wynik: $select_id
Go to the top of the page
+Quote Post
markonix
post 30.06.2011, 22:08:16
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Tak, można dodać `kolumna` czyli:
  1. SELECT `id_produkty`, `produkty_foto`, `produkty_nazwa_pl` FROM `tb_produkty` WHERE ".$select_id." ORDER BY `id_prod_kategorie` ASC


Ale PHP bym troszkę poprawił:

  1. $res = mysql_query("SELECT `id_produkty`, `produkty_foto`, `produkty_nazwa_pl` FROM `tb_produkty` WHERE ".$select_id." ORDER BY `id_prod_kategorie` ASC");
  2. $row_rs_produkty = mysql_fetch_assoc($res);
  3. $totalRows_rs_produkty = mysql_num_rows($res);


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 30.06.2011, 22:14:05
Post #5





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

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


Cóż to za warunek?

WHERE wartość ORDER BY

Gdzie wartość Posortuj


--------------------
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
lukaszrw
post 30.06.2011, 23:04:12
Post #6





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

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


Ta moja dziwna składnia PHP pochodzi z Dreamwavera CS4, trochę nadmiarowy kod, ale sporo upraszcza.
Go to the top of the page
+Quote Post
Fifi209
post 30.06.2011, 23:08:02
Post #7





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

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


Nie rozumiem co ma zapytanie do Dreamwavera?


--------------------
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
markonix
post 1.07.2011, 08:35:30
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Cytat(Fifi209 @ 30.06.2011, 23:14:05 ) *
Cóż to za warunek?

WHERE wartość ORDER BY

Gdzie wartość Posortuj


On ma w tej zmiennej przecież nazwę kolumny więc te WHERE jest prawidłowe wink.gif


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 1.07.2011, 10:14:32
Post #9





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

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


GDZIE `kolumna` POSORTUJ

;]

Ten post edytował Fifi209 1.07.2011, 10:14:41


--------------------
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
lukaszrw
post 1.07.2011, 19:34:05
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

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


Nie wiem o co chodzi, rekordy są wybrane z tabeli i ustawione w kolejności: ORDER BY id_prod_kategorie ASC,
więc jak mam posortować recordy w kolumnach questionmark.gif?

Po to właśnie zadałem pytanie na forum aby się dowiedzieć jak to zrobić.

Jeśli w kategorii forum: "Przedszkole" nie możesz pomóc, to trudno, może ktoś inny powie mi o co Ci chodzi.

Ten post edytował lukaszrw 1.07.2011, 23:31:07
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: 14.08.2025 - 09:22