ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
633
633
EMPFEHLEN
-
Hallo!
Ich habe nach einem Tutorial ein Umfragescript gebaut und auch verändert.
Hier könnt ihr es sehen:
http://mysteryandcrime.de/umfrage/
Nun zu meinem Problem:
Ich würde ganz gerne einen Zähler einbauen, der unten ausgibt wie viele insgesamt abgestimmt haben und die Grafik nicht als einzelne Striche sondern als Balken haben und am besten noch mit Prozentanzeige und in Klammern dahinter wie viele Stimmen das waren.
Leider finde ich nichts was mir helfen könnte und ich habe keine Idee wie ich es umsetzen könnte.
Ich möchte nämlich ungern ein fertiges Script mit Copyright darunter nehmen.
Höchstens im Quelltext, aber nicht für den Benutzer sichtbar.
Kann mir dabei jemand helfen?
Vielen Dank im Voraus!
Gruß
acquireGebildet ist, wer weiß, wo er findet, was er nicht weiß. - Georg Simmel
-
05.01.04 19:19 #2
Hallo acquire,
ersteinmal währe es nicht shclecht wenn du einen aussagkräftigen Teil deines Quelltextes posten würdest.
zum Thema Balken :
Erzeuge mit einem Grafikprog. einen Balken 1px breit und z.B. 5px hoch
und speichere ihn unter z.b. balken_1x5.jpg
dann rufe den Balken für die Statistik z.B.so auf:
<img src="balken1x5.jpg" border="0" witdh="<? echo $anzahl_gesammte_stimmen; ?>">
Gruß
Ultrasonic
-
05.01.04 19:21 #3
- Registriert seit
- Jul 2003
- Ort
- Gronau, Nordrhein-Westfalen, Germany, Germany
- Beiträge
- 634
Wie %-Rechnung geht müsstest Du ja eigentlich wissen
Und Variablen zusammenzählen kann ja auch nicht schwer sein :P
Und zur strichanzeige...
nimm einen 1x1 px großen pkt. und schau wieviel px 100% haben sollen!
Im einfachsten fall nehmen wir mal 100px für 100%.
Wenn du alle %Werte hast, machst du per width den strich einfach so lang wie die % zahl groß ist
Mit höheren px Werten musste halt einfach ein wenig rumprobieren!
Ist villeicht nicht die eleganteste Erklärung, aber jeder der Spaß am ausprobieren hat, sollte es mit dieser Lösung hinbekommen!
cYa
-
man kann doch wunderbar dynamische Images mit php erstellen und diese in eienr Tabelle ausgeben.
das ist die image.php und die wird mit diesem Script aufgerufenPHP-Code:<?php
if ($breite<>0)
{ (int)$prozentbreite = $breite/$gesamt*100; }
else
{ $prozentbreite = 1; }
$img = imagecreate($prozentbreite,20);
if ($color==1)
{
$vcolor = imagecolorallocate($img, 211,211,211);
}
if ($color==2)
{
$vcolor = imagecolorallocate($img, 47,79,79);
}
if ($color==3)
{
$vcolor = imagecolorallocate($img, 255,250,250);
}
$bcolor = imagecolorallocate($img, 0,0,0);
imagefilledrectangle($img,0,0,$prozentbreite,20,$vcolor);
imagepng($img);
imagedestroy($img);
?>
interessant ist für dich eher nur der untere Teil abPHP-Code:<html><head><title>Showpoll</title>
<link rel=stylesheet type="text/css" href="default.css">
</head>
<?php
include ('color.inc');
include ('mysqlvar.php');
$siteInfo=$si[16];
$headZusatz[0]="<b class='code'>$tt_Text[108]<br>".$frage."</b>";
include("head.php");
include('abstaende.php');
$t = new tabelle;
$t->rows = $anzahl+1;
$t->cols = 3;
$t->einrueck = $STL;
$t->rowspan = $anzahl+1; // ecount = eintraege zaehler da jeder beitrag 3 reihen *3 s.u.
$t->border = 0;
$t->sb = array("200","40","200");
$t->klaraPfad = "bilder/klara.gif";
$t->ra = $SBR;// reihen abstand
/* end TABELLEN EINSTELLUNGEN */
$t->doTable("open");
$db=mysql_connect($dbserver,$dbuser,$dbpass);
if (!$db) { die( "<tr><td><b class=\"fehlermeldung\">".$f_Text[8]."</b></td></tr></table></body></html>" ); }
mysql_select_db($dbname,$db);
$query= "SELECT * FROM polls WHERE tid=".$tid;
$result = mysql_query($query,$db);
if (!$result) { die ( "<tr><td><b class=\"fehlermeldung\">".$f_Text[14]."</b></td></tr></table></body></html>" ); }
$ergebnis=mysql_fetch_array($result,MYSQL_ASSOC);
if ($typ == "Abstimmen")
{
$dayafter = time()-86400;
// $dayafter = time()-40;
$query3 = "DELETE FROM pollsperre WHERE zeit < $dayafter";
$result3 = mysql_query($query3,$db);
$userip = getenv('REMOTE_ADDR');
$query2 = "SELECT * FROM pollsperre WHERE ip = '$userip' AND pollnummer = $tid";
$result2 = mysql_query($query2,$db);
$lines2 = mysql_num_rows($result2);
$rower = mysql_fetch_array($result2,MYSQL_ASSOC);
if ($lines2 == 0)
{
if ($antwort == 1)
{
$ergebnis["zaehler1"] = $ergebnis["zaehler1"] +1;
}
if ($antwort == 2)
{
$ergebnis["zaehler2"] = $ergebnis["zaehler2"] +1;
}
if ($antwort == 3)
{
$ergebnis["zaehler3"] = $ergebnis["zaehler3"] +1;
}
if ($antwort == 4)
{
$ergebnis["zaehler4"] = $ergebnis["zaehler4"] +1;
}
if ($antwort == 5)
{
$ergebnis["zaehler5"] = $ergebnis["zaehler5"] +1;
}
$akttime = time();
$query3 = "INSERT INTO pollsperre (ip , zeit, pollnummer) VALUES ('$userip', '$akttime', '$tid')";
$result3 = mysql_query($query3,$db);
}
}
$gesamt = 0;
$gesamt = $ergebnis["zaehler1"]+$ergebnis["zaehler2"]+$ergebnis["zaehler3"]+$ergebnis["zaehler4"]+$ergebnis["zaehler5"];
echo "<tr><td>".$antwort1."</td><td align=\"center\">".$ergebnis["zaehler1"]."</td><td><img src=\"image.php?breite=".$ergebnis["zaehler1"]."&gesamt=".$gesamt."&color=1\"></td></tr>";
echo "<tr><td>".$antwort2."</td><td align=\"center\">".$ergebnis["zaehler2"]."</td><td><img src=\"image.php?breite=".$ergebnis["zaehler2"]."&gesamt=".$gesamt."&color=2\"></td></tr>";
if ($anzahl>=3)
{
echo "<tr><td>".$antwort3."</td><td align=\"center\">".$ergebnis["zaehler3"]."</td><td><img src=\"image.php?breite=".$ergebnis["zaehler3"]."&gesamt=".$gesamt."&color=1\"></td></tr>";
}
if ($anzahl>=4)
{
echo "<tr><td>".$antwort4."</td><td align=\"center\">".$ergebnis["zaehler4"]."</td><td><img src=\"image.php?breite=".$ergebnis["zaehler4"]."&gesamt=".$gesamt."&color=2\"></td></tr>";
}
if ($anzahl==5)
{
echo "<tr><td>".$antwort5."</td><td align=\"center\">".$ergebnis["zaehler5"]."</td><td><img src=\"image.php?breite=".$ergebnis["zaehler5"]."&gesamt=".$gesamt."&color=1\"></td></tr>";
}
echo "<tr><td>".$tt_Text[91]."</td><td align=\"center\">".$gesamt."</td><td><img src=\"image.php?breite=".$gesamt."&gesamt=".$gesamt."&color=3\"></td></tr></table>";
$query = "UPDATE polls SET zaehler1='".$ergebnis["zaehler1"]."', zaehler2='".$ergebnis["zaehler2"]."', zaehler3='".$ergebnis["zaehler3"]."', zaehler4='".$ergebnis["zaehler4"]."', zaehler5='".$ergebnis["zaehler5"]."' WHERE tid=".$tid;
$result = mysql_query($query,$db);
if (!$result) { die ("<tr><td><b class=\"fehlermeldung\">".$f_Text[25]."</b></td></tr></table></body></html>"); }
?>Anschauen kannste es dir hierPHP-Code:$gesamt=0;
http://www.joelh.de/jbb/topiczeigen.php?nr=1457&seite=1
Einfach auf ansehen klicken.
-
Danke für die Antworten.
Ich werde gleich mal etwas herumprobieren.
Jetzt ist mir auch wieder eingefallen das das Tutorial von hier stammt.
Hier noch mal der Code, so wie ich ihn habe:
Edit:PHP-Code:<?PHP
// reloadsperre //
function schreiben($datei,$mode) {
global $REMOTE_ADDR;
$fp = @fopen($datei,$mode);
flock($fp,2);
fwrite($fp,$REMOTE_ADDR."|".time()."\n");
flock($fp,3);
fclose($fp);
}
function ip_sperre() {
global $REMOTE_ADDR;
$reloadlogdatei = "ips.txt";
$anzahleintraege = 50; // nach 50 IPs werden die alten gelöscht
$zeitlimit = 3600; // IP Sperr-Zeit
// existiert die Datei? Wenn nicht wird sie erstellt.
if(!file_exists($reloadlogdatei)) {
$datei = fopen($reloadlogdatei,"w+");
fclose($datei);
}
$fp = file($reloadlogdatei);
$size = sizeof($fp);
if($size >= $anzahleintraege){
schreiben($reloadlogdatei,"w");
// Prüft, ob eine IP in der Liste steht
}
else {
$ausgabe=false;
for ($i=0;$i<$size;$i++) {
$zeile = explode("|",$fp[$i]);
if ($zeile[0] == $REMOTE_ADDR AND $zeile[1] > (time()-$zeitlimit)){
// IP wird gefunden
$ausgabe = true;
}
}
// speichert IP
schreiben($reloadlogdatei,"a+");
}
return $ausgabe;
}
// Einstellungen //
$frage = "Umfrage: mysteryandcrime.de - Name?"; // Thema der Umfrage
$anzahl = 3; // Anzahl der Auswahloptionen
$option[0] = "mysteryandcrime.de - Die Fanpage über das Unlösbare"; // Option 1
$option[1] = "mysteryandcrime.de - Die Fanpage zur Homepage";
$option[2] = "mysteryandcrime.de - Die Fanpage zur Hörspielserie";
$option[3] = "mysteryandcrime.de - ";
$option[4] = "mysteryandcrime.de - ";
$farbe[0]="#0000FF"; // Farbe des 1. Balkens
$farbe[1]="#00FF00"; // usw.
$farbe[2]="#FF0000";
$farbe[3]="#FFFF00";
$farbe[4]="#00FFFF";
$datei = "ergebnis.txt";
if (file_exists($datei)) { //existiert die Datei?
$votes=file($datei); //dann in Array "$votes" einlesen
}
else { //wenn nicht
$handle = fopen($datei, "w+"); //Datei anlegen
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
fputs($handle,"0\n"); //"0" in Datei schreiben
}
fclose($handle);
$votes=file($datei); //Datei in Array "$votes" einlesen
}
// Ergebnis anpassen und in die Datei schreiben //
if (($submitvote) && (ip_sperre()==false)) {
settype($votes[$radio],"integer");
$votes[$radio]++; //Option um eins erhoehen
$handle = fopen($datei, "w+");
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
settype($votes[$i],"integer");
fputs($handle,"$votes[$i]\n"); //Anzahl in Datei schreiben (mit Zeilenvorschub)
}
fclose($handle);
}
// Ausgabe //
echo "<H2>".$frage."</H2>\n\n"; //Ueberschrift schreiben
// Ergebnis als Balkengrafik //
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
$j=0;
echo $option[$i]." <FONT COLOR=\"".$farbe[$i]."\">"; //Option ausgeben und Farbe setzen
for($j; $j<$votes[$i]; $j++) { //fuer Anzahl der Votes
echo "|"; //je einen Strich ausgeben
}
echo " ".$votes[$i]."</FONT><BR>\n"; //Balken zu ende, also Zeilenumbruch
}
// Auswahlformular //
echo "<br><FORM ACTION=\"".$PHP_SELF."\" METHOD=\"Post\">\n"; //Formular anfangen
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
echo "<INPUT TYPE=\"radio\" NAME=\"radio\" VALUE=\"".$i."\">".$option[$i]."<BR>\n"; //Radiobutton anzeigen
}
echo "<INPUT TYPE=\"Submit\" VALUE=\"Abstimmen\" NAME=\"submitvote\"></FORM>"; //Formularende
?>
@ JoelH:
Basiert dein Script auf MySQL? Oder täusche ich mich da?Geändert von acquire (05.01.04 um 19:43 Uhr)
Gebildet ist, wer weiß, wo er findet, was er nicht weiß. - Georg Simmel
Ähnliche Themen
-
[PHP] Umfragescript erstellen
Von chris4life im Forum Stellenangebote (unentgeltlich)Antworten: 3Letzter Beitrag: 01.09.09, 11:19 -
Umfragescript
Von bifur81 im Forum PHPAntworten: 0Letzter Beitrag: 16.10.08, 19:30 -
Umfragescript
Von Mew im Forum PHPAntworten: 1Letzter Beitrag: 01.05.08, 14:06 -
php-Umfragescript mit Name, Strasse usw. ergänzen?
Von headhunter007 im Forum PHPAntworten: 3Letzter Beitrag: 07.09.07, 12:10 -
[PHP]-Das UmfrageScript von eurern Tutorials
Von Bloodyroar im Forum PHPAntworten: 3Letzter Beitrag: 03.12.03, 20:24





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen