Php Voting

hasemann

Mitglied
Hey Leute ich habe mal wieder ein Probelm!
Und zwar habe ich mir ein ganz simples Voting Script geschrieben nicht lachen aber es ist wirklich simples.
Ich habe nur ein Problem damit und zwar weiss ich nicht wie ich die Stimmen mir anzeigen lassen kann.
Also die Rechnung ist vom Prinzip her sehr einfach.
Die Anzahl der gesammten Stimmen durch 100 teilen und diesen Wert dann mal die Stimmen der spezifischen Antworten.

Hier ist mal mein Code:

Voting Script
<?php
include("css und config/config.php");
?>
<h1> Online-Voting </h1>

<?php
$anzeigen = mysql_query( "select * from fragen " );
$daten = mysql_fetch_array($anzeigen);
echo $daten['frage'];
?>
<br>
<form method="POST" action="votingcheck.php">
<?php
$anzeigen = mysql_query( "select * from antworten " );
while ($daten = mysql_fetch_array($anzeigen))
{
?>
<input type="radio" value="<? echo $daten['antwort']; ?>" name="antwort">
<? echo $daten['antwort']; ?>
<br>
<? } ?>
<br>
<input type="submit" value="Abstimmen" name="B1"></p>
</form>
<br>
<a href="votinganzeige.php" target="_blank">Zur Voting übersicht</a>


----------------------------------------------------------------------------------
Voting Prüfung:
<?php
include("css und config/config.php");
?>
<?php
$antwort = $_POST['antwort'];
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$anzeigen = mysql_query( "select * from voter where ip = '$ip' " );
$daten = mysql_fetch_array($anzeigen);
if ($daten['ip'] == $ip )
{
header ("Location: voting.php");
exit;
}
else
{
$einfuegen = mysql_query( "INSERT INTO auswertung ( antwort ) values ('$antwort') ");
$einfuegen = mysql_query( "INSERT INTO voter ( ip,timestamp ) values ('$ip','$time') ");
header ("Location: votingauswertung.php");
exit;
}
?>

Und für die Anzeig fällt mir nichts ein?Könnt ihr mir damit helfen?Ich hoffe ihr könnt meine Frage stellung verstehen.
Besten dank schonmal im vorraus!
 
Hey Leute ich habe mal wieder ein Probelm!
........................
Und für die Anzeig fällt mir nichts ein?Könnt ihr mir damit helfen?Ich hoffe ihr könnt meine Frage stellung verstehen.
Besten dank schonmal im vorraus!

HI

Das leichteste wäre wen du dir,einen Strich malst den in 20Teile machst und die einfärbst,und jetzter User für 10Punkte zb. einen Strich bekommt!

Mfg Jooohny
 
Kleines Beispiel.

Du hast zwei Bilder, ein rotes und ein weisses, beide sind 1x1 Pixel klein.
PHP:
$count = 100; // maximale anzahl an stimmen oder so...
$votings = 23;

for( $i = 0; $i < $count; $i++ ) {
  if ( $i < $votings ) echo '<img src="rotes_bild.gif";
  else echo '<img src="weisses_bild.gif";
}
Und was gibt dieses Beispiel als Ergebnis aus?
Richtig, einen 100 Pixel langen Balken, bei welchem die ersten 23 Pixel rot sind, die restlichen 77 sind weiss.

Dieses Snippet macht also nichts anderes, als $i so lange hoch zählen, bis es den Wert von $count erreicht hat. In der Schleife selbst wird lediglich überprüft, ob die Anzahl der Votings bereits überschritten ist. Wenn nein wird ein rotes Bild ausgegeben, wenn ja ein weisses.

Damit solltest du auf jeden Fall etwas anfangen können, auch wenn es nur ein Denkanstoss sein soll. :)
 
Zuletzt bearbeitet:
Ich würde es wenn mit Bild, dann etwa so machen, statt mit ner Schleife:
PHP:
echo '<img src="rotes_bild" width="' .( $count - $votings ). '" /> <img src="weisses_bild" width="' .$votings. '" />';
 
Ich habs so gemacht:

PHP:
		while($row2 = $abf2->getObjOfArray()) {
			
			if ($row2->klicks != 0) {
				$klick[$row2->id] = round((100/$row->Gesamtklicks) * $row2->klicks, 2);
				$weite[$row2->id] = $klick[$row2->id] * 2.5;
			}
			else {
				$klick[$row2->id] = 0;
				$weite[$row2->id] = 2;
			}
			
			echo '
			<table cellpadding="0" cellspacing="0" border="0">
				<tr>
					<td colspan="2">
						<b>'.$row2->wert.'</b> - <i>'.$row2->klicks.' Stimme(n)</i>
					</td>
				</tr>
			</table>
			<table cellpadding="0" cellspacing="0" border="0">
				<tr>
					<td width="60">
						'.$klick[$row2->id].'%
					</td>
					<td width="'.$weite[$row2->id].'" bgcolor="#BFBFBF"></td>
				</tr>
			</table>
			<br />
			';
			
		}

Ist ja das selbe was ihr meintet ;)

Wie das aussieht kann man hier angucken:
http://de.klein0r.de/votes-show-4.html
 
Zurück