litt
-
Posts
124 -
Joined
-
Last visited
Posts posted by litt
-
-
Datubāzē glabājās ieraksti, kuriem ir id, title, par - parentID, ch - children count. Ar kverija palīdzību no bāzes dabonu šādu masīvu (ORDER BY par, title)
Array ( [0] => Array ( [id] => 1 [par] => 0 [ch] => 2 [title] => Main page ) [1] => Array ( [id] => 4 [par] => 1 [ch] => 0 [title] => mape 1 ) [2] => Array ( [id] => 5 [par] => 1 [ch] => 2 [title] => mape 2 ) [3] => Array ( [id] => 6 [par] => 5 [ch] => 1 [title] => apaksh1 ) [4] => Array ( [id] => 8 [par] => 5 [ch] => 0 [title] => apaksh2 ) [5] => Array ( [id] => 7 [par] => 6 [ch] => 0 [title] => sub ) )
Rezultātā vajag šādu "koku" no šī masīva
Array ( [0] => Array ( [id] => 1 [par] => 0 [ch] => 2 [title] => Main page [chld] => Array ( [0] => Array ( [id] => 4 [par] => 1 [ch] => 0 [title] => mape 1 [chld] => Array ( ) ) [1] => Array ( [id] => 5 [par] => 1 [ch] => 2 [title] => mape 2 [chld] => Array ( [0] => Array ( [id] => 6 [par] => 5 [ch] => 1 [title] => apaksh1 [chld] => Array ( [0] => Array ( [id] => 7 [par] => 6 [ch] => 0 [title] => sub [chld] => Array ( ) ) ) ) [1] => Array ( [id] => 8 [par] => 5 [ch] => 0 [title] => apaksh2 [chld] => Array ( ) ) ) ) ) ) )
Ir kāds veids kā ar PHP to visu ātri apstrādāt un dabūt vēlamo rezultātu (izejas masīvs var būt liels, tapēc svarīga ir ātrdarbība)?
-
Lai noskaidrotu šo linku jēgu paņem un pamaini tos ciparus linka galā un skaties kas notiek. Uztaisīt to visu var ar masīva $_GET palīdzību
-
Inclūdotais php fails jau parasti pats izpildās. Vēl vari paskatīties funkciju eval()
-
Skaidrs, kaut kā neiedomājos par to štelli.. Palikšu pie server.lv/products-5 varianta
-
Ar : gribēju atdalīt izvēlēto lapu. Piemēram, man ir sadaļa products un izvēlēta ir 5. lapa
Adrese tādā gadījumā būtu server.lv/products:5
server.lv/products_5 izskatītos patizli
-
.htaccess fails izskatās šādi
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]
Ja mēģinu rakstīt http://localhost/a/b:c tad viss kārtībā, taču, ja mēģinu rakstīt http://localhost/a:b tad izmet kļūdu 403 Forbidden.
Kļūda ir tikai tad, ja adrese ir mainigais:mainigais2, ja adrese ir mainigais/mainigais:mainigais2 (ir vismaz viens slash), tad viss ok. Kur varētu būt problēma (ja : vietā ielieku _ tad arī viss ir ok)
-
Kur ir problēma? Katru nakti tev palaižas logrotate un uzģenerē vajadzīgos logus. Kādu laiciņu pēc logrotate darbības palaid cron skripiņu, kurš nolasa uzģenerēto log failu, sasplito pa tev vajadzīgajiem laukiem un iemet bāzē. Pēc tam uzraksti nelielus skripiņus, kuri no bāzes vilks laukā tev vajadzīgo informāciju
-
Tu vispār pats skaties, ko raksti? Kā tev kaut kas var strādāt, ja trūkst window.open
-
Ir ātrāk, jo var stringu drukāt laukā pa tiešo, nav jāpārbauda ir/nav mainīgie un vajadzības gadījuma tie jānomaina ar atbilstošo saturu. Es personīgi lietoju
echo 'teksts1' . $mainīgais . 'teksts2';
-
Kaut kur savā kodā tu centies piekļūt neeksistējošam masīva elementam. Uzliec pārbaudi
if(isset($masivs['elements']))
vai arī
$mainigais = $masivs['elements'] ? $masivs['elements'] : '';
-
3. variants nav vajadzīgs, bet pirmie 2 skatoties pēc situācijas
-
apskaties curl funkcijas
-
Tas laikam bija piemērs no tā brīža, kad šo štelli apguvu pa punktiem (visi delimiteri, encodingi). Loģiski, ka var tā
$subject = '=?utf-8?B?' . base64_encode($subject) . '?=';
Aizmirsu pateikt, ka tādā veidā var (vajag) kodēt arī vārdu, no kura tiek sūtīts e-pasts (lai normāli uzrādās arī Jāņa Rūķīša sūtītie maili)
-
$subject = '=?' . 'utf-8' . '?' . 'B' . '?' . base64_encode($subject) . '?=';
-
Nu bet tieši to arī dara otrais kverijs. 1. kverijā ir tikai LIMIT dati, savukārt otrajā ir visas tabulas ierakstu skaits (tas pats, kas SELECT COUNT(id) .. )
-
Ja ir jaunāks MySQL, tad var darīt tā:
SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT x, y;
un pēc tam
SLECT FOUND_ROWS()
Rezultātā 2. kverijs atgriezīs cik rindas būtu selektētas, ja nebūtu LIMIT pirmajā kverijā. It ka arī 2 kveriji jāizpilda, taču kods mazāks un ērtāk rediģējams (jārediģē tikai 1 kverijs)
-
Man bija līdzīga problēma, bet to atrisināja
SET CHARSET utf8
uzreiz pēc mysql_select_db()
-
Jābūt
$rinda['id']
-
$passw = '' . substr(md5( mktime() ), 0, 8);
-
.. jo gatavu variantu, protams, vajadzees smagi paarveidot
Varbūt vieglāk ir uztaisīt pašam nekā "smagi pārveidot"? Vismaz pēc tam sapratīsi kas kā notiek un jebkurā brīdī varēsi pielikt klāt jaunas fīčas utt
-
Nezinu vai statistika txt failā ir pati labākā doma.. Man vienam čatiņam statistika darbojas tā, ka pie teksta pievienošanas tiek saglabāts failā laiks (strtotime), nickname, chat_room, message_type (viena rinda, viens ieraksts, atsevišķās vērtības ir atdalītas ar ";", bet tam nav nozīme)
Kamēr bija pāris tūkstoši rindiņas, viss bija ok, statistiku varēja ievākt kādu tik vajag, tagad arī to var izdarīt, taču failā jau ir vairāk kā 750 000 rindas un datu apstrāde aizņem krietnu laiku. Lai dabūtu statistiku pa dienām jau ir vajadzīga vairāk kā pusminūte. Visus datus importēju MySQL datubāzē un identisks rezultāts tika iegūts 3sec laikā
P.S visādu skriptus meklē hotscripts.com
-
Nezinu vai un kā strādās šis variants (caur PC it kā viss ok), bet mēģināts nav zaudēts
ini_set('session.use_trans_sid', 1); ini_set('session.use_cookies', 0); session_start(); $SESSstr = '?' . ini_get('session.name') . '=' . session_id();
Parastie linki mainīsies automātiski, bet pie formu submintēšanas action likšu klāt mainīgo $SESSstr
-
Sveiki!
Taisu nelielu guestbook priekš mobilajiem telefoniem ar visu reģistrāciju utt. Lietotājs vienu reizi ielogojās un tālāk viņa id, logins un cita informācija tiek glabāta sesijā tālākai izmantošanai.
Problēma sākās tajā brīdī, kad rokās paņēmu Samsung x100 aparātu (ar manu nokia 3100 un opera uz kuras testēju viss kārtībā). Nezinu vai vaina manā skriptā vai aparātā vai kādos PHP uzstādījumos, bet Samsungs neņem pretī sesijas
pirmā lapa:
session_start (); $_SESSION['blabla'] = 'kaut_kas'; links uz otro lapu
otrā lapa:
session_start (); print_r($_SESSION);
tā vietā, lai tur būtu mans sesijas masīva elements 'blabla' ar vērtību 'kaut_kas' ir tukšums, mainīgajā $_SESSION nav neviena vērtība. Kur varētu būt problēma? Varbūt skriptā vajag kaut kā stingrāk piešķirt vērtību vai varbūt php.ini uzstādījumos kaut kas nav labi (lai gan, ja citos pārlūkos strādā, tad vajadzētu strādāt visur)
PHP array tree
in PHP skripti
Posted
Rezultātā vajag koku, kur katra parenta masīva elements 'chld' ir masīvs ar konkrētā parenta childs (koka dziļums var būt bezgalīgs)