php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.05.2005, 13:13  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard Grafik in Votingscript

Hi Leute, bin durch zufall auf dieses Forum gelangt.

Ich habe folgendes Problem.

Ich arbeite gerade an ein PHP-Voting script auf reiner TXT Basis!

Meine Frage ist nun:
1. Wie kann ich die Stimmen in einer Grafikbalken erzeugen. Bsp:
Antwort 1 hat 1 Stimmer ergeben, also soll er die Grafik exakt 1mal wiedergeben.
Antwort 12 hat jetzt aber 22 Stimmen, also soll die Grafik exakt 22 mal nebeneinander ausgegeben werden. Wie kann ich das realisieren?

2. Wie kann man die Stimmen Prozentual ausrechnen lassen?`


Für jede Antwort ist ein txt File vorhanden.

Vorläufiges Script ist auf http://tomtaz.de.ms/Tests/umfrag/umfrage.php zu finden.

Über jede Info währe ich dankbar. Ich gucke da einfach nicht durch!
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.05.2005, 13:16  
Gast
 
Beiträge: n/a
Standard

1. Du nimmst ein Bild, das 1 px breit ist und setzt width="x" und x ist halt wie viel Prozent das von der Maximallänge ist. Du kannst davon und dahinter noch ein Bild setzen für abgerundete Ecken oder so. Das ist viel klüger als sie immerwieder zu wiederholen. Ansonsten mit einer for-Schleife.

2. stimmen_option * 100 / stimmen_gesamt
 
Alt 26.05.2005, 13:48  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

mhmm

Kannst du mal in etwa den Code hier reinschreiben, damit ich mir ein Bild machen kann, denn ich verstehe momentan nur Bahnhof...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 26.05.2005, 13:50  
Gast
 
Beiträge: n/a
Standard

Naja, das hängt davon ab wie dein Code aussieht. Stell mal ein paar fetzen rein. Sprich: Den Teil, der mit der Ausgabe der Stimmen zu tuen hat.
 
Alt 26.05.2005, 14:06  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Mhmm, das ist der Code der zum Auslesen gedacht ist:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<? 
// geht the config...
include('auswert/config.php'); 

?>
<html>
<head>
<title>Umfragen - tomtaz.de.ms</title>
</head>
<body>
<center>
<table border="1">
<tr>
<td><p align="left">Antwort: [b]<? echo $antwort1; ?></p></td>
<td>
<?php 
//zum auslesen des ersten Files
$ope1=fopen('logs/log_1.txt','r');
$ausles1=fgets($ope1,100);
echo $ausles1;
fclose($ope1);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort2; ?></p></td>
<td>
<?php 
//zum auslesen des zweiten Files
$ope2=fopen('logs/log_2.txt','r');
$ausles2=fgets($ope2,100);
echo $ausles2;
fclose($ope2);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort3; ?></p></td>
<td>
<?php 
//zum auslesen des 3 Files
$ope3=fopen('logs/log_3.txt','r');
$ausles2=fgets($ope3,100);
echo $ausles3;
fclose($ope3);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort4; ?></p></td>
<td>
<?php 
//zum auslesen des 4 Files
$ope4=fopen('logs/log_4.txt','r');
$ausles4=fgets($ope4,100);
echo $ausles4;
fclose($ope4);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort5; ?></p></td>
<td>
<?php 
//zum auslesen des 5 Files
$ope5=fopen('logs/log_5.txt','r');
$ausles5=fgets($ope5,100);
echo $ausles5;
fclose($ope5);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort6; ?></p></td>
<td>
<?php 
//zum auslesen des 6 Files
$ope6=fopen('logs/log_6.txt','r');
$ausles6=fgets($ope6,100);
echo $ausles6;
fclose($ope6);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort7; ?></p></td>
<td>
<?php 
//zum auslesen des 7 Files
$ope7=fopen('logs/log_7.txt','r');
$ausles7=fgets($ope7,100);
echo $ausles7;
fclose($ope7);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort8; ?></p></td>
<td>
<?php 
//zum auslesen des 8 Files
$ope8=fopen('logs/log_8.txt','r');
$ausles8=fgets($ope8,100);
echo $ausles8;
fclose($ope8);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort9; ?></p></td>
<td>
<?php 
//zum auslesen des 9 Files
$ope9=fopen('logs/log_9.txt','r');
$ausles9=fgets($ope9,100);
echo $ausles9;
fclose($ope9);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort10; ?></p></td>
<td>
<?php 
//zum auslesen des 10 Files
$ope10=fopen('logs/log_10.txt','r');
$ausles10=fgets($ope10,100);
echo $ausles10;
fclose($ope10);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort11; ?></p></td>
<td>
<?php 
//zum auslesen des 11 Files
$ope11=fopen('logs/log_11.txt','r');
$ausles11=fgets($ope11,100);
echo $ausles11;
fclose($ope11);?> Stimmen!</td>
</tr><tr>
<td><p align="left">Antwort: [b]<? echo $antwort12; ?></p></td>
<td>
<?php 
//zum auslesen des 12 Files
$ope12=fopen('logs/log_12.txt','r');
$ausles12=fgets($ope12,100);
echo $ausles12;
fclose($ope12);?> Stimmen!</td>
<tr>
</table>
</body>
</html>
und das der Code von der Config.php

Code:
<?php 
//Frage:
$frage = "Wie ist deine Lieblingsfarbe";

//Angaben zu den Antworten...
$antwort1 = "Blau";
$antwort2 = "Gelb";
$antwort3 = "Türkis";
$antwort4 = "Schwarz";
$antwort5 = "Weiß";
$antwort6 = "Braun";
$antwort7 = "Grün";
$antwort8 = "Dunkelblau";
$antwort9 = "Dunkelbraun";
$antwort10 = "Dunkelgrün";
$antwort11 = "Orange";
$antwort12 = "Rot";

//erfolgsmeldung
$erfolg = "Sehr geehrter User. Ich habe Ihre Antwort in meiner Datenbank verzeichnet!";
$ergeb = "Ergebnis:<a href=../ergebnis.php>hier!</a>";
//fehlermeldungen:
/*Hier die Fehlermeldung das er schon mal gevotet hat*/
$cookiefehler="Leider haben Sie schon mal gewählt, und können deshalb nicht noch mal Wählen!";
$sendfehler="Leider haben sie keine Antwort ausgewählt, bitte klicken Sie auf zurück, wählen eine Antwort, und senden es erneut ab!";

 ?>
Kannst du damit was anfangen?
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 26.05.2005, 14:23  
Erfahrener Benutzer
 
Registriert seit: 19.06.2004
Beiträge: 216
Tschuu
Standard

hmm... ich hab das bei mir anderst gemacht! Ich hab die balkenlänge in prozent ausgegeben:

PHP-Code:
<?php
while( 'schleife für die votes' ) {
  
$width=round($anzahl_der stimmen/$stimmen_gesamt*100);
  echo 
"[img]balken.gif[/img]".$width."%(".$anzahl_der stimmen.")";
}
echo 
"Insgesamt".$stimmen_gesamt."Stimmen";
?>
Tschuu ist offline  
Alt 26.05.2005, 14:25  
Erfahrener Benutzer
 
Registriert seit: 22.03.2005
Beiträge: 355
faux
faux eine Nachricht über ICQ schicken faux eine Nachricht über AIM schicken faux eine Nachricht über MSN schicken faux eine Nachricht über Yahoo! schicken
Standard

@tomtaz:

Setzt mal in dem Beitrag oben die code-Tags auf PHP-Tags und die <? Tags auf <?php Tags. Dann hast du eine Syntaxhervorhebung.
__________________
Wer weiß dass er nichts weiß, weiß mehr, als der der nicht weiß dass er nichts weiß.
www.e-faux.com
faux ist offline  
Alt 26.05.2005, 14:27  
Gast
 
Beiträge: n/a
Standard

Du solltest dich dringend zum Thema Arrays und Schleifen.

Also, ich hab mal eben aufgeräumt und das einfach so gemacht, dass es prozentual angezeigt wird:

config.php:

PHP-Code:
<?php 
//Frage: 
$frage "Wie ist deine Lieblingsfarbe"

//Angaben zu den Antworten... 
$antwort[1] = "Blau"
$antwort[2] = "Gelb"
$antwort[3] = "Türkis"
$antwort[4] = "Schwarz"
$antwort[5] = "Weiß"
$antwort[6] = "Braun"
$antwort[7] = "Grün"
$antwort[8] = "Dunkelblau"
$antwort[9] = "Dunkelbraun"
$antwort[10] = "Dunkelgrün"
$antwort[11] = "Orange"
$antwort[12] = "Rot"

//erfolgsmeldung 
$erfolg "Sehr geehrter User. Ich habe Ihre Antwort in meiner Datenbank verzeichnet!"
$ergeb "[b]Ergebnis:[/b]<a href=../ergebnis.php>hier!</a>"
//fehlermeldungen: 
/*Hier die Fehlermeldung das er schon mal gevotet hat*/ 
$cookiefehler="Leider haben Sie schon mal gewählt, und können deshalb nicht noch mal Wählen!"
$sendfehler="Leider haben sie keine Antwort ausgewählt, bitte klicken Sie auf zurück, wählen eine Antwort, und senden es erneut ab!"

 
?>
Deine Ausgabe:
PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<? 
// geht the config... 
include('auswert/config.php'); 

?> 
<html> 
<head> 
<title>Umfragen - tomtaz.de.ms</title> 
</head> 
<body> 
<center> 
<table border="1"> 
<?
$ergebnis 
= array();
$stimmen  0;
for(
$i 1<= count($antwort); i++) {
  
//zum auslesen der $i-ten Datei 
  
$fd           fopen("logs/log_$i.txt",'r'); 
  
$ergebnis[$i] = (integer)fgets($fd100); 
  
$stimmen     += $ergebnis[$i];
  
fclose($fd);
}

if(
$stimmen == 0) die('Keine Stimmen abgegeben!'); // Um Devsion By Zero zu vermeiden

for($i 1<= count($antwort); i++) {
?>
<tr> 
<td><p align="left">Antwort: [b]<? echo $antwort[$i]; ?></p></td> 
<td> 
<? 
  
echo round($ergebnis[$i] * 100 $stimmen);
?> %</td> 
</tr>
<? ?>
</table> 
</body> 
</html>
In allen anderen Dateien musst du immer $antwortX durch $antwort[X] ersätzen, sonst geht es nicht.

EDIT: Mist, alle schneller als ich.
 
Alt 26.05.2005, 14:31  
Erfahrener Benutzer
 
Registriert seit: 22.03.2005
Beiträge: 355
faux
faux eine Nachricht über ICQ schicken faux eine Nachricht über AIM schicken faux eine Nachricht über MSN schicken faux eine Nachricht über Yahoo! schicken
Standard

Ich würde mal das ganze in eine Schleife setzen...
Arrays wären auch nicht fehl am Platz...

EDIT:
Ups, wärend dem Durchsehen des Codes war wohl wer anderer schneller...
__________________
Wer weiß dass er nichts weiß, weiß mehr, als der der nicht weiß dass er nichts weiß.
www.e-faux.com
faux ist offline  
Alt 26.05.2005, 14:38  
Gast
 
Beiträge: n/a
Standard

Ich hab zwei Schleifen benutzt, da der Quelltext mit einer Schleife wohl nicht so leicht wäre (da ja erstmal die Gesamtsumme bestimmt werden muss, was auf Grund der vielen Dateien nicht mit einfachem Quelltext und nur einer Schleife möglich ist).
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Grafik automatisch aktuallisieren suggi2000 PHP Tipps 2008 1 28.07.2008 10:28
TinyMCE Editor mit GD Grafik rezix PHP Tipps 2008 8 18.12.2007 22:46
Grafik positionieren nixdorf HTML, Usability und Barrierefreiheit 1 10.04.2007 11:27
GD-lib Grafik includen! PHP Tipps 2007 2 02.01.2007 12:33
[Erledigt] Grafik in Scheiben schneiden PHP Tipps 2006 6 02.05.2006 18:23
Text und Grafik zentriert in einer Zeile php_frage HTML, Usability und Barrierefreiheit 5 26.04.2006 12:48
Grafik drucken PHP Tipps 2006 13 24.02.2006 23:48
grafik vorschau vor dem upload bark PHP Tipps 2005-2 4 18.09.2005 01:56
Dynamischer Text in einer Grafik per Formular einfügen PHP Tipps 2005-2 2 19.08.2005 00:55
Grafik über mehrere Zellen einer Tabelle neodrei HTML, Usability und Barrierefreiheit 9 18.08.2005 19:26
[Erledigt] Text + Grafik mit display:inline HTML, Usability und Barrierefreiheit 0 26.07.2005 13:50
in zelle oben text und unten grafik am rand janni HTML, Usability und Barrierefreiheit 4 29.06.2005 23:35
Grafik, Kurvendiagramm Sonja PHP Tipps 2005 2 24.01.2005 21:06
Grafik ausgeben -> nur Zeichnesalat PHP Tipps 2004 18 01.09.2004 16:03
Grafik in Grafik einfügen Filewalker PHP Tipps 2004 3 20.06.2004 14:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
voting script, www.ope7, php voting grafik erstellen, votingscript php, php grafikbalken, www.ope7.de

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.