Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Anketa u php-u sa MySQL

[es] :: PHP :: Anketa u php-u sa MySQL

[ Pregleda: 935 | Odgovora: 8 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

spezia
aleksinac,nis,srbija

Član broj: 134818
Poruke: 134
*.beobug.com.



Profil

icon Anketa u php-u sa MySQL08.10.2007. u 17:05


Imam logicki problem pa ako moze jedan savet.Hteo bih da napravim anketu sa mysql gde bi bila i arhiva anketa..
Sto se tice ankete:
Pravim dve tabele u bazi
1)
Anketa
id,name(pitanje ankete),value1,value2,...value10( 10 opcija za glasanje)..
2)
Result
id,counter1,counter2,...,counter10(cuva vrednost-brojac za svaku opciju glasanja)
Poenta je sledeca:
Kada izaberem opiju DA (value2,recimo),treba da iz baze pomocu id u counter2 doda +1,u ostala polja +0;
Imam silne probleme,pa me zanima da li se ovo resenje isplati ,da li vredi da cimam na ovaj nacin.
Da li ima neko bolji predlog za resenje ovog problema?
08.10.2007. u 17:05 

m_k
Sarajevo [BiH]

Član broj: 29364
Poruke: 307
89.146.186.*

Sajt: www.mkscripts.net


Profil

icon Re: Anketa u php-u sa MySQL08.10.2007. u 22:41
Dvije tabele
- pitanja (id | pitanje)
- odgovori (id | pitanjeId | odgovor | votes)

U tabelu pitanja dodas pitanje, zapamtis id, u tabelu odgovori dodajes ponuđene odgovore i onaj id upisujes u kolonu pitanjeId (nisi ogranicen na broj ponuđenih odgovora). Sql za povecanje broja bi bio "UPDATE odgovori SET votes=votes+1 WHERE id=$idOdgovora LIMIT 1".

Tako bi ja uradio, e sad jel to najbolji nacin ne znam.

May the force be with you...
08.10.2007. u 22:41 

vilyu
Beograd, Srbija

Član broj: 1188
Poruke: 374
91.148.89.*



Profil

icon Re: Anketa u php-u sa MySQL09.10.2007. u 08:04
Ako je potreba i Arhiva anketa, ja bih dodao i tabelu anketa, potencijalno sa datumima vazenja (od, do).

Predlozenu tabelu pitanja bih prosirio ID-jem ankete na koje se pitanje odnosi.
Zagledan u zvezdano nebo pametan covek poludi, a budala zaspi.
09.10.2007. u 08:04 

mVeliki
Miroslav Ćurčić
Novi Sad

Član broj: 19034
Poruke: 620
*.dynamic.sbb.co.yu.



Profil

icon Re: Anketa u php-u sa MySQL09.10.2007. u 08:20
Imaš u top temi "Treba mi skripta" linkove ka kolekcijama takvih već urađenih skripti,
pregledaj, isprobaj pa vidi kako su to oni uradili.

Negde sam pročitao: dobri programeri pišu kvalitetan kod, najbolji ne pišu, koriste skripte ovih prvih.
Znači pokupi njihova rešenja.
"The quieter you become, the more you are able to hear."
09.10.2007. u 08:20 

spezia
aleksinac,nis,srbija

Član broj: 134818
Poruke: 134
*.beobug.com.



Profil

icon Re: Anketa u php-u sa MySQL09.10.2007. u 18:50
A da pokusamo sa mojom idejom malo ..
Znaci imam dve tabele ..
Jedna ima pitanje i value1,value2,value10(vrednost za svaku opciju ankete).Druga tabela ima id,counter1,counter2,..counter10(koji pamti vrednost za svaku VALUE-brojac koliko je neko glasao za opciju).Kada hocu da glasam ja prosledjujem vrednost $choise(u formi sa radio buton to je 1,2,3,4..)
Code:


<?php

if(isset($_POST))
{
  $choise=$_POST['value'];
  if (empty($choise))
  {
    echo "Niste glasali !";
    exit;
  }
    $anketa_id=$_POST['id'];
}
$base="test";
  $table_count="resultat";
  $link=mysql_connect('localhost','root','a');
  if(!(mysql_select_db($base)))
     {
     echo "Baza nije selektovana.<BR>";
     }
     $var="SELECT * FROM $table_count ";
     if(!($result2=mysql_query($var)))
     {
     echo"Nije selektovana tabela $table_count";
     }
     while($counts=mysql_fetch_row($result2))
    {
     if($counts[0]==$anketa_id) //$counts[0] je ID druge tabele koji izjednacava ID sa prvom tabelom
     {
      $counter1=$counts[1];//ucitava vrednost iz tabele za polje value1 kako bi kasnije povecala za 1 ako je glasano za prvu opciju
      $counter2=$counts[2];
      $counter3=$counts[3];
      $counter4=$counts[4];
      $counter5=$counts[5];
      $counter6=$counts[6];
      $counter7=$counts[7];
      $counter8=$counts[8];
      $counter9=$counts[9];
      $counter10=$counts[10];
      }
     }
     echo "Broj iz baze $counter1,$counter2,$counter3..";//PROBNI KOD KOJI RADI POKAZUJE VREDNOST IZ TABELE
  switch($choise)
  {
    case "1":
    $counter1++;
    break;
      case "2":
      $counter2++;
      break;
        case "3":
        $counter3++;
        break;
          case "4":
          $counter4++;
          break;
            case "5":
            $counter5++;
            break;
              case "6":
              $counter6++;
              break;
                case "7":
                $counter7++;
                break;
                  case "8":
                  $counter8++;
                  break;
                    case "9":
                    $counter9++;
                    break;
                      case"10":
                      $counter10++;
                      break;
    }
    echo "Ovo su vrednosti u polja 1-2-3-4:->>1:$counter1 <br>2:$counter2<BR>3:$counter3<BR>4:$counter4<BR>";//PROBNI KOD ->RADI                  
    // UPIS PODATAKA U BAZU     
    $link=mysql_connect('localhost','root','a');
  if(!(mysql_select_db($base)))
     {
     echo "Baza nije selektovana.<BR>";
     };
  $query="INSERT INTO $table_count (counter1,counter2,counter3,counter4,counter5,counter6,counter7,counter8,counter9,counter10) VALUES ('$counter1','$counter2','$counter3','$counter4','$counter5','$counter6','$counter7','$counter8','$counter9','$counter10')WHERE id='$anketa_id' ";
  $result=mysql_query($query);
 if(!($result))
  {
   echo "Nije unet zapis u bazu,greska u kodu";
   }
   
?>


GRESKA NE UPISUJE PODATKE U BAZU( Javlja: "Nije unet zapis u bazu,greska u kodu")->To je za sada jedini problem,jer ako ne upise podatak u bazu i brojaci+1 nece raditi..
Kada obrisem uslov WHERE iz zadnjeg upita gde treba da upisuje samo u RED GDE JE ISTA VREDNOST ID,on upisuje u bazu,ali svaki unos,poseban id..
Ali sam primetio da rade brojaci->dobijem 1 u value1,sledeci broj u value4(ostala polja 0,zavisno koju opciju glasam)..
Meni treba da vrednosti glasanja pamti u isti red id-a koji ce biti isti sa id-om sa pitanjem ankete.

Edit by DakiPro: Nemoj dopustiti da ispadnes nekulturan zato sto pises velikim slovima.



[Ovu poruku je menjao dakipro dana 09.10.2007. u 22:07 GMT+1]
09.10.2007. u 18:50 

dr ZiDoo
Web Developer
Banja Luka

Član broj: 189
Poruke: 1718
87.250.121.*

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: Anketa u php-u sa MySQL09.10.2007. u 22:25
Code:

..) WHERE

odmakni jedna space
tu nema kašike....
09.10.2007. u 22:25 

vilyu
Beograd, Srbija

Član broj: 1188
Poruke: 374
91.148.89.*



Profil

icon Re: Anketa u php-u sa MySQL10.10.2007. u 07:18
A sta ces da uradis sutra kada ti bude trebalo da u jednoj anketi imas 11 odgovora? Prosirices tabelu jos jednom kolonom i malo prepraviti kod? A onda ti preksutra bas zatreba i dvanaesti odgovor. Ako vec pravis svoj kod, moj ti je dobronamerni predlog da prihvatis organizaciju tabela kako smo je m_k i ja prikazali.
Zagledan u zvezdano nebo pametan covek poludi, a budala zaspi.
10.10.2007. u 07:18 

spezia
aleksinac,nis,srbija

Član broj: 134818
Poruke: 134
*.beobug.com.



Profil

icon Re: Anketa u php-u sa MySQL10.10.2007. u 07:29
NECE !!!
Po ovim PROBNIM kodovima,lepo se vidi
da se prosledjuje ID (recimo 1),i $CHOISE (RECIMO 1,2,3,..zavisno koja je opcija glasana),Isto sa SELECT pokazuje uspesno polja iz baze,
i counter kada glasamo dodaje +1..Jedino NE UPISUJE U BAZU.Stvarno ne vidim zasto??
@vilyu
MA ok..ali posto sam se vec mucio,cisto da vidim i ovu ideju..Posle cu raditi i vasu.



[Ovu poruku je menjao spezia dana 10.10.2007. u 09:03 GMT+1]
10.10.2007. u 07:29 

mVeliki
Miroslav Ćurčić
Novi Sad

Član broj: 19034
Poruke: 620
*.dynamic.sbb.co.yu.



Profil

icon Re: Anketa u php-u sa MySQL11.10.2007. u 08:01
Mogao bi uz poruku o grešci dopisati i
Code:
echo mysql_errors();

Takođe bi bilo korisno i da ehuješ sam $query da vidiš kako je prosleđen.

BTW, nešto se ne sećam da je u okviru INSERT instrukcije uopšte dozvoljeno koristiti WHERE, čak i besmisleno.
"The quieter you become, the more you are able to hear."
11.10.2007. u 08:01 

[es] :: PHP :: Anketa u php-u sa MySQL

[ Pregleda: 935 | Odgovora: 8 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.