Jump to content
WIK

AJUTOR PHP

Recommended Posts

As dori ca cine-va sa ma ajute daca se poate cu un script php care genereaza dupa o lista de meniuri, 4 produse random 

ex:

  • Felul 1
  • felul 2
  • salata
  • desert

ideea este ca trebuie sa fie generate random sa nu sa se repete felurile de la zi la alta, si sa fie pe 5 zile lucratoare.

 

 

Nu cer ca cine-va sa-mi faca scriptul, cer decat o idee cam cum sa incep, sau de ce functii sa ma folosesc, tin sa precizez ca sunt incepator in domeniul programarii asa ca nu ma descurc chiar foarte bine.

 

 

 

Link to comment
Share on other sites

Sa presupunem ca ai o baza de date unde ai 5 tabele : 

- Felul 1

- Felul 2

- Salata

- Desert

- Istoric

 

Faci un script care sa extraga din fiecare tabel cate un item (presupun ca unele din felul 1 se gasesc si in felul 2 , asa ca o sa le dam acelasi ID de identificare , urmat de o conditie unde daca felul 1 = felul 2 ,reextragem din tabel alt fel de mancare ) iar apoi sa adauge in tabelul istoric ce a extras.

Asa , urmatoarea zi cand scriptul va fi rulat el va verifica daca nu cumva ce a extras azi n-a cazut si ieri. Daca ce a iesit azi a fost si ieri , sa ia alt item din tabelul respectiv.

Daca ai rabdare pana maine cand ajung acasa, te pot ajuta sa-l faci.

 

Edited by STiL
  • Upvote 1
Link to comment
Share on other sites

11 hours ago, WIK said:

As dori ca cine-va sa ma ajute daca se poate cu un script php care genereaza dupa o lista de meniuri, 4 produse random 

ex:

  • Felul 1
  • felul 2
  • salata
  • desert

ideea este ca trebuie sa fie generate random sa nu sa se repete felurile de la zi la alta, si sa fie pe 5 zile lucratoare.

 

 

Nu cer ca cine-va sa-mi faca scriptul, cer decat o idee cam cum sa incep, sau de ce functii sa ma folosesc, tin sa precizez ca sunt incepator in domeniul programarii asa ca nu ma descurc chiar foarte bine.

 

 

 

 

Daca nu e musai sa fie php (web-based), si e pentru internal admin (sa zicem un restaurant sau mai stiu eu ce), poti face in Excel cu functii si daca e nevoie sa fie accesibil pe web il pui in Google Sheets.

  • Upvote 1
Link to comment
Share on other sites

9 hours ago, STiL said:

Sa presupunem ca ai o baza de date unde ai 5 tabele : 

- Felul 1

- Felul 2

- Salata

- Desert

- Istoric

 

Faci un script care sa extraga din fiecare tabel cate un item (presupun ca unele din felul 1 se gasesc si in felul 2 , asa ca o sa le dam acelasi ID de identificare , urmat de o conditie unde daca felul 1 = felul 2 ,reextragem din tabel alt fel de mancare ) iar apoi sa adauge in tabelul istoric ce a extras.

Asa , urmatoarea zi cand scriptul va fi rulat el va verifica daca nu cumva ce a extras azi n-a cazut si ieri. Daca ce a iesit azi a fost si ieri , sa ia alt item din tabelul respectiv.

Daca ai rabdare pana maine cand ajung acasa, te pot ajuta sa-l faci.

 

 

5 tabele ? esti nebun ?

 

product ( felul 1 / felul 2 / salata / desert ) + category 2 tabele.

 

ai doar 2 tabele daca e pana acolo, cel mai important e sa faci select-ul bine, nu stiu sigur daca asta ruleaza, dar 90% sigur merge, am mai facut.

 

Ai nevoie de ORDERING random pe toate records din product table, apoi SELECT IN SELECT pentru ca ai nevoie si de ORDER BY si de GROUP BY, prima oara clar de ORDER BY, si folosim WHERE id NOT IN pentru ca n-am vazut restaurant cu volum asa mare de date incat asta sa fie o problema.

 

 

product ( felul 1 / felul 2 / salata / desert )
 

id

category_id

name

 

SELECT * FROM (

             SELECT * FROM `product`

                     WHERE `id` NOT IN ( 0,1,2,3,4,5 )

                     ORDER BY RAND()

) p1 GROUP BY p1.category_id

       LIMIT 4

  • Upvote 1
Link to comment
Share on other sites

Ia-l http://codepad.org/7HKv4t9N

 

  1. <?php
    $mancare = array();
    $mancare['f1'] = array("Ciorba de pui", "Ciorba de vacuta", "Ciorba de zarzavat", "Ciorba de porc", "Ciorba de buze de papagal", "Ciorba de saptamana trecuta");
    $mancare['f2'] = array("Pulpa de pui cu cartofi prajiti", "Cartofi prajiti cu pulpa de pui", "4 mici cu piure", "Seminte de Braila", "Rabdari prajite", "Shaorma", "Sarmale prajite");
    $mancare['s'] = array("Salata de varza", "Salata de vara", "Salata de rosii cu castraveti", "Salata verde", "Salata roz bombon", "Salata de carne de porc");
    $mancare['d'] = array("Clatite cu gem", "Clatite cu finetti", "Clatite goale", "Clatite clatite", "Paine cu margarina si gem", "Bomboane", "Caramele");
    
    $zile = array("Guta", "Marti", "Miercuri", "Joi", "Vineri");
    
    $selected = array("este");
    
    foreach($zile as $zi) {
         echo $zi.": ";
         foreach($mancare as $fel) {
              $value = "este";
              while(in_array($value, $selected)) {
                   $key = array_rand($fel);
                   $value = $fel[$key];
              }
              $selected[] = $value;
              echo $value." + ";
         }
         echo "<br>".PHP_EOL;
    }
Edited by SticKyWoX
  • Upvote 5
Link to comment
Share on other sites

On 08.06.2016 at 0:26 AM, soimuletzu1 said:

 

Merci, dar am gasit si eu asta, si mi-am prins putin urechile, dar am facut ceva ceva.

 

On 08.06.2016 at 3:40 AM, STiL said:

Sa presupunem ca ai o baza de date unde ai 5 tabele : 

- Felul 1

- Felul 2

- Salata

- Desert

- Istoric

 

Faci un script care sa extraga din fiecare tabel cate un item (presupun ca unele din felul 1 se gasesc si in felul 2 , asa ca o sa le dam acelasi ID de identificare , urmat de o conditie unde daca felul 1 = felul 2 ,reextragem din tabel alt fel de mancare ) iar apoi sa adauge in tabelul istoric ce a extras.

Asa , urmatoarea zi cand scriptul va fi rulat el va verifica daca nu cumva ce a extras azi n-a cazut si ieri. Daca ce a iesit azi a fost si ieri , sa ia alt item din tabelul respectiv.

Daca ai rabdare pana maine cand ajung acasa, te pot ajuta sa-l faci.

 

 

M-am gandit si la asta, dar nu am inteles partea cu 

Quote

(presupun ca unele din felul 1 se gasesc si in felul 2 , asa ca o sa le dam acelasi ID de identificare , urmat de o conditie unde daca felul 1 = felul 2 ,reextragem din tabel alt fel de mancare )

 

deci nu a iesit nimic! 

20 hours ago, Robert1995 said:

 

5 tabele ? esti nebun ?

 

product ( felul 1 / felul 2 / salata / desert ) + category 2 tabele.

 

ai doar 2 tabele daca e pana acolo, cel mai important e sa faci select-ul bine, nu stiu sigur daca asta ruleaza, dar 90% sigur merge, am mai facut.

 

Ai nevoie de ORDERING random pe toate records din product table, apoi SELECT IN SELECT pentru ca ai nevoie si de ORDER BY si de GROUP BY, prima oara clar de ORDER BY, si folosim WHERE id NOT IN pentru ca n-am vazut restaurant cu volum asa mare de date incat asta sa fie o problema.

 

 

product ( felul 1 / felul 2 / salata / desert )
 

id

category_id

name

 

SELECT * FROM (

             SELECT * FROM `product`

                     WHERE `id` NOT IN ( 0,1,2,3,4,5 )

                     ORDER BY RAND()

) p1 GROUP BY p1.category_id

       LIMIT 4

 

m-ai bagat in ceata definitiv

19 hours ago, EAdrian said:

De ce nu extragi produsele o dată la 5 zile şi apoi să le ţii în cache?

 

Pentru ca produsele se schimba odata pe saptamana pentru fiecare zi in parte din saptamana respectiva, mai exact

fiecare zi are meniul ei.

16 hours ago, SticKyWoX said:

Ia-l http://codepad.org/7HKv4t9N

 

  1. 
    <?php
    $mancare = array();
    $mancare['f1'] = array("Ciorba de pui", "Ciorba de vacuta", "Ciorba de zarzavat", "Ciorba de porc", "Ciorba de buze de papagal", "Ciorba de saptamana trecuta");
    $mancare['f2'] = array("Pulpa de pui cu cartofi prajiti", "Cartofi prajiti cu pulpa de pui", "4 mici cu piure", "Seminte de Braila", "Rabdari prajite", "Shaorma", "Sarmale prajite");
    $mancare['s'] = array("Salata de varza", "Salata de vara", "Salata de rosii cu castraveti", "Salata verde", "Salata roz bombon", "Salata de carne de porc");
    $mancare['d'] = array("Clatite cu gem", "Clatite cu finetti", "Clatite goale", "Clatite clatite", "Paine cu margarina si gem", "Bomboane", "Caramele");
    
    $zile = array("Guta", "Marti", "Miercuri", "Joi", "Vineri");
    
    $selected = array("este");
    
    foreach($zile as $zi) {
         echo $zi.": ";
         foreach($mancare as $fel) {
              $value = "este";
              while(in_array($value, $selected)) {
                   $key = array_rand($fel);
                   $value = $fel[$key];
              }
              $selected[] = $value;
              echo $value." + ";
         }
         echo "<br>".PHP_EOL;
    }

 

Merci frumos imi este foarte de ajutor ce mi-ai dat, multumesc pentru munca depusa, si pentru faptul ca ai acordat timpul tau pentru realizarea acestei cerinte.

O sa incerc sa te recompensez in cazul in care am productivitate cu acest "proiect"

 

Si nu in ultimul rand multumesc tuturor care au incercat sa ma indrepte pe drumul cel bun intr-ale finalizarii acestui "Script" O zi placuta, sper ca acest topic sa ajute si pe alt cineva care este in situatia mea! 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...