Problém s vytvořením fce na výpis z databáze – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém s vytvořením fce na výpis z databáze – PHP – Fórum – Programujte.comProblém s vytvořením fce na výpis z databáze – PHP – Fórum – Programujte.com

 

Radek
~ Anonymní uživatel
133 příspěvků
31. 10. 2009   #1
-
0
-

fce Mdotaz()

...
while ($radek = mysql_fetch_array($result, MYSQL_BOTH)){
$pole[] = array($radek[0],$radek[1]);
}
mysql_free_result($result);
return $pole;
}

// použití
$sql = "SELECT jmeno,prijmeni FROM zakaznik";
$vysledek = Mdotaz($sql);
echo $vysledek[0][0]." ".$vysledek[0][1];
echo $vysledek[1][0]." ".$vysledek[1][1];
echo $vysledek[2][0]." ".$vysledek[2][1];


toto funguje, já bych ale chtěl docílit toho, že počet sloupců bude proměnný, aby fce byla více univerzální. Zhotovil jsem tento kód dole, ale bohužel to ještě nefunguje a nevím, jak to mám dodělat... fce opak mi vrací podle zadaného vst. parametru počet sloupců string $radek[0],...,$radek[n]. Ve fci Mdotaz řádek $pole[] = array(opak($pocetSloupcu)); používám fci opak, ale tady je ten zakopaný problém. Nevím, jak mám docílit toho, že se mi výsledek fce opak bude zobrazovat jako parametr na vypsání do array, aby to bralo radek[0],...,radek[n] a podle toho do proměnné pole ukládalo příslušný počet sloupců.

function opak($kolik){

$res = "";
for ($i = 0; $i <= $kolik-1; $i++){
$mez = $kolik-1;
if($i < $mez){ // jeste neni posledni vypis prvku, na konec dam carku
$res .= "\$radek[".$i."],";
}
else{ // posledni vypisovani prvek uz nebude nasledovat carka na konci
$res .= "\$radek[".$i."]";
} // else
} //for
return $res;
}

fce z příspěvku výše
...
while ($radek = mysql_fetch_array($result, MYSQL_BOTH)){
$pole[] = array(opak($pocetSloupcu)); -- fce opak
//$pole[] = array($radek[0],$radek[1]); -- funguje ale ne podle počtu sloupců
} // end while
mysql_close($c);
mysql_free_result($result);
return $pole;

Nahlásit jako SPAM
IP: 78.128.148.–
KIIV
~ Moderátor
+43
God of flame
31. 10. 2009   #2
-
0
-

proc nepouzijes
$pole = array();
while ( $data = mysql_fetch_assoc($res) ) {
$pole[] = $data;
}
???
asociativni pole je lepsi a pouzit muzes kdekoliv

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Radek
~ Anonymní uživatel
133 příspěvků
31. 10. 2009   #3
-
0
-

To KIIV : ano děkuji funguje to. Paradox je, že jsem toto zkoušel také a omylem jsem měl pořád zakomentované $pole = array(); a proto mě to nefungovalo a zkoušel jsem různé šílenosti viz výše :-)

Nahlásit jako SPAM
IP: 78.128.148.–
survik1
~ Moderátor
0
Posthunter
31. 10. 2009   #4
-
0
-

To KIIV : To jsi opravdu pochopil otázku, nebo jsi to střelil od boku?

Nahlásit jako SPAM
IP: 89.102.152.–
Život je jen hra, která se nedá vyhrát.
KIIV
~ Moderátor
+43
God of flame
31. 10. 2009   #5
-
0
-

To survik1 : myslim ze sem pochopil o co se snazi.. hlavne sem nechapal to $pole[] = array($radek[0],$radek[1]);
tak sem napsal jak se to da udelat snadneji :D

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
hrach
~ Redaktor
+1
Boss
1. 11. 2009   #6
-
0
-

To Radek : to ze nemas defaultne nastaveny typ promenne, tede, ze nemas predem urceno ze to neni pole, to by nemelo zpusobit nefunkcost kodu, ale pouze vygenerovani nejaky warning nebo notice. :)

Nahlásit jako SPAM
IP: 90.179.27.–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý