Autor Zpráva
Ihmo
Profil *
Ahoj,
Ahoj,
chci se zeptat, kdyz mam vlastni funkci, a potrebuji v ni mit vice sql dotazu a
vice vysledku, jak to mam napsat? Tohle mam funkci s jednim vysledkem a kdyz
potrebuji treba tri vysledky ze tri sql dotazu??

function Pocet() {
$sql = 'SELECT count(`id`) FROM `indl` ';
$vyber = $GLOBALS['db']->query($sql);
list($id) = $vyber->fetch_array();
$vyber->free();

return $pocet = $id;
}


dekuji
Jan Tvrdík
Profil
Ihmo
Nechápu přesně kde máš problém resp. možná ani nechápu, čeho chceš dosáhnout. Pokud potřebuješ vrátit více hodnot, tak vrať pole těch hodnot.
Ihmo
Profil *
No jak nechapes? Jak to myslis? Jedna se o to, ze potrebuji aby ta funkce zjistila naraz nejake tri sql dotazy a vysledky pak nejaku ulozila do promenych a pak to nejakym zpusobem mohl jednotlive promene pres tu jednu funkci vypsat..

Diky
Harwen
Profil
Co třeba dát do tý funkce tři dotazy?
Ihmo
Profil *
Co třeba dát do tý funkce tři dotazy?

Ano, tri dotazy tam samozrejme budou, ale kazdy dotaz bude mit svou promenou a tu nevim jak nadefinovat v te funkci a jak ji pak vypsat tu promenou, jelikoz budemit kazda jinou hodnotu..
Jan Tvrdík
Profil
Ihmo
Pořád nechápu, kde je problém. Podle mě stačí použít pole.
Ihmo
Profil *
Podle mě stačí použít pole.

No ale nevim jak :-(
Jan Tvrdík
Profil
Ihmo
Pořád platí to samé: nechápu tvůj problém :), ale přesto posílám kus kódu:
<?php
function pocet() { 
	$vysledek = array();

	$sql = 'SELECT count(`id`) FROM `t1` '; 
	$vyber = $GLOBALS['db']->query($sql); 
	list($pocet) = $vyber->fetch_array();
	$vysledek[] = $pocet; 
	$vyber->free(); 
	
	$sql = 'SELECT count(`id`) FROM `t2` '; 
	$vyber = $GLOBALS['db']->query($sql); 
	list($pocet) = $vyber->fetch_array();
	$vysledek[] = $pocet; 
	$vyber->free(); 
	
	$sql = 'SELECT count(`id`) FROM `t3` '; 
	$vyber = $GLOBALS['db']->query($sql); 
	list($pocet) = $vyber->fetch_array();
	$vysledek[] = $pocet; 
	$vyber->free(); 
	
	return $vysledek;
}
?>
Ihmo
Profil *
Ahoj,
presne jsi se trefil, a jaky bude vysledek? Kdyz mas stejne pojmenovanou promenou?

ted kdyz zadam

pocet ();

tak se vypise co? Tohle je presne muj problem..

diky
Jan Tvrdík
Profil
Ihmo
Zkusit tě to nenapadlo?
Ihmo
Profil *
Nejde o to to zkusit, jde o to to udelat, myslel jsem ze muzu dat vsechny dotazy do jedne funkce a pak jen nejak vypsat jen danou promenou, ale to chci asi po php uz moc..
Jan Tvrdík
Profil
Ihmo
Záleží v jakém tvaru to chceš vypsal. Můžeš zkusit třeba
<?php
echo implode(', ', pocet());
?>
Ihmo
Profil *
No ja jsem spis myslel ze by to slo nejak takto

<?php
function pocet() {
$vysledek = array();

$sql = 'SELECT count(`id`) FROM `t1` ';
$vyber = $GLOBALS['db']->query($sql);
list($pocet) = $vyber->fetch_array();
$vysledek[] = $pocet-1;
$vyber->free();

$sql = 'SELECT count(`id`) FROM `t2` ';
$vyber = $GLOBALS['db']->query($sql);
list($pocet) = $vyber->fetch_array();
$vysledek[] = $pocet-2;
$vyber->free();

$sql = 'SELECT count(`id`) FROM `t3` ';
$vyber = $GLOBALS['db']->query($sql);
list($pocet) = $vyber->fetch_array();
$vysledek[] = $pocet-3;
$vyber->free();

return $vysledek;
}
?>

a pak bych dal treba

echo pocet($pocet-1);
echo pocet($pocet-2);
nebo
echo pocet($pocet-3);


dle potreby
Jan Tvrdík
Profil
Ihmo
<?php
$x = pocet();
echo $x[0];
?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: