• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Angaben von Usern Zusammenrechnen (Durchschnitt)

wolli22

Neues Mitglied
Hy,


Ich möchte etwas relaisieren nur weiß ich leider nicht wie genau nun.


Also ich erkläre es mal !

Wenn ein User ein Kommentar abgibt gibt es ein feld das sich "Preis" nennt.

Nun gibt der user ein das er 30€ für irgendwas halt bezahlt hat.

Jetzt ist es aber so das zb. 5 User eingeben was sie für den Artikel bezahlt haben.

Nun soll das System einen Durchschnitt der Preise ausrechnen.

Versteht ihr mich`?

Gibts dazu ein tutorial oder ähnliches ?
 
Dann stellen sich folgende Fragen:
Wie willst du die Daten abspeichern? (XML, Datenbank, JSON?)
Wie gut kennst du dich mit den Techniken aus?
Wie gut kennst du dich mit PHP aus?

Das Zusammenrechnen des Durchschnitsspreises ist dann easy.
Alle Werte zusammenrechnen, die sich auf diesen Artikel beziehen (zum Beispiel über Artikelname oder Artikelid).
Dann durch die Anzahl der Einträge für diesen Artikel rechnen und das ganze dann runden :)

Tutorials gibt es für solche einfache Sachen wohl nicht. Aber wenn du Hilfe dabei brauchst, sag einfach bescheid ;)
 
JSON selbst speichert keine Daten, es bietet nur einfache einfache API. Ich denke, es hängt auch stark von der Produktzahl und der Anzahl der Kommentarpreise pro Produkt ein. Wenn die beide nicht zu hoch sind, wäre es auch denkbar, alles in Textdateien zu sichern. Pro Produkt eine Datei produktnummer.txt und pro Preiseingabe eine Zeile mit dem Preis. Dann könntest mit extrem wenig PHP alle Preise eines Produkt in ein Array einlesen und dem Mittelwert ausrechen. Ebenso wenig Aufwand wäre es, einen Beispielspreis hinzuzufügen. Wenn du aber mit dem Preis andere Daten abspeichern willst wie Kommentare (Text), Uhrzeit, IP .... dann bietet sich schon eher eine Datenbank an wie MySql oder SQLite.
 
Dann stellen sich folgende Fragen:
Wie willst du die Daten abspeichern? (XML, Datenbank, JSON?)
Wie gut kennst du dich mit den Techniken aus?
Wie gut kennst du dich mit PHP aus?

Das Zusammenrechnen des Durchschnitsspreises ist dann easy.
Alle Werte zusammenrechnen, die sich auf diesen Artikel beziehen (zum Beispiel über Artikelname oder Artikelid).
Dann durch die Anzahl der Einträge für diesen Artikel rechnen und das ganze dann runden :)

Tutorials gibt es für solche einfache Sachen wohl nicht. Aber wenn du Hilfe dabei brauchst, sag einfach bescheid ;)


Hy,

Erstmal danke für deine Antwort.

Mysql kann ich so halbwegs allerdings über PHPmyadmin also Tabellen erstellen usw. kein Problem ^^
PHP ist nicht so meines.. Noch zu wenig erfahrung!
Html kann ich :)

Ich weiß einfach nicht wo ich anfangen soll xD
Was du gesagt hast klingt grundsätzlich logisch allerdings die umsetzung naja :)

Würde es so funktionieren?

Preis= <div id="preis"></div>
nun lese ich mit PHP die divs Preis aus...

Ok dann hab ich mal die preise. Allerdings zusammenrechnen ? hmm kann ich nicht :/
 
Mir scheint, du solltest erst mal ein wenig Basiswissen in PHP und MySql anlesen. Auf der einen Seite sagst, MySql kannst halbwegs, andererseits kennst scheinbar die einfachen SQL oder PHP Aggregatfunktionen oder HTML Formulare nicht. Kommt mir so vor als wolle einer eine Mondrakete bauen und habe keine Ahnung von Aerodynamik.
 
JSON selbst speichert keine Daten, es bietet nur einfache einfache API. Ich denke, es hängt auch stark von der Produktzahl und der Anzahl der Kommentarpreise pro Produkt ein. Wenn die beide nicht zu hoch sind, wäre es auch denkbar, alles in Textdateien zu sichern. Pro Produkt eine Datei produktnummer.txt und pro Preiseingabe eine Zeile mit dem Preis. Dann könntest mit extrem wenig PHP alle Preise eines Produkt in ein Array einlesen und dem Mittelwert ausrechen. Ebenso wenig Aufwand wäre es, einen Beispielspreis hinzuzufügen. Wenn du aber mit dem Preis andere Daten abspeichern willst wie Kommentare (Text), Uhrzeit, IP .... dann bietet sich schon eher eine Datenbank an wie MySql oder SQLite.

Leider bewegen sich die preise immer im bereich zwischen 100-999€ mehr bestimmt nicht ...
Weiß nicht ob das viel ist ?
 
JSON selbst speichert keine Daten, es bietet nur einfache einfache API.

Ich kann meine Daten doch im JSON-Format abspeichern.

PHP:
  $preis = array(1,"test", true);
  file_put_contents("test.json", json_encode($preis));

Und auslesen kann ich das dann auch wieder

PHP:
$json =  file_get_contents("test.json");
var_dump(json_decode($json));
 
Mir scheint, du solltest erst mal ein wenig Basiswissen in PHP und MySql anlesen. Auf der einen Seite sagst, MySql kannst halbwegs, andererseits kennst scheinbar die einfachen SQL oder PHP Aggregatfunktionen nicht. Kommt mir so vor als wolle einer eine Mondrakete bauen und habe keine Ahnung von Aerodynamik.

Naja eingelesen habe ich mich ja schon

PHP:
<?PHP
$iVerbNr = mysql_pconnect( "localhost", "benutzer", "passwort")
or
die( "<H2>Verbindungsfehler</H2>" . mysql_error());    
     
@mysql_select_db("test_db", $iVerbNr)
or
die( "<H2>DB existiert nicht: </H2>" . mysql_error() );
     
$tabellenname = "artikel";
     
// der Artikel mit dem geringsten Preis gruppiert nach der Bezeichnung    
$SQLAbfrage = "SELECT bezeichnung, MIN(preis) as 'minimum' FROM $tabellenname group by bezeichnung";
 
$Ergebnis = mysql_query($SQLAbfrage, $iVerbNr)
or
die( "<H2>Abfragefehler</H2>" . mysql_error());    
 
$nAnzZeilen = mysql_num_rows($Ergebnis); 
echo "<H3>" . $nAnzZeilen . " Artikel gefunden!</H3>";
 
echo "<H2>der Artikel mit dem geringsten Preis gruppiert nach der Bezeichnung</H2>"; 
echo "<TABLE BORDER='1'>";
echo "<TR>";
echo "<TH>Artikelbezeichnung</TH>";
echo "<TH>Minimum</TH>";
echo "</TR>";
while ( $aDaten = mysql_fetch_array( $Ergebnis ) )
{
   echo "<TR>";
      echo "<TD>" . $aDaten["bezeichnung"] . "</TD>";
      echo "<TD>" . $aDaten["minimum"] . "</TD>";
   echo "</TR>";
}
echo "</TABLE>";
 ?>

Allerdings den druchschnittspreis berechnen ?
 
Leider bewegen sich die preise immer im bereich zwischen 100-999€ mehr bestimmt nicht ...
Weiß nicht ob das viel ist ?
Es ging eigentlich um die Menge der Daten die du speichern willst. Geben die leute dann nur anonym einen Peis an oder geben sie auch einen Namen an? Willst du das Datum mitspeichern?
 
Ich kann meine Daten doch im JSON-Format abspeichern.
Das sind aber dann wohl Text-Dateien (eventuell XML oder ein neues proprietäres Format analog zu CSV) oder man hat auf dem Server doch eine Art Jason-Server, der das in einer Datenbank speichert. Somit hast sicher eine bequeme Art, Daten zu speichern, aber eine Datenbank ist es halt nicht. Aus praktischer Sicht ist das allerdings nicht so wichtig.
 
Hmm sry das versteh ich leider nicht :/
Und ich habe keine Lust, bei so einfachen Dingen noch viel mehr als überdeutliche Hinweise beizutragen, zumal wenn ich das Gefühle habe, dass es vorne und hinten an Basisverständnis fehlt. Ich hoffe, das war deutlich genug und du verstehst mich. Viel Erfolg und bye.
 
Und ich habe keine Lust, bei so einfachen Dingen noch viel mehr als überdeutliche Hinweise beizutragen, zumal wenn ich das Gefühle habe, dass es vorne und hinten an Basisverständnis fehlt. Ich hoffe, das war deutlich genug und du verstehst mich. Viel Erfolg und bye.

Jop versteh ich
Danke dennoch bye
 
NetAktiv schrieb:
Das sind aber dann wohl Text-Dateien (eventuell XML oder ein neues proprietäres Format analog zu CSV) […].

JSON ist das Format. Der Nachteil ist aber, dass immerzu die gesamte Datei eingelesen und im Speicher gehalten werden muss, was natürlich äußerst ineffizient ist.

Zur Fragestellung: MySQL bringt eine Durchschnittsfunktion von Haus aus mit. Die könnte auch eingesetzt werden.

- MySQL :: MySQL 5.6 Reference Manual :: 11.16.1 GROUP BY (Aggregate) Functions
 
JSON ist das Format. Der Nachteil ist aber, dass immerzu die gesamte Datei eingelesen und im Speicher gehalten werden muss, was natürlich äußerst ineffizient ist.



Zur Fragestellung: MySQL bringt eine Durchschnittsfunktion von Haus aus mit. Die könnte auch eingesetzt werden.

- MySQL :: MySQL 5.6 Reference Manual :: 11.16.1 GROUP BY (Aggregate) Functions


Danke hat mir bedingt geholfen

Hier mal mein code

Es gibt eine Tabelle die heißt hier "tabelle" und eine Spalte die sich "spalte" nennt.

In der spalte gibt es bereits 2 einträge.

ID 1 und 2, ID 1 hat einen wert von 200 id 2 einen wert von 300.

Allerdings bekomme ich nichts angezeigt ^^
Hab versucht nur einen wert auszulesen also ID 1 und das klappt ...


PHP:
<?php
$verbindung = mysql_connect ("localhost",
"xxxx", "xxxx")
or die ("keine Verbindung möglich.
 Benutzername oder Passwort sind falsch");
 
 mysql_select_db("xxx")
or die ("Die Datenbank existiert nicht.");

$sql = "SELECT AVG(spalte) FROM tabelle";


$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysql_error());
}

echo '<table border="1">';
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
  echo "<tr>";
  echo "<td>". $zeile['spalte'] . "</td>";

  echo "</tr>";
}
echo "</table>";

mysql_free_result( $db_erg );

EDIT: Habs geschafft :)
 
Zuletzt bearbeitet:
Zurück
Oben