Cytat(hola777 @ 25.10.2011, 11:34:13 )

WItam
Problem jest następujący
napisałem klasę która ma rysować tabele z danymi
operacja ($tabe, nagłówki, pola)
Wszystko działa lecz chciałem dodać jeszcze wykonywanie funkcji do pola
operacja ($tabela, "nagłówek1;nagłówek2;nagłówek3;nagłówek4;..","pole1;pole2;dzałanie(zamien)=pole3;pole4;...")
";" i "=" to separatory
jest możliwość aby ciąg znaków dzałanie(zamien)=pole3 po zamianie dzałanie(pole3) się wykonał
np: substr(zamien,0,100)=text
niestety wyświetla mi się jako ciąg znaków
Pomysł dobry jednak w tym wypadku nieprzydatny.
Trochę objaśnię sytuacje, poprzedni może nie podałem wszystkich informacji.
Wywołanie operacji klasy
operacja ($tabela, "nagłówek1;nagłówek2;nagłówek3;nagłówek4;..","pole1;pole2;dzałanie(zamien)=pole3;pole4;...")
zamiewniłem tylko "=" na "**" (to jakby w działaniu było przypisanie)
operacja ($tabela, "nagłówek1;nagłówek2;nagłówek3;nagłówek4;..","pole1;pole2;dzałanie(zamien)**pole3;pole4;...")
pole1, pole2... to tylko nazwy pola tablicy - $tabela
A oto klasa
class listuj extends szukaj_w_bazie
{
var $rezultat_l;
function lista($tabela, $pola, $dane){
$tkol = 0;
$ile_t = $tabela-> num_rows;
//echo $ile_t;
$tabela_t = '<table width = "100%"><tr bgcolor = "#7b8487">';
for($iq=0;$iq<count($pole);$iq++)
{
$tabela_t = $tabela_t.'<td><b>'.$pole[$iq].'</b></td>';
}
$tabela_t = $tabela_t.'</tr>';
for($ii=0;$ii < $ile_t ; $ii++)
{
$tabela_w = $tabela -> fetch_assoc();
if ($tkol == 0){
$tabela_t = $tabela_t.'<TR BGCOLOR="'.WIERSZ_C.'">';
$tkol = 1;
}else {
$tabela_t = $tabela_t.'<TR BGCOLOR="'.WIERSZ_J.'">';
$tkol = 0;
}
for($iw=0;$iw < count($dane1) ; $iw++){ if (strstr($dane1[$iw],"**")){ $dzialanie = explode ("**",$dane1[$iw]); //$new_pole = str_replace("zamien",$tabela_w[$dane1[$dzialanie [1]]], $dzialanie[0]);
$new_pole = str_replace("zamien",$tabela_w[$dzialanie [1
]], $dzialanie[0
]); //echo '--0--'.$dzialanie [0] .'--1--'. $dzialanie [1] .'--new--'.$new_pole;
$tabela_t = $tabela_t."<td>".$new_pole."</td>";
}else{
$tabela_t = $tabela_t.'<td>'.$tabela_w[$dane1[$iw]].'</td>';
}
}
$tabela_t = $tabela_t.'</tr>';
}
$tabela_t = $tabela_t.'</table>';
$this -> rezultat_l = $tabela_t;
}
}
Ponieważ wszystko jest w pętli przebiegającej przez
$tabela nie mogę wykonać funkcji na
pole3 bo nie jest to odwołanie do danych a tylko nazwa pola tabeli
$tabela