Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> shell_exec i wyniki w select htmla
Aquarius
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.10.2008

Ostrzeżenie: (0%)
-----


witam,
od wczoraj próbuję rozgryźć jak dokonać tego aby wyniki z wykonania funkcji shell_exec wstawić w pętli w formularzu <select><option>, niestety w kilkudziesięciu kombinacjach jakie wykonałem otrzymuję albo puste pole albo sam napis: Array
funkcja shell_exec zwraca wynik w postaci kilku (zawsze więcej niż 1) linii kończących się znakiem: \n
(sprawdzone, w logu dimension.log są zawsze zapisane linie)

  1. $cmd = trim(shell_exec("skrypt -i plik 2>&1 | grep dimension | awk '{print $0}' > dimension.log"));
  2. $dim = preg_split('/[\n]+/', $cmd);
  3. //$dim = explode("\n", $dim);
  4. foreach($dim as $line) {
  5. $select = "<option value='.$line.'>'.$line.'</option>";
  6. }


w takiej postaci otrzymuję w polu select jedno puste drugie '..'
gdzie popełniłem błąd? a może się nie da? może powinienem koniecznie zapisywać wyniki do pliku i wtedy pobrać wyniki z pliku? ale przecież czy to nie to samo?

Ten post edytował Aquarius 5.03.2012, 12:04:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Aquarius
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.10.2008

Ostrzeżenie: (0%)
-----


ach... ślepota ze mnie, najpierw wysłałem wynik do pliku żeby sprawdzić czy składnia jest ok a potem zapomniałem to usunąć, dziękuję pięknie, rzeczywiście teraz działa jak należy (IMG:style_emoticons/default/smile.gif)

no i wracam z jeszcze jednym problemem, nie będę oczywiście zakładał nowego tematu tylko podczepię się tutaj
otóż tym razem mam następujący problem, mam dwie pętle, (mało ważne, ale wyciągnięte z tej samej komendy shell_exec), chciałbym żeby do każdego elementu z drugiej pętli przypisana była nazwijmy to umownie zmienna $key która będzie miała wartości odpowiednio (w kolejności) z pierwszej pętli

próbowałem w ten sposób, ale wychodzi mi wielkie nic:
  1. $dimension = trim(shell_exec("skrypt -i plik 2>&1 | grep dimension"));
  2. $did = trim(shell_exec("skrypt -i plik 2>&1 | grep dimension | awk '{print $2}'"));
  3. $res = '';
  4. foreach($dimension as $did => $line) {
  5. $res .= "<option value='"substr($did, 1, 3)"'>".trim($line)."</option>";
  6. }


potrzebna jest druga pętla foreach? jeżeli to jak to mniej więcej wygląda?

teraz myślę że może niezbyt jasno się wyraziłem, miałoby to wyglądać mniej więcej tak:
komenda1 zwraca: biały, czerwony, niebieski
komenda2 zwraca: kwadrat, trójkąt, prostokąt

i teraz zamiast porządkowych numerów zmiennych poprzez użycie:
  1. foreach($line as $key => $wynik)

które wyświetli:
  1. <option value='1'>kwadrat</option>
  2. <option value='2>trójkąt</option>
  3. <option value='3'>prostokąt</option>


chciałbym otrzymać:
  1. <option value='biały'>kwadrat</option>
  2. <option value='czerwony'>trójkąt</option>
  3. <option value='niebieski'>prostokąt</option>


Ten post edytował Aquarius 6.03.2012, 18:05:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 18:42