Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmienna nazwa zmiennej
MalyKazio
post
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Witam,

Nie jestem w stanie poradzić sobie sam z moim problem. Przestudiowałem manual tutaj ale niestety nie ruszyłem z miejsca. Chodzi mi o taką rzecz:
Pobieram dane z bazy danych.
  1. <?php
  2. $query = "SELECT * FROM tabela ".$zapytanie;
  3. $wynik = mysql_query($query);
  4. $z['znaleziono']=mysql_num_rows($wynik);
  5. ?>


I teraz chcę to wyświetlić. Problem w tym, że w zależności od ilości zwróconych rekordów chcę mieć albo zwykłą tablicę, w przypadku znalezienia jednego rekordu, albo tablicę numeryczną. Kod wygląda w skrócie tak:

  1. <?php
  2. while($row = mysql_fetch_array($wynik)) {
  3.   if($h['znaleziono']>1) {
  4.     // tutaj coś żeby wyświetlała się poprawna nazwa zmiennej.
  5.   }
  6.        $h['nr']=$row['nr'];
  7.        $h['organizacja']=$row['organizacja'];
  8. ?>

Powyższy kod jest ok, jeśli mam 1 rekord znaleziony. Jeśli jednak jest więcej rekordów to chciałbym zamiast $h mieć $h[$row['nr]]['nr], $h[$row['nr]]['organizacja'] itd. Ja zrobić żeby zastąpić to $h - w przypadku wystąpienia więcej niż jednego rekordu $h[$row['nr']]. Wiem, że mogę zrobić oddzielnie przypisane wartości jeśli znaleziono 1 rekord i oddzielnie jeśli więcej ale tych pól jest naprawdę sporo i nie ma sensu dublować kodu. Próbowałem na różne sposoby:
  1. <?php
  2. $w=$row['nr];
  3.    $h{$w}['nr']=$row['nr];
  4. ?>
i inne ale bez skutku.

Ten post edytował MalyKazio 2.12.2008, 22:52:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MalyKazio
post
Post #2





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Nie za bardzo tak mogę zrobić. Po pierwsze nie wszystkie zwracane w tablicy wartości odpowiadają tym z tabeli w bazie danych, np:
$h['nazwa']=przygotujtekst($row['nazwa);
albo
$h['costam']=$row['costam']*2 itp, itd.
dlatego nie mogę wykorzystać czegoś w rodzaju:
$return[$data['nr']] = $data;

Dlatego potrzebuję takiego cuda, które zwróci mi tablicę w postaci:
$h['nazwa']=przygotujtekst($row['nazwa']) - i inne pola podobnie - w przypadku gdy jest tylko jeden pobrany rekord.
Zaś w postaci:
$h[$row['nr]]['nazwa']=przygotujtekst($row['nazwa']) - jeśli pobranych rekordów będzie więcej.
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: 4.10.2025 - 12:50