Autor Zpráva
Peter45
Profil
No tak fajn mozna som cvok ale stale nechapem jak na to...Prestudoval som tu toho viac, a narazil som na temu Odkaz kde mi kod nizsie funguje, teda neviem ci funguje ale data do db to zapise...
<?php
$spojeni = MySQL_connect("mysql.webzdarma.cz","mojedb","heslo");
mysql_select_db('mojedb', $spojeni); 
$ID_hodnoceni=1;
$vysledek=mysql_query("SELECT pocet_hodnoceni, soucet_hodnoceni FROM hodnoceni WHERE ID_hodnoceni='".$ID_hodnoceni."' ;");
$zaznam=MySQL_Fetch_Array($vysledek); echo mysql_error(); 
  $pocet_hodnoceni = $zaznam["pocet_hodnoceni"];
  $soucet_hodnoceni = $zaznam["soucet_hodnoceni"];
$vysledek=mysql_query("UPDATE hodnoceni SET soucet_hodnoceni='".($_POST["oznaceno"]+$soucet_hodnoceni)."',  pocet_hodnoceni='".($pocet_hodnoceni+1)."' ;");
//$soucet_hodnoceni/$pocet_hodnoceni=$prumer_hodnoceni; 
$prumer_hodnoceni = $soucet_hodnoceni/$pocet_hodnoceni;
   if($prumer_hodnoceni<1.5)
     echo "<img src='img/1.png'>";
   else 
      if($prumer_hodnoceni<2.5)
        echo "<img src='img/2.png'>";
      else
         if($prumer_hodnoceni<3.5)
          echo "<img src='img/3.png'>";
         else
           if($prumer_hodnoceni<4.5)
            echo "<img src='img/4.png'>";
           else
             if($prumer_hodnoceni<5)
              echo "<img src='img/5.png'>";
?>


No ja stale nechapem jak to dostat do mojich clankov?Teda mam druhu tabulku v db kde sa ukladaju clanky, na webe sa teda zobrazi nazov a po kliku na nazov sa preklikne na detail clanku...a do tohoto detailu chcem toto hodnotenie.
okolojdouci
Profil *
Peter45:
No tak fajn mozna som cvok
A možná ne. Ale asi se moc nesnažíš. Rozumíš tomu, co ten kód dělá?

a do tohoto detailu chcem toto hodnotenie
Co ti brání tam ten kód dát?
A proč tady máš i ten UPDATE?
Peter45
Profil
No tak neviem ci robim dobre, trochu som sa stym pohral...Takze tabulka kde su clanky ma strukturu: id, nazov a popis + doplnil som ju o pocet_hodnoceni, soucet_hodnoceni.Kod som poupravil:
<form method="POST" action="">


<?php
$spojeni = MySQL_connect("localhost","meno","heslo");
mysql_select_db('tabulka', $spojeni); 
//$ID_hodnoceni=1;
$vysledek=mysql_query("SELECT pocet_hodnoceni, soucet_hodnoceni FROM clanky WHERE id='".$id."' ;");
$zaznam=MySQL_Fetch_Array($vysledek); echo mysql_error(); 
  $pocet_hodnoceni = $zaznam["pocet_hodnoceni"];
  $soucet_hodnoceni = $zaznam["soucet_hodnoceni"];
$vysledek=mysql_query("UPDATE clanky SET  soucet_hodnoceni='".($_POST["oznaceno"]+$soucet_hodnoceni)."',  pocet_hodnoceni='".($pocet_hodnoceni+1)."' WHERE id = '$id' ;");
//$soucet_hodnoceni/$pocet_hodnoceni=$prumer_hodnoceni; 
$prumer_hodnoceni = $soucet_hodnoceni/$pocet_hodnoceni;
   if($prumer_hodnoceni<1.5)
     echo "<img src='1.png'>";
   else 
      if($prumer_hodnoceni<2.5)
        echo "<img src='2.png'>";
      else
         if($prumer_hodnoceni<3.5)
          echo "<img src='3.png'>";
         else
           if($prumer_hodnoceni<4.5)
            echo "<img src='4.png'>";
           else
             if($prumer_hodnoceni<5)
              echo "<img src='5.png'>";
              
?>
<blockquote>
1<input type=radio name=oznaceno value=1>
2<input type=radio name=oznaceno value=2>
3<input type=radio name=oznaceno value=3>  
4<input type=radio name=oznaceno value=4> 
5<input type=radio name=oznaceno value=5> 
</blockquote>
<input type=submit value="Zhodnotit" class="button" >




</form> 


Vyjadrite sa ci je to takto dobre, ono to aj funguje,teda ked kliknem na button tak zarata pre dany id clanku pocet aj soucet...co mne ale vadi je ze aj ked dam refresh stranky tak pripocita pocet...to nieje dobre.Jak to osetrim?

A proč tady máš i ten UPDATE? a preco nie?
okolojdouci
Profil *
Peter45:
ale vadi je ze aj ked dam refresh stranky tak pripocita pocet

A proč tady máš i ten UPDATE? a preco nie?

Právě proto.
Když chceš ošetřit, aby ti tohle refresh nedělal, nasměruj si formulář na nějaký jiný php soubor, v něm zpracuj UPDATE a potom přeměruj (header location, google v této diskusi) zpátky na stránku s formulářem.
Peter45
Profil
HM, skusil som riadok 12 upravit takto:
$vysledek=mysql_query("UPDATE clanky SET  soucet_hodnoceni='".($_POST["oznaceno"]+$soucet_hodnoceni)."',  pocet_hodnoceni='".($_POST["pocet"]+$pocet_hodnoceni)."' WHERE id = '$id' ;");


A do formu som pridal
<input name="pocet" type="hidden" id="pocet" value="1">


Vcul to vcelku funguje...teda chcem povedat ze pri navsteve clanku mi to uz pocet +1 neprirata ani ked davam refresh. Ale ked dam kliknut na button cize aktivujem form tak to vse zapise ale uz zasa pri refreshi pripocitava...To stym updatom vobec neviam jak na to
okolojdouci
Profil *
Peter45:
HM, skusil som riadok 12 upravit takto:
Soutěž "najděte 12 rozdílů"?

Můžeš si to zjednodušit:

$vysledek=mysql_query("UPDATE clanky SET  soucet_hodnoceni=soucet_hodnoceni+".$_POST["oznaceno"]).",  pocet_hodnoceni=pocet_hodnoceni+1 WHERE id = ".$id);


uz zasa pri refreshi pripocitava
Četls, co jsem psal v #4?
okolojdouci
Profil *
oprava:

$vysledek=mysql_query(
"UPDATE clanky SET  
soucet_hodnoceni=soucet_hodnoceni+".$_POST["oznaceno"].",  
pocet_hodnoceni=pocet_hodnoceni+1 
WHERE id = ".$id
);

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0