Autor | Zpráva | ||
---|---|---|---|
WeeHool Profil |
Zdravím..
takže mám pole: $produkt[$pocet] = array( 'nazev' => $nazevorig, 'popis' => $popisorig, 'cena' => $sdph, 'obrazek' => $image, 'odkaz' => $goto, 'obchod' => $id ); if (isset($order)) { foreach($produkt as $val) { $sortarray[] = $val[$order]; } } array_multisort($sortarray,$produkt); foreach($produkt as $key => $val) { $nazev = $val['nazev']; $cena = $val['cena']; echo "$nazev $key $cena <br>"; } předem děkuji za odpověď.. |
||
Darker Profil |
#2 · Zasláno: 17. 9. 2012, 23:17:35
function search($name, $value,$data) { $matches = array(); //Pole vyhovujicich polozek if(!is_array($value)) //Moznych hodnot muze byt vicero $value=array($value); foreach($data as $item) { //Prochazeni dat foreach($value as $v) { //Prochazeni vyhovujicich hodnot if($v==$item[$name]) { //Pokud hodnota polozky odpovida aktualni testovane hodnote $matches[]=$item; //Vyhovuje! break; //Konec zkoumani polozky } } } return $matches; } |
||
WeeHool Profil |
#3 · Zasláno: 18. 9. 2012, 00:14:10
tý jo.. díky za funkci.. zejtra se vrhnu na její začlenění do celýho skriptu.. jak tak na to koukám.. bude to sranda.. ale fakt moc díky..
|
||
WeeHool Profil |
#4 · Zasláno: 19. 9. 2012, 15:50:19
takže průšvih..
řekněme, že mám tyhle dva produkty: $produkt[] = array( 'nazev' => "prvni", 'popis' => "takovyto", 'bezdph' => "dfsdfsd", 'cena' => "sdfsdf", 'obrazek' => "sdfsd", 'odkaz' => "sdfsdf", 'obchod' => "sdfsd", 'shop' => "sdfsd", 'class' => "sdfsd" ); $produkt[] = array( 'nazev' => "druhy", 'popis' => "sdfsdf", 'bezdph' => "sdfsdf", 'cena' => "sdfsdf", 'obrazek' => "sdfsd", 'odkaz' => "sdfsdf", 'obchod' => "sdfsdf", 'shop' => "sdfsdf", 'class' => "sdfsdf" ); a chci najít v produkt s názvem prvni.. jak toho docílím?? |
||
Darker Profil |
#5 · Zasláno: 19. 9. 2012, 16:16:59
WeeHool:
Koukám, že jsi do té funkce moc nepronikl: print_R(search("nazev","prvni", $produkt)); Parametr 2 určuje jakou (jaké - lze předat pole: array("prvni","druhy")) hodnotu má funkce hledat Parametr 3 je pole, ve kterém se bude hledat. Skript výše vrátí: Array ( [0] => Array ( [nazev] => prvni [popis] => takovyto [bezdph] => dfsdfsd [cena] => sdfsdf [obrazek] => sdfsd [odkaz] => sdfsdf [obchod] => sdfsd [shop] => sdfsd [class] => sdfsd ) ) |
||
WeeHool Profil |
#6 · Zasláno: 19. 9. 2012, 16:18:37 · Upravil/a: WeeHool
ä děláš si srandu?? to sem udělal jako první..
no.. trošku jinak :D díky.. hej ale problém.. když zadám do názvu třeba prvni divadlo a dám hledat prvni, tak to nenajde.. jak to udělat, aby to našlo i část?? |
||
Darker Profil |
#7 · Zasláno: 19. 9. 2012, 18:40:22
WeeHool:
„jak to udělat, aby to našlo i část??“ Musíš tu funkci prozkoumat a vylepšit. |
||
peta Profil |
#8 · Zasláno: 21. 9. 2012, 13:39:59
Darker: ... o regularni vyraz do podminky :)
|
||
Keeehi Profil |
Tu funkci bych trochu upravil:
function search($name, $values, &$data) { $matches = array(); //Pole vyhovujicich polozek if(!is_array($values)) //Moznych hodnot muze byt vicero $values=array($values); foreach($data as $item) { //Prochazeni dat if ( in_array($item[$name], $values) ) { $matches[]=$item; //Vyhovuje! } } return $matches; } |
||
Časová prodleva: 8 měsíců
|
|||
Peli Profil * |
#10 · Zasláno: 27. 5. 2013, 17:51:11
Funkci jsem upravil takto, aby to vracelo i id nalezeného řádku...
function hledat_v_poli($name, $value,$data) { $matches = array(); //Pole vyhovujicich polozek if(!is_array($value)) //Moznych hodnot muze byt vicero $value=array($value); foreach($data as $key => $item) { //Prochazeni dat foreach($value as $v) { //Prochazeni vyhovujicich hodnot if($v==$item[$name]) { //Pokud hodnota polozky odpovida aktualni testovane hodnote $matches[]=$item; //Vyhovuje! $matches["cisloradku"]=$key; //přidám hodnotu, na kterém řádku to bylo nalezeno break; //Konec zkoumani polozky } } } return $matches; } |
||
Časová prodleva: 11 let
|
0