Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazanie wyniku funkcji z pętlą do zmiennej
Forum PHP.pl > Forum > Przedszkole
zman85
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
mls
  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().
zman85
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.