Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przekazanie wyniku funkcji z pętlą do zmiennej
zman85
post 29.03.2009, 17:27:33
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 25.05.2005

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


Witam,
mam zakłopotanie z kodem mojej sondy, potrzebuje wyciągnąć z funkcji czyste dane oddzielone przecinkiem (bez przecinka na końcu całości), które wyskakują nam z kolei w pętli while i przekazanie tego wszystkiego do zmiennej w niezmienionej formie.

Mój kod wygląda tak:

  1. <?php
  2. function wyniki(){
  3. $id=$_POST['id'];
  4. if(empty($id)){$losuj_id=rand(1,2);$id=$losuj_id;}
  5. $wybierz=mysql_query("SELECT * FROM ankieta WHERE an_id='$id'");
  6. while($row = mysql_fetch_array($wybierz)){
  7. $an_pytanie=$row["an_pytanie"];
  8. $an_odpowiedzi=$row["an_odpowiedzi"];}
  9. $a=0;
  10. $odpowiedz_wynik = $an_odpowiedzi;
  11. $odpowiedz_wynik = explode(', ', $odpowiedz_wynik);
  12. foreach ($odpowiedz_wynik as $value) {
  13. $a++;
  14. $suma_glosow_wynik = mysql_num_rows(mysql_query("select * from ankieta_oceny WHERE ano_id=$id AND ano_odpowiedz='$a'"));
  15. echo $suma_glosow_wynik.",";}
  16. return; }
  17. ?>


Z reguły wartość "a" będzie miała 3-5 wartości, i dlatego potrzebuję dynamicznie przekazać dane z tego do zmiennej.

  1. <?php
  2. $wykres="10,15,1,2,3";
  3. ?>


Kiedy w zmienną wpisze wynik() to dane jakoś uciekają, i zamiast kolejna funkcjia zadziałała to mi tylko wyświetla dane na ekranie (pewnie z polecenia echo).

Trochę chyba zagmatwałem moje pytanie, ale nie wiem, zobaczymy, może coś podpowiecie,

Pozdrawiam

Ten post edytował zman85 29.03.2009, 17:30:06
Go to the top of the page
+Quote Post
mls
post 29.03.2009, 17:52:44
Post #2





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


  1. <?php
  2. function wyniki ()
  3. {
  4.    $id = $_POST['id'];
  5.    if (empty($id))
  6.    {
  7.        $losuj_id = rand(1, 2);
  8.        $id = $losuj_id;
  9.    }
  10.    $wybierz = mysql_query("SELECT * FROM ankieta WHERE an_id=" . (int)$id);
  11.    while ($row = mysql_fetch_assoc($wybierz))
  12.    {
  13.        $an_pytanie = $row["an_pytanie"];
  14.        $an_odpowiedzi = $row["an_odpowiedzi"];
  15.    }
  16.    $a=0;
  17.    $odpowiedz_wynik = $an_odpowiedzi;
  18.    $odpowiedz_wynik = explode(', ', $odpowiedz_wynik);
  19.    $result = '';
  20.    foreach ($odpowiedz_wynik as $value)
  21.    {
  22.        $a++;
  23.        $suma_glosow_wynik = mysql_num_rows(mysql_query("select * from ankieta_oceny WHERE ano_id=" . (int)$id . " AND ano_odpowiedz=" . (int)$a));
  24.        $result .= $suma_glosow_wynik . ",";
  25.    }
  26.    return trim($result, ',');
  27. }
  28. ?>


Pomijam już kompletnie sposoby np. liczenia wyników - od tego jest w sqlu funkcja count().

Ten post edytował mls 29.03.2009, 17:54:04


--------------------
Go to the top of the page
+Quote Post
zman85
post 29.03.2009, 18:06:43
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 25.05.2005

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


Dziękuję pięknie za gotowca jak by nie patrzeć.

Jest już count(*) - zostało to wcześniej skopiowane ze złego miejsca.

Pozdrawiam i jeszcze raz Dziękuję.

Do zamknięcia
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 9.06.2024 - 23:48