input type="radio"

Status
Niet open voor verdere reacties.

rth1972

Gebruiker
Lid geworden
28 jan 2003
Berichten
34
hoi allemaal,

heb een lyrics site waar bezoekers ook lyrics kunnen waarderen. ik wil dit graag via mysql laten lopen.

tot nu heb ik deze code

PHP:
$rate = $row['rate'];
$ratenumber = $row['ratenumber'];
$sql = $db->sql_query("SELECT rate, ratenumber FROM ".$prefix."_lyrics WHERE id = '$c_id'");
  while($row = $db->sql_fetchrow($sql)) {
  extract($row);
  	    if ($rate==0){
		echo "<form method='post' action='' value=\"submit\" name='addvote'>";
		for ($u=0; $u <= 10; $u++) {
echo "<input type=\"radio\" name=\"rate\" value=\"$u\">$u";
}
if ($u = 0){
echo " no vote selected";
} else
{

}
echo "<input type=\"hidden\" name=\"op\" value=\"savevote\">";
echo "<input name='addvote' type='submit' value='submit'>";
	echo "<br><br><b>No Votes Yet</b>";
	echo "</form>";
	}
        else
        {
		echo "<form method='post' action='' value=\"submit\" name='addvote'>";
		for ($u=0; $u <= 10; $u++) {
echo "<input type=\"radio\" name=\"rate\" value=\"$u\">$u";
}
echo "<input type=\"hidden\" name=\"op\" value=\"savevote\">";
echo "<input name='addvote' type='submit' value='submit'>";
          echo "<br>Average rating: $rate/10<br>";
		  echo "This song is rated <b>$ratenumber</b> times";   
	 }	
	 echo "</form>";
		}
		switch($op) {
	   
	     
		case "savevote":
					$db->sql_query("UPDATE ".$prefix."_lyrics SET rate='$rate + $u' where id='$c_id'") or die(mysql_error());
    	    break;
	}

maar het slaat niks op in de database. wat doe ik verkeerd?

alvast bedankt.

groetjes

robin
 
bedankt

ja hoor, maak gewoon contact met database

als ik via de database een waardering invul, komt het er gewoon te staan, dus geen no votes yet , maar de waardering
 
Ik kan niet echt veel wijs worden uit je code, maar volgens mij doe je dingen dubbel..

Laat 10 (1 t/m 10, je doet nu 0 t/m 10 (= 11)) radiobuttons zien, formuliertje erbij, vink eens een rate aan, druk dan op "submit" en laat dan de rate eens zien, eerst nog nix in de database zetten..

Als dit de juiste waarde heeft, zet het dan eens in de database. Haal dan de waarden op en kijk of dat nog steeds klopt.
Ga dan nog een keer stemmen, haal dan alle votes op, tel alles bij elkaar op en deel door het aantal (simpele wiskunde).
Voorbeeld: Post eens een 1 en een 5 (dat wordt dus 6), als daar bij het ophalen '3' uitkomt, dan werkt het.

Je hoeft ook maar 1x die radiobuttons te laten zien, als er geen votes zijn hoef je alleen de text maar te veranderen, niet de radiobuttons (lijkt mij..)

Dit is hoe ik het zou aanpakken, dus pruts daar eens wat mee zou ik zeggen :).

Ook zou ik je aanraden om overzicht in je code op te bouwen, je kan zo met geen mogelijkheid zien welke accolade ('{' en '}') waar bijhoort. Werk dus met tabjes of spaties om een mooie hierarchise structuur erin te krijgen, zodat het voor iedereen duidelijker wordt :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan