Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porcjowanie do kilku zmiennych
Forum PHP.pl > Forum > Bazy danych > MySQL
Impertynet
Witam

Mam w bazie kolumne p_wiadomosci i w niej znajduja sie tytuly wiadomosci Tytul1Tytul2Tytul3 i chcialbym aby dane z tej kolumny byly zapisywane w osobnych zmiennych, czyli
$a = Tytul1
$b = Tytul2
Czy da sie porcjowac wyniki w takiej formie?
prond
Tak, da radę, zapytam tylko z ciekawości : po co ?

  1. <?php
  2. $vars = array();
  3. $i = 97; //a
  4. while($row = mysql_fetch_assoc($res)) {
  5. $vars[chr($i++)] = $row['p_wiadomosci'];
  6. //zabezpiecz sie przed wskoczeniem w dziwne znaczki (poza ASCII)
  7. }
  8. extract($vars);
  9. ?>
webdice
~prond autor postu chciał stworzyć zmienne, a nie tablice z indeksami

  1. <?php
  2. $tmp = chr($i++);
  3.  
  4. $$tmp = $row['p_wiadomosci'];
  5. ?>


Chociaż tablice są dużo lepszym rozwiązaniem.
Impertynet
teoretycznie to dziala, ale jest taki problem ze w jednej zmiennej jest przypisana cala wartosc kolumny, wiec praktycznie nic mi to nie daje
(chyba ze zle cos robie)
webdice
Nie bardzo wiem o co Ci chodzi, pokaż kod.
Impertynet
  1. <?php
  2. $vars = array();
  3. $i = 1; 
  4. $pytanie = "SELECT xxx FROM xxx WHERE nick='$nick'";
  5. $res = mysql_query($pytanie);
  6. while($row = mysql_fetch_assoc($res)) {
  7. echo ''.$vars[chr($i++)] = $row['xxx'].'<br><br>';
  8. }
  9. ?>


Przypomne ze mam kolumne w ktorej jest kilka informacji i chcialbym aby kazda z nich zostala przyporzadkowana osobnej zmiennej, moze byc rowniez w tablicy, chodzi mi o sam efekt
webdice
Zamiast:

  1. <?php
  2. echo ''.$vars[chr($i++)] = $row['xxx'].'<br><br>';
  3. ?>


daj:

  1. <?php
  2. $vars[chr($i++)] = $row['xxx'];
  3. ?>


A następnie na tablicy vars operuj funkcją foreach" title="Zobacz w manualu PHP" target="_manual.

P.S. Po co chcesz przypisywać to do zmiennych skoro wyświetlasz to w pętli?
Impertynet
Oto rezultat:
  1. <?php
  2. Wynik: Wynik1 Wynik2
  3. ?>


Moze zla terminologia sie podlugiwalem, wiec sprobuje to tak wytlumaczyc:
__________
| nick|Wyniki |
| |Wynik1|
|Aga |Wynik2|
|____|______|

i chcialbym aby:
$a = wynik1
$b = wynik2

Jezeli da sie w inny sposob niz w petli to bedzie 'fajnie'
webdice
  1. <?php
  2. $i = 97;
  3.  
  4. while ($row = mysql_fetch_assoc ($query))
  5. {
  6. ${chr(i++)} = $row['p_wiadomosci'];
  7. }
  8. ?>
prond
~webdicepl Napisałem ładowanie danych najpierw do tablicy, a potem do zmiennych poprzez extract ponieważ nie bardzo ufam {}. Już w kilku przypadkach jest, bądź zapowiadają, że będzie depraciated.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.