Rezultate 1 la 10 din 10

Subiect: Cateva intrebari PHP & MySQL

  1. #1
    Avatarul lui Cristi G
    Cristi G este deconectat Membru SeoPedia
    Reputatie:
    46
    Data înscrierii
    16th April 2009
    Locaţie
    Iasi
    Vârstă
    32
    Posturi
    1.664
    Putere Rep
    46


    Implicit Cateva intrebari PHP & MySQL

    1. Daca am intr-un tabel campurile id , text , autor pentru un articol si am 2000 articole, cam care ar fi queryul sa afisez :
    Autor1(X articole) , Autor2(Y articole) in ordinea numarului de articole?
    2. Daca am de exemplu un site cu evenimente si vreau sa las userii sa se inregistreze in X evenimente simultan depinzand de rangul lui ( admin, user simplu, vip , paid member) cum pot face? Adica as vrea sa stochez cumva un config si sa verific cand se inregistreaza daca nr evenimentelor in care e inscris <= nr evenimentelor alocate pentru rangul sau


    Cam atat . O sa revin in acest topic pentru urmatoarele intrebari sa nu mai fac inca 5000 topicuri
    Imi ocup timpul uneori cu pariuri sportive si fac si web development WordPress.

  2. #2
    Avatarul lui dublutz
    dublutz este deconectat Membru SeoPedia
    Reputatie:
    32
    Data înscrierii
    3rd October 2007
    Vârstă
    40
    Posturi
    175
    Putere Rep
    32


    1 out of 1 members found this post helpful.

    Implicit

    Cod:
    1. SELECT CONCAT(autor, '(', COUNT(id), ')'), COUNT(id) as nr_articole FROM nume_tabel GROUP BY autor ORDER BY nr_articole
    Am folosit CONCAT ca rezultatul sa arate exact cum l-ai descris, dar in ralitate numarul de articole il pui din programare intre paranteze.

    2. Ar trebui sa ai urmatoarele tabele
    tip_utilizator(id_tip, denumire, nr_maxim_evenimente)
    utilizator(id_utilizator, ..... id_tip)
    eveniment(id_eveniment,denumire....)
    utilizator_eveniment(id_utilizator_eveniment, id_utilizator, id_eveniment)

    In tabelul tip_utilizator pastrezi tipurile (admin, user simplu ...)
    In momenul in care un utilizator se inscrie la un eveniment adaugi un rand in tabelul utilizator_eveniment cu id_utilizator si id_eveniment la care se inscrie. In acest fel un utilizator se poate inscrie la mai multe eveniment.
    In momenul in care vrei sa afli la cate evenimente s-a inscris un utilizator faci query pe tabelul utilizator_eveniment.
    SELECT COUNT(id_utilizator_eveniment) FROM utilizator_eveniment WHERE id_utilizator = :id_utilizator

    Sa nu uiti sa pui index cheie primara auto increment pe bold si indecsi pe cheile externe.

    Pentru tabelul utilizator_eveniment poti renunta la id_utilizator_eveniment daca pui un index unic pe cele 2 campuri chei externe. Dar nu are rost sa te complici, poti sa il faci si asa.

  3. #3
    Avatarul lui Cristi G
    Cristi G este deconectat Membru SeoPedia
    Reputatie:
    46
    Data înscrierii
    16th April 2009
    Locaţie
    Iasi
    Vârstă
    32
    Posturi
    1.664
    Putere Rep
    46


    Implicit

    la 1 e ok, multumesc. La 2 nu ai inteles prea bine, dar cred ca m-am prins eu cum se face, dar nu prea stiu queryul.

    Deci practic eu am ceva de genul

    id ( auto increment, PK)
    rol ( admin,vip, etc)
    nrmax ( 3,5,6,7 etc cat vreau eu)

    si vreau atunci cand se inregistreaza, sa verifice daca nu s-a depasit nrmax alocat rolului lui

    M-am gandit sa iau intr-un array $user toate detaliile contului.....rolul,idul,etc si cand se inregistreaza verific daca COUNT(*) FROM tbl WHERE id='$user[id]' > rolul pt acel id. dar asta ar inseamna 1 queryuri .. cu primul sa selectez in cate evenimente e inreg si in al doilea sa iau config-ul.


    Apropo, se poate cumva sa iau in header $user cu toate detaliile userului doar o singura data? Adica daca exista deja acea variabila pt acel utilizator sa nu o mai fac inca odata. Daca intra 2 in acelasi timp, aceasta variabila ce va stoca?
    Imi ocup timpul uneori cu pariuri sportive si fac si web development WordPress.

  4. #4
    Avatarul lui casperel
    casperel este deconectat Membru SeoPedia
    Reputatie:
    42
    Data înscrierii
    10th February 2007
    Locaţie
    Bucuresti
    Posturi
    838
    Putere Rep
    42


    Implicit

    Da, se poate! La logare deschizi inca o sesiune: $_SESSION["nrmax"]; .. in cazul asta nu mai este necesar sa interoghezi baza de date de fiecare data cand ai nevoie de acel "nrmax". Daca intra 2 in acelasi timp, nu se intampla nimic.. totul merge ok.

    LE: poti pastra un intreg array intr-o sesiune
    Ultima modificare făcută de casperel; 22nd February 2010 la 19:31.

  5. #5
    Avatarul lui Cristi G
    Cristi G este deconectat Membru SeoPedia
    Reputatie:
    46
    Data înscrierii
    16th April 2009
    Locaţie
    Iasi
    Vârstă
    32
    Posturi
    1.664
    Putere Rep
    46


    Implicit

    problema e ca eu vreau sa tin userii logati 4ever daca apasa remember me. Iar daca fac sesiuni , peste 15 min o sa expire iar sesiunile o sa ramana. Iar e o problema. Sau m-am gandit sa fac, la orice deschidere de pagina, verificare cu functia daca e logat. Daca exista cookie username si cookie parola si nu exista sesiunea, sa ii creez sesiunea. Dar parca e prea multa bataie de cap.

    Dar cum pot retine un array intr-o sesiune?
    Si cum creez acea sesiune O SINGURA DATA? eu vreau sa o fac in header,inainte de orice continut. if(userIsLoggedIn && !$_SESSION['nustiuce']) setez sesiunea)
    Ultima modificare făcută de Cristi G; 22nd February 2010 la 20:29.
    Imi ocup timpul uneori cu pariuri sportive si fac si web development WordPress.

  6. #6
    Avatarul lui casperel
    casperel este deconectat Membru SeoPedia
    Reputatie:
    42
    Data înscrierii
    10th February 2007
    Locaţie
    Bucuresti
    Posturi
    838
    Putere Rep
    42


    Implicit

    Daca vrei sa implementezi "remember me", atunci foloseste cookies

    Cum se retine un array in sesiune:
    Cod PHP:
    $arr_fructe = array("mere","pere","mango","portocale");
    $_SESSION["fructe"] = $arr_fructe

  7. #7
    Avatarul lui Cristi G
    Cristi G este deconectat Membru SeoPedia
    Reputatie:
    46
    Data înscrierii
    16th April 2009
    Locaţie
    Iasi
    Vârstă
    32
    Posturi
    1.664
    Putere Rep
    46


    Implicit

    pai folosesc cookies, dar cu chestia asta de config cum fac?

    si inca o problema ...nu am mai folosit niciodata asa ceva si nu stiu exact cum se merge.

    Vreau sa fac un website in romana, dar vreau sa-l pot traduce f usor in engleza. Cum as putea face sa retin toate traducerile intr-un fisier si sa le apelez de-acolo ?
    Imi ocup timpul uneori cu pariuri sportive si fac si web development WordPress.

  8. #8
    Avatarul lui Cristi U
    Cristi U este deconectat Super Moderator
    Reputatie:
    50
    Data înscrierii
    26th January 2008
    Locaţie
    Oradea
    Vârstă
    36
    Posturi
    3.172
    Putere Rep
    50


    Implicit

    Toate textele de pe site le retii in variabile si apoi faci fisiere pentru fiecare limba.
    O sa ai ceva in genul

    In fisierul in rom:
    var1='Bine ai venit';
    ...

    In engleza
    var1='Welcome'
    .....

    In germana
    var1='Cum s-o spune in germana la "Bine ai venit" '
    Mai dau cate-un sfat juridic aici, uneori chiar despre online. Nu-l rata! :) Vezi și sfaturi de nutritie.

  9. #9
    Avatarul lui Cristi G
    Cristi G este deconectat Membru SeoPedia
    Reputatie:
    46
    Data înscrierii
    16th April 2009
    Locaţie
    Iasi
    Vârstă
    32
    Posturi
    1.664
    Putere Rep
    46


    Implicit

    deci asta ar inseamna sa fac language.php si sa am
    $ro_homepage = 'Bine ai venit';
    $ro_eveniment = 'Eveniment';
    etc etc etc

    nu?


    Si problema cu cookies si cu sesiuni cum se poate face?

    Inca o intrebare la care nu inteleg cum e posibil ...
    Daca eu fac o variabila $user si cand se logheaza un user ii iau detaliile in acea variabila , array .

    Cand intra alt user si se logheaza,cum se poate ca acelasi array sa contina 2 valori complet diferite? Daca se logheaza 55 in acelasi timp ce se intampla?Cum functioneaza?
    Imi ocup timpul uneori cu pariuri sportive si fac si web development WordPress.

  10. #10
    Avatarul lui Cristi U
    Cristi U este deconectat Super Moderator
    Reputatie:
    50
    Data înscrierii
    26th January 2008
    Locaţie
    Oradea
    Vârstă
    36
    Posturi
    3.172
    Putere Rep
    50


    Implicit

    Nu, nu m-ai inteles bine. Trebuie sa mai spun ca nu sunt programator decat de ocazie, si poate nu stiu explica foarte clar.

    O sa ai english.php, romanian.php, etc.php si ai o singura variabila pentru cate un text (aceeasi).

    in fiecare fisier ai $variabila_X pe care o defiesti in fiecare fisier conform limbii.

    In template vei avea o structura switch(sesiune) (daca-s mai multe) - unde ai stocata limba aleasa de utilizator si in functie de ramura pe care te afli, apelezi unul din fisiere.

    Apoi, in fiecare loc unde ai un text vei pune de fapt variabila si in functie de fisierul in care a fost initiata, ea va afisa textul in romana/engleza/etc.

    Mai departe nu inteleg exact la ce te referi...
    Mai dau cate-un sfat juridic aici, uneori chiar despre online. Nu-l rata! :) Vezi și sfaturi de nutritie.

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Cateva intrebari despre Servar load
    De Seinfeld în forumul Server side
    Răspunsuri: 8
    Ultimul Post: 13th October 2008, 16:57
  2. Cateva probleme/intrebari generale
    De Federals în forumul Discutii generale privind optimizarea si motoarele de cautare
    Răspunsuri: 18
    Ultimul Post: 10th December 2007, 01:21
  3. Cateva intrebari referitoare la link-uri
    De glumetzul în forumul Google
    Răspunsuri: 6
    Ultimul Post: 19th June 2007, 22:41
  4. Cateva intrebari despre Neogen
    De fedoras în forumul Adsense
    Răspunsuri: 2
    Ultimul Post: 11th January 2007, 14:22
  5. Misspellings - cateva intrebari
    De turbo în forumul Google
    Răspunsuri: 0
    Ultimul Post: 25th July 2006, 13:22

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •