Autor Zpráva
Hoplala
Profil *
zdravím všechny,

učím se funkce, protože mi přijde lepší volat funkci, než vypisovat příkazy na MySQL.

function select($from, $sort){   
if($sort != ""){ $sort = "ORDER BY ".$sort; }    
$data1 = mysql_query("SELECT * FROM $from $sort") or die(mysql_error());
$number_of_lines = mysql_num_rows($data1); 
echo $number_of_lines;
}    
include "connect.php";
\select("clanky", "id DESC");

Když ale ve funkci změním změním
echo $number_of_lines;
na
return ($number_of_lines);

a pod voláním funkce select dám vypsat tuto proměnnou, tak se nic nevypíše, jako kdyby neexistovala.
martin1312
Profil
ta premenna ani nebude existovať, pretože sa nema ako z funkcie "dostať von" (jej platonsť je lokálna, po vykonaní funkcie sa zásobník s týmito dátami vyprázdni), musíš použiť niečo takéto
<?php
$number_of_lines = select($from, $sort);
Hoplala
Profil *
A nejde to ještě nějak zjednodušit? Protože když na konci té funkce budu mít v tom returnu třeba 10 proměnných, tak dole budu muset udělat 10 řádků s definováním každé proměnné.
martin1312
Profil
Funkcia môže vrátiť iba jednu premennú, ak potrebuješ ale vrátiť viac výsledkov, môžeš použiť ako návratový dátový typ pole
Hoplala
Profil *
Výborně, děkuji moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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