Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmienna deklarowana zawczesnie. Minimum kodu.
stach
post 13.01.2004, 13:29:40
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 15.02.2003
Skąd: Ziemia

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


Napisalem taka funkcje

[php:1:513159390b]<?php
function get_menu_location($domenu,$funkcja,&$db)
{
$sql[] = 'SELECT Menu_dzial,Menu_nazwa FROM '.TABELA_MENU.' WHERE Menu_id = ''.$domenu.''';
$zmienna[] = 'menu';
$wyciagnij[] = array('Menu_dzial','Menu_nazwa');

$sql[] = 'SELECT Dzial_nazwa FROM '.TABELA_MENU_DZIAL.' WHERE Dzial_id = ''.$menu['Menu_dzial'].''';
$zmienna[] = 'dzial';
$wyciagnij[] = 'Dzial_nazwa';

$sql[] = 'SELECT Podmenu_nazwa FROM '.TABELA_PODMENU.' WHERE Podmenu_id = ''.$funkcja.''';
$zmienna[] = 'podmenu';
$wyciagnij[] = 'Podmenu_nazwa';

for ($i=0;$i<sizeof($sql);$i++) {
if( !($result = $db->sql_query($sql[$i])) )
{
die('ERR. Bazy '.__FILE__.' '.__LINE__);
}

if ($row = $db->sql_fetchrow($result))
{
do
{
$_temp[] = $row;
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
}
for ($j=0;$j<sizeof($_temp);$j++) {
if (is_array($wyciagnij[$i])) {
foreach ($wyciagnij[$i] as $key=>$val) {
${($zmienna[$i])}[$val] = $_temp[$j][$val];
}
}
else {
${($zmienna[$i])}[$wyciagnij[$i]] = $_temp[$j][$wyciagnij[$i]];
}
}
unset($_temp);
}
} // end func
?>[/php:1:513159390b]

Jej zadaniem jest wyciagniecie uzywanego w tym momencie dzialu, menu i podmenu, problem jest w linijce 8. Jak widac musze wykozystac zmienna pobrana pozniej, ale niechce pisac kolejnej procedury zapytania do sql. Moje pytanie jakbyscie tego dokonali bez powtarzania calej procedury sql_query ?


--------------------
Warsztat: IIS 6.0 | PHP 4.3.10 && 5.0.3 | MySQL 4.1.9 | Smarty 2.6.7 | PEAR | EditPlus 2
Produkcja: FlipTiM
Go to the top of the page
+Quote Post

Posty w temacie


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: 31.07.2025 - 08:02