php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.04.2008, 20:23  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 3
ArtAndLife
ArtAndLife eine Nachricht über ICQ schicken
Standard MYSQL Datenbank sortieren, nach PHP Variablen

Guten Abend,

ich bin neu hier und hab auch gleich eine Frage. Ich selbst kenn mich leider nur mit den PHP Basics aus, geht also am besten davon aus, dass ich gar keine Ahnung habe

Ich habe folgendes Problem:
Über eine Website werden 7 Felder aufgefüllt, man kann zwischen 0 und 100% pro Feld eingeben, insgesamt allerdings muss es 100% sein.
Wenn man dann einen Button drückt, müssen diese 7 Felder ins PHP eingelesen werden. Und jetzt kommt der komplizierte Teil:
In der mySQL Datenbank müssen dann Reihe für Reihe einzelne Felder miteinander addiert werden (so dass man am Schluß insgesamt 7 Zahlen hat). Dann muss das Gesamtergebnis durch die Zahl der Felder dividiert werden, dass man also den Durchschnittswert hat (in jedem Feld sind Zahlen zwischen 0 und 100).
Dann müssen die 7 Durchschnittwerte mit den 7 Werten von der Homepage multipliziert werden.
Pro Reihe müsste ich dann 7 Zahlen haben, die müssen dann wieder addiert werden. Jede Zeile hat jetzt einen Wert.
Und dann muss die Datenbank noch in einer absteigenden Reihenfolge entsprechend diesem Wert geordnet und als Tabelle ausgegeben werden...


Ich weiß nicht, ob das sehr kompliziert ist, oder ob man dafür einfach die richtigen Ausdrücke braucht. Ich wäre für JEDE Hilfe SEHR dankbar!

Danke schonmal!

Liebe Grüße,
ArtAndLife
ArtAndLife ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.04.2008, 09:31  
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

Hallo ArtAndLife,

hast du den für dein Projekt schon ein Script geschrieben, oder Datenbank- Struktur ansätze?

So genau verstehe ich nicht was du jetzt willst...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 10.04.2008, 12:39  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 3
ArtAndLife
ArtAndLife eine Nachricht über ICQ schicken
Standard

Hi Tomtatz,

die Datenbank hab ich schon aufgesetzt, aber ein Script geschrieben hab ich bisher noch nicht...

Ich versuche nochmal genau zu erklären, was ich will

Die Datenbank besteht derzeit aus 41 Spalten mit 40 Datensätze.
Von diesen 41 Spalten sind 27 Spalten Motive die im Nibelungenlied vorkommen (und diese Spalten besitzen jeweils einen Wert zwischen 0 und 100), die anderen 14 Spalten sind Kategorien, Buchtitel, Autorname usw usw.

Zu diesen 27 Spalten gibt es jetzt sieben Obergruppen.

Der User kann jetzt in diesen Obergruppen eingeben, wie sehr ihn was im Nibelungenlied interessiert. Z.B. Drachen und Schätze 40%, Leben am Hof 30%, Magische Gegenstände 30%.

Jetzt muss die Datenbank errechnen, welche Bücher für den User am besten zutreffen.

Also müssen als erstes von 2-4 Spalten der Durchschnitt errechnet werden, weil die Obergruppen in der Datenbank nicht auftauchen.

Dann müssen die die einzelnen Durchschnittswerte addiert werden, dass jeder Datensatz einen einzigen Wert hat, der dann ja aussagt, wie sehr das Buch auf das Interesse des Users passt.

Und als letzter Schritt muss dann die Datenbank nach diesen Werten (die ja auch nirgends in der Datenbank auftauchen) sortieren.


Vielen Dank für jede weitere Hilfe!
ArtAndLife ist offline  
Alt 11.04.2008, 10:23  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 3
ArtAndLife
ArtAndLife eine Nachricht über ICQ schicken
Standard

Okay, ich bin jetzt schon recht weit, allerdings stimmt wohl noch etwas nicht.
Ich vermute der Fehler liegt in dem Query:

PHP-Code:
$query mysql_query("SELECT 'Name','Autor','Verlag','Ort','Jahr','Auflage','Seitenzahl','Sprache','Internetadresse','Kategorie',
    (('Drachenkampf','Drachenschatz','Schatz','Totenarmee')/4*"
.$DracheUser.")+
    (('Unverwundbar','Blut')/2*"
.$BlutUser.")+
    (('Ring','Schwert','Unsichtbar','Vergessenstrank')/4*"
.$GegenstandUser.")+
    (('Gottesurteil','Schlaf','Traum')/3*"
.$EreignisUser.")+
    (('Stark','Tiersprache')/2*"
.$GabenUser.")+
    (('Goldgier','Verrat','Treue','Rache','Jungfrau')/5*"
.$TugendUser.")+
    (('Frauenstreit','Freierprobe','Koenigsberater','Identitaet','Dreiecksbeziehung')/5*"
.$HofeUser.") 
    AS RELEVANZ FROM 'niblit' ORDER BY RELEVANZ DESC"
); 
Ich bekomme dafür zwar keine Fehlermeldung, aber dann in der nächsten Zeile, wo ich mit einem fetch_array auf das query zugreife...

Kann mir jemand sagen, was an dem Query falsch ist?

Liebe Grüße,
ArtAndLife
ArtAndLife ist offline  
Alt 11.04.2008, 10:45  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ArtAndLife
Kann mir jemand sagen, was an dem Query falsch ist?
Vieles. Bzw. eigentlich alles.
Du selektierst ausschliesslich fixe Zeicheneketten aus einer fixen Zeichenkette (keine Tabelle!) der DB, gruppierst diese teilweise, und versuchst aus diesen Gruppierungen etwas zu berechnen.
Eine Fehlermeldung erhälst du nur nicht, weil du diese nicht abfrägst.
Ich vermute, dein Problem beginnt schon beim DB-Design. Ich habe noch selten eine sinnvoll normalisierte Tabelle mit 41 Attributen gesehen.
Aber wie auch immer, wenn du mal die gröbsten Fehler korrigiert hast,empfehle ich dir folgendes Vorgehen:
PHP-Code:
<?php
$sql 
"SELECT .....";    // Abfrage in Variable schreiben
echo "$sql
"
;    // Abfrage zu Debugzwecken ausgeben
$res mysql_query($sql) or die(mysql_error());    // Wenn Abfrage fehlerhaft, Programm mit Fehlermeldung beenden
while ($row mysql_fetch_assoc($res)){    // Daten verarbeiten
...
?>
__________________
Gruss
L
lazydog ist offline  
 


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
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Adresse zur MySQL Datenbank Marian Datenbanken 4 10.08.2005 09:47
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
[Erledigt] Verständnisfrage OOP - Objekte in MySQL Datenbank schreiben? PHP Tipps 2005 2 19.05.2005 21:40
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
[Erledigt] Parsen von Variablen aus einer MySQL Tabellenzeile Datenbanken 0 29.09.2004 14:58
[Erledigt] Belastbarkeit einer MySQL Datenbank Datenbanken 3 13.09.2004 11:31
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbank sortieren, datenbanken sortieren, http://www.php.de/php-tipps-2008/45774-mysql-datenbank-sortieren-nach-php-variablen.html, datenbank sortierung, mysql sortieren, mysql datenbank sortieren php, wie ist eine datenbank sortiert, mysql nach variable sortieren, sortieren in mysql datenbank, php mysql nach größe, datenbank sortieren mysql, sortierung datenbank, mysql nach sortieren größen wert zuerst, php,suche über mehrere felder mit sortierung nach relevanz, datenbank nach name sortieren php, mysql datenbank sortieren, datenbank variablen, mysql struktur ordnen, variablen werte nach größe ordnen mit script, mysql: daten nach vorkommen sortieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:20 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.