Frage von ForYouuu, 49

Mysql und Php Problem bei einer While abfrage?

Hallo wie kann ich den günstigsten Preiß abfragen und diese Schleife immerweiter wiederholen bis letztendlich genügend lieferanten rausgesucht wurden.

die menge von den angaben der lieferanten werden mit den summierten beträgen der Angaben des Personals abgeglichen wenn es wenierger ist soll ein weiterer datensatz der nächst günstiegere rausgesucht werden und wenn es dann an menge reicht soll abgeglichen werden wie viel gebraucht wird die ($benötigteWare + $menge) gerechnet werden die Neuen werde werden in einem Formular ausgegeben und der Lieferant der ausgesucht wrude aber wir wenieger von ihm benötiegen soll eine neue angabe tätigen um einen neuen Preis festzulegen.

$query =" SELECT ,(at_Preis_kg *at_Menge_kg)'gesPreis'                                 FROM tbl_angebot  WHERE at_Ware = '$ware' AND at_Email='$liEmail' AND DATE_FORMAT(at_Created_at, '%Y.%m.01')=DATE_FORMAT(NOW(), '%Y.%m.01') ORDER BY gesPreis ASC LIMIT 1";                             $execQuery = mysqli_query( $connection, $query);

ich habe das Formular mal weggemacht weil ich kann das hier nicht so ausgeben wie in php. aber die Werde funktionieren und er gibt sie auch aus ich muss es nur schaffen das es automatisch läuft.

also Ich möchte das Automatisch ein Lieferant aus der Datenbak rausgesucht wird und zwar der Günstigste deswegen Menge * Preis weil jeder Lieferant die Anweisung bekommt den zuschlag bei der abgabe des Angebotes hinzuzurechnnen dadurch bekomme ich einen wert mit dem ich Arbeiten kann. Das was am schull ausgeben wird sollen nur die Lieferanten sehen die auch ausgesucht wurden und die Anderen bekommen eine meldung das sie nicht der Lieferant geworden sind. 

Antwort
von Kiboman, 20

so wie ich das sehe, solltest Du Dir dir zettel und stift nehmen.

dein konzept aufmalen und dann neu umsetzten.

du könntest sämtliche berechnung und Ermittlungen in einem query durchrupfen.

schreibe mal zu welchen bedingungen selektiert werden soll.

mit einem einfachen Beispiel.

Kommentar von ForYouuu ,

Da hast du recht bloß mache ich zurzeit ein Praktikum und das endet morgen ich habe leider nicht mehr die zeit dafür :/.

deswegen Probiere ich grade hin und her.

durch deine aussage habe ich nochmal über den code geguckt und ja ich konnte wirklich noch viel optiemieren danke :)

Antwort
von RakonDark, 14

ich würde ja erst auf die gesammt menge prüfen und erst dann den preis ,

denn wo unzureichende gesaammt menge , brauch ich auch nicht den rpeis prüfen .

und den preis prüft man dann mit ORDER BY feldname ASC , so wird höchster preis zuerst gefunden und dann kommt absteigend der rest .

das kann man dann einfach mit einer schleife in der ergebnis menge prüfen .

bzw wenn man das alles in einem query hat

ORDER BY gesamt desc, preis ASC

somit wird erst nach menge absteigend dann nach preis absteigend .


Kommentar von RakonDark ,

ups schreib fehler soll heissen


preis aufsteigend


oder oder oder ,WHERE menge > benoetigt
ORDER BY preis ASC , menge DESC

der günstigste mit der größten menge usw usw
.


Antwort
von coding24, 29

Und wo genau liegt nun das Problem? Was funktioniert denn nicht?

Was funktioniert nicht? Und hast du schon mal debugged um überhaupt zu sehen, was in deinen Variablen steht?

Kannst du den Code vielleicht formatiert posten, damit man ihn lesen kann?

Kommentar von ForYouuu ,

Ich will das Programm automatisch laufen lassen das ist das Prinzip. also Lieferanten können sich über eine Website anmelden und ein angebot abgeben, Es gibt ein Personal das den Bedarf angibt die werte aller einträge vom perosnal werden summiert und mit den günstiegsten angebot abgeglichen wenn der allergünstigste Lieferant 2000kg rindfleisch bietet aber ich nur 1900 benötiege dann soll der Ausgewählte Lieferant  die möglichkeit bekommen ein neues angebot zu machen. damit er den Kilopreis neu berechnen kann weil jeder Lieferant soll ja seinen zuschlag pro kilo angeben.

z.b. 400kg kosten 9.99€ pro kg und 800 kg kosten nur 7.99€ pro kg

das ist der sinn aber wenn z.b. 2000 kg geboten werden und 2100 benötigt werden  soll der zweit günstigste rausgesucht und abgeglichen werden und das soll sich solang wiederholen bis alle zufrieden sind.

Kommentar von RakonDark ,

ließt sich komisch , ich dachte er macht dann kein neuen preis sondern erhöht die menge .

bzw dann muss der lieferant sowieso ein ganz neues angebot machen  , weil hier ist NUR die Menge als erstes entscheidend danach dann der Preis . Oder soll von veschiedenen Lieferanten verschiedene Mengen geholt werden zu jeweils dem billigsten preis ?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten