- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 24-06-2005, 10:48
chrisibrand
 Junior Member
Links : Onlinestatus : chrisibrand ist offline
Registriert seit: Apr 2005
Beiträge: 70
chrisibrand ist zur Zeit noch ein unbeschriebenes Blatt
Question Berechnen von Datensätzen

Hallo,

möchte derzeit mir eine Umfrage erstellen, nun stellt sich mir die Frage wie ich die Votes von den Fragen erstmal zusammen zählen kann.
Die Abrage ist kein problem
Aber wie berechne ich die einzelen datensätze. derzeit sind dort 3 enthalten. Kann man das mit einer array machen?

PHP-Code:
    $abfrage_votes "SELECT votes FROM umfrage_antwort WHERE id = '$umfrage' ";
    
$ergebnis_votes mysql_query($abfrage_votes);
        while(
$row_votes mysql_fetch_object($ergebnis_votes))
        {
$row->votes 
        

für einen tip wäre ich sehr dankbar.
Mit Zitat antworten
  #2 (permalink)  
Alt 24-06-2005, 10:56
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

meinst du sowas wie COUNT(*) ?

Ich würde die gewählten Antworten direkt in ein Feld zu der Antwort speichern.

D.h.

antwort1 | gewählt 5x
antwort2 | gewählt 1x


Könnte sonst langsam werden.... (je nachdem wie du noch verknüpfst etc. etc.)
Mit Zitat antworten
  #3 (permalink)  
Alt 24-06-2005, 11:09
magman
 Junior Member
Links : Onlinestatus : magman ist offline
Registriert seit: Oct 2002
Beiträge: 162
magman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

oder wenn du es mit der mysql abfrage so machen willst, kommst du an die anzahl der datensätze einfach mit:
PHP-Code:
$abfrage_votes "SELECT votes FROM umfrage_antwort WHERE id = '$umfrage' ";
$ergebnis_votes mysql_query($abfrage_votes);
$anzahl_votes mysql_num_rows($ergebnis_votes); 
Mit Zitat antworten
  #4 (permalink)  
Alt 24-06-2005, 11:18
chrisibrand
 Junior Member
Links : Onlinestatus : chrisibrand ist offline
Registriert seit: Apr 2005
Beiträge: 70
chrisibrand ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Genau mysql_num_rows($ergebnis_votes) ist eine gute idee aber jetzt noch meine zweite frage ich muß ja jetzt jeden einzelnen noch berechen.

von der gesamtzahl. wie bekomme ich denn jetzt noch die einzelnen werte rauß? die ich hinterher ja noch berechnen muß

Geändert von chrisibrand (24-06-2005 um 11:22 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 24-06-2005, 11:27
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von chrisibrand
von der gesamtzahl. wie bekomme ich denn jetzt noch die einzelnen werte rauß? die ich hinterher ja noch berechnen muß
kannst du das mal etwas weniger "deppert" und in verständlichem deutsch formulieren?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 24-06-2005, 12:06
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das ist keine gute idee mit mysql_num_rows

Oder stehen in den einzelnen Ergebniszeilen noch wichtige Sachen drinne?

Wie ich schon sagte, benutze COUNT(*)


Denn wenn du sagen wir mal 30.000 Votes hast, würde deine Query dir 30.000 Zeilen zurückgeben, die dann wiederum durchlaufen werden müßten. Meine Query gibt dir 1 Zeile zurück -> viel performanter
Mit Zitat antworten
  #7 (permalink)  
Alt 24-06-2005, 12:10
thommyk
 Registrierter Benutzer
Links : Onlinestatus : thommyk ist offline
Registriert seit: Aug 2003
Ort: Münster
Beiträge: 255
thommyk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Noch ein Tip:
Ich gehe mal davon aus, dass id als INTEGER definiert ist.
Dann ändere mal das
PHP-Code:
WHERE id '$umfrage' "; 
in
PHP-Code:
WHERE id $umfrage "; 
(also ohne '').
Sonst benutzt mysql keinen Index und wird langsam.

Zitat:
SELECT votes FROM umfrage_antwort WHERE id = $umfrage
Wofür steht die id eigentlich?
Für eine bestimmte Umfrage oder für eine bestimmte Antwort bei einer Umfrage?
Speicherst Du in der Tabelle umfrage_antwort mehrere Umfragen oder nur eine?
Bei mehreren Umfragen musst Du ja irgendwie noch die einzelnen Antworten auseinanderhalten.
__________________
Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)
Mit Zitat antworten
  #8 (permalink)  
Alt 24-06-2005, 12:16
prego
 PHP Senior
Links : Onlinestatus : prego ist offline
Registriert seit: May 2005
Ort: Herborn
Beiträge: 1.609
prego ist zur Zeit noch ein unbeschriebenes Blatt
Standard

MERKÄ:
Was man in SQL erledigen kann, sollte man nicht in der Scriptsprache machen.

SQL hat sehr weitreichende Funktionen zum rechnen, und wie schon mehrfach erwähnt sollte count dein Problem lösen. Wahrscheinlich wirst du dann diese Query 5 mal für die jeweilige Umfrage laufen lassen. Also 30 x Toll, 32 x geht so, 15 x misst, 10 x gaaanz schlecht - oder so. Mit einem geschickten GROUP statement kannst du das alles auf einmal mit einer (1!) Query aus der DB holen.
Mit Zitat antworten
  #9 (permalink)  
Alt 24-06-2005, 12:52
chrisibrand
 Junior Member
Links : Onlinestatus : chrisibrand ist offline
Registriert seit: Apr 2005
Beiträge: 70
chrisibrand ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok mache ich doch gerne

Also ich habe in der Umfrage 3 Antworten sprich damit habe ich auch 3 Datensätze in der Datenbank mit Votes

Antwort 1 | Votes 5
Antwort 2 | Votes 3
Antwort 3 | Votes 2


Ich möchte jetzt einmal alle zusammen zählen und einmal möchte ich von der Gesamtzahl die Prozentzahl ausrechnen.

So dass ich den Votes von jeder Antwort als einzelne Variable habe.


Mit Zitat antworten
  #10 (permalink)  
Alt 24-06-2005, 12:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
So dass ich den Votes
Bitte???

guckst du SUM(), der rest ist reine multiplikation/division...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 24-06-2005, 13:03
chrisibrand
 Junior Member
Links : Onlinestatus : chrisibrand ist offline
Registriert seit: Apr 2005
Beiträge: 70
chrisibrand ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Richtig,

In der Tabelle umfrage_antwort können meherere antworten von verschiedenen umfragen gespeichert werden. Diese sind dann mit der id der Umfrage versehen.

von den einzelnen umfragen die einzelnen antworten werden unterschieden von der id der Tabelle. Diese id wird auch als Value von dem options Button übermittelt und hat damit auch eine eindeutige zuweisung.
Mit Zitat antworten
  #12 (permalink)  
Alt 24-06-2005, 13:13
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
In der Tabelle umfrage_antwort können meherere antworten von verschiedenen umfragen gespeichert werden. Diese sind dann mit der id der Umfrage versehen.
Das kannst du sicher mit WHERE einschränken...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP oder Spanisch lernen? Oder doch beides?
PHP oder Spanisch lernen? Oder doch beides?Fremdsprachen sind für Entwickler enorm wichtig. Ohne Englisch geht fast nichts.

28.11.2017 | Berni

Mit Web-Templates Geld verdienen
Mit Web-Templates Geld verdienenWeb-Templates gewinnen immer mehr an Bedeutung. Erfahre hier, wie du dir mit dem TemplateMonster-Marktplatz neue Verkaufswege erschließen kannst.

17.10.2017 | Berni


 

Aktuelle PHP Scripte

HTML5 Builder ansehen HTML5 Builder

Einfache und plattformunabhängige App-Entwicklung mit HTML5 Builder

12.01.2018 Berni | Kategorie: HTML5/ EDITOR
eZ publish 5

eZ publish 3 ist ein geöffneter Quellinhalt Managementsystem- und -entwicklungsrahmen. Mit vorgerückter Funktionalität für zufriedenes Management (CMS), Ehandel, intranets und viel mehr, können Sie Ihre dynamischen Internet-Lösungen schnell errichten und

08.01.2018 tg@ | Kategorie: PHP/ CMS
Redactor jQuery-WYSIWYG Editor ansehen Redactor jQuery-WYSIWYG Editor

Redactor ist ein schöner und einfach zu bedienende jQuery-WYSIWYG-Editor. Redactor ist blitzschnell, kleine, skalierbare und leistungsstark.

21.12.2017 Berni | Kategorie: JAVASCRIPT/ WYSIWYG
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:12 Uhr.