Jump to content
php.lv forumi

Code

Reģistrētie lietotāji
  • Posts

    102
  • Joined

  • Last visited

Everything posted by Code

  1. Iebāz sesijā lietotāja IDu (tad kad viņš ielogojas) un ar to arī darbojies (līdzīgi kā ar tavu u_nick). Sanāk, ka katru reizi, kad lapa tiek atvērta un lietotājs ir ielogojies, tad tiek veikts nevajadzīgs apdeits. UN izlabo tak beidzot to apdeitu. ($insert = "UPDATE users SET user_status='2' WHERE user_status = '1' and id = ".$_SESSION['u_id']; )
  2. Kur kods netiek pieņemts? Ķip lietotājs ielogojas, aizver browseri (nenospiež Logout) un nekad vairs neatgriežas, bet lapā visu laiku rādīs, ka online? Pārējo no teksta, diemžēl, tāpat nesapratu.
  3. Nafigam tu aiz AND visu apostrofos ieliki?
  4. Nu netiks jau arī atlasīts, tu taču pie WHERE pieliec nosacījumu, lai id NEsakrīt ar konkrētā lietotāja id. Val gan būtībā pareizi saka - vari arī nemaz nefiltrēt to lietotāju, bet tādā gadījumā jāņem vērā kļūdu paziņojumi, jo lamāties tad, kad lietotājs nemaina savu epasta adresi, nebūtu labi.
  5. Pārbaudes steitmentā izfiltrē konkrēto lietotāju - ...where id <> konkrētā_lietotāja_id
  6. codez būtībā Tev iesaka izveidot Tavai jaunumu tabulai (pieņemu, ka 'news') papildus kolonnu, kurā tiek glabāts pašreizējais komentāru skaits un katru reizi, kad pievieno vai dzēs kādu komentāru, jaunumu tabulas laukam (kurā glabās to komentāru skaitu) tiek attiecīgi pieskaitīts vai atņemts vieninieks. Ja nevēlies veikt apdeitus, tad izveido apakšselektu. Katram jaunumam tu zināsi ID'u, pēc tā arī taisi selektu (SELECT COUNT(*) FROM news_komentari WHERE nid = konkrēta_jaunuma_id) Par datumu - vari izmantot DATE_FORMAT - DATE_FORMAT(date, '%d.%m.%Y %H:%i')
  7. Jā. SELECT DISTINCT t.niks, (SELECT count(*) FROM tabula tt WHERE tt.niks = t.niks) as skaits FROM tabula t ORDER BY skaits DESC
  8. Nu, jā - skat. manu pirmo postu. Ja nebūs distincts, tad niki atkārtosies.
  9. Tabula ir tā pati, vienkārši alias cits. (neaizmirsti distinct) Tāds, kuram būtu 0 tiešām nebūs, tad vajag atsevišķu tabulu ar lietotājiem, jo nevar saskaitīt mapes lietotājam, kurš neeksistē tabulā.
  10. SELECT distinct t.niks, (SELECT count(*) FROM tabula tt WHERE tt.niks = t.niks) FROM tabula t ?
  11. Pilns nets tak... :] http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list
  12. Nu nav jau obligāti iekš tabulas - jebkurā vietā lapā vari izvadīt. Skaties pats, kur gribētu paziņojumu redzēt. Kaut vai, piemēram, ja notiek kļūda, tad $result = "Kļūda!", ja nav viss ok, tad $result = "Darīts!" un pēc tam kaut kur izvadi <?php echo $result?>. Piemēram, aiz tās "Apstiprināt" pogas.
  13. 1. Spriežot pēc lauka nosaukuma (MEMB___ID) sapratu, ka tas ir kāds identifikators nevis vienkārši brīvi ievadīts teksts. Pārbaudi tā kā pats rakstīji - tāda aptuveni arī tā ideja ir. Šeit nesen viens jau ko līdzīgu prasīja. Princips tāds pats: http://php.lv/f/topic/16863-register-skripts/page__st__15 2. Izvadās tev "1", visticamāk no tā "echo mssql_query("UPDATE...". Netaisi tur echo, bet uztaisi IFu un pēc tā nosaki vai viss veiksmīgi izdarīts, pēc tam izdomā, kur lapā to attēlosi un izvadi attiecīgu paziņojumu.
  14. A no kurienes tad tu iegūsti to lietotāja ID ($_POST['acc']), ja nav zināms vai lietotājs eksistē?
  15. Pārbaudi vai sql vaicājumā nav kļūdas. COUNT atgriež ierakstu skaitu datu bāzē, kuriem atbilst WHERE nosacījumi.
  16. Paroli eskeipot nav īpaši vajadzīgs, tāpat tiek veidots heš. Kļūdu paziņojumus vari vienā apvienot visus ($error .= 'Kļūda') un beigās izvadīt. Personīgi es to "login" jautājumu nesapratu, bet ar ielogošanos būs problēmas, jo tu uzģenerē to sāli, bet DB nesaglabā. Kā tu pēc tam pārbaudīsi ievadīto paroli pie ielogošanās?
  17. Uzreiz "ieleca" acīs šis: if($rezultats > 10) elseif($rezultats > 100) Sāc ar lielāko vērtību. Šajā gadījumā, vienalga vai rezultāts būs 11 vai 111, tik un tā nostrādās pirmais IF's (pie otrā netiksi nekad). Par tiem procentiem. Pirmais kas nāk prātā - uzģenerē random skaitli, piemēram, no 0 līdz 100 un tad arī skaties. Ja, piemēram, ja skaitlis ir no 0 līdz 20, tad pieņemam, ka ir 20% un lai uzvar auto ar visvairāk hp+ad, pretējā gadījumā tas otrs variants ko tur minēji.
  18. Lielākoties iztiksi ar UPDATE steitmentu. Piemēram, UPDATE users SET name = 'Aleks Gud' WHERE name = 'Aleks', ar kuru tu būtībā visiem ierakstiem, kuriem lauks name ir 'Aleks' nomainīsi to uz 'Aleks Gud'. Ja gribēsi ciparus likt lietā, tad ir divas pamatiespējas: 1. Tu dabon datus no DB, saskaiti, atņem vai izdari vienalga kādas tur perversības un tad liec ar to pašu apdeitu atpakaļ datu bāzē. 2. Neņemot ārā no DB neko, bet pa taisno labo vērtību. Piemēram, UPDATE users SET cash = cash + 100 WHERE...utt. Bet vispār ļoti silti ieteiktu palasīt kādus manuāļus par mysql.
  19. Protams, uzticēties nekam nedrīkst, bet, ja jautājums ir vairāk par klienta galu (piemēram, paziņojums par izslēgtu JS), tad var izmantot html noscript tagu.
  20. Code

    relācija

    Trigger on insert?
  21. Izmanto, lūdzu, koda tagus vai http://paste.php.lv/ Vieglāk uztvert būs un lielāks stimuls lasīt kodu. :)
  22. Izskatās tiešām drausmīgi. :D Cik zinu, tad IFoties, veidojot stringu, nemaz nevar - domāju, ka par to arī viņš lamājas. Ieteiktu veidot savādāk: Piemēram, saveido no sākuma divus mainīgos $fields un $values atkarībā no tā, kādu dati ir jāinserto, pēc tam uzbūvē to vaicājumu. mysql_query("INSERT INTO 'users' ($fields) VALUES ($values)");
×
×
  • Create New...