Schleiferei
Chris
- php
Hallöchen,
brauche mal kurz einen Geistesblitz und komme von alleine nicht drauf.
Folgendes Problem:
Ich habe eine Reihe von Elementen, die durch geparst werden und nach bestimmten Kriterien in eine von 2 Tabellen eingetragen werden sollen.
Außerdem gibt es Rubriken; jedes Element gehört zu einer Rubrik, die entweder bereits bekannt ist oder nicht.
Wenn das Element den Kriterien genügt _und_ zu einer bekannten Rubrik gehört, dann kommt es in Tabelle "valide", wenn es einer der Kriterien nicht genügt oder zu einer unbekannten Rubrik gehört, dann kommt es in die Tabelle "nicht valide".
Die Rubriken sind dynamisch, d.h. ich muß jedesmal abfragen welche Rubriken es gerade gibt.
Meine Konstruktion sieht im Moment so aus:
Frage alle Rubriken ab
while(Rubrik)
{
if(Element ist in Rubrik)
if(Element==Bedingung1)
if(Element==Bedingung2)
trage in Tabelle "valid" ein
else in Tabelle "not vaild"
else in Tabelle "not valid"
else trage in Tabelle "not valid" ein
}
So, gibt es nur eine Rubrik dann macht er genau das, was er soll: er differenziert nach den Bedingungen und danach, ob das Element zur Rubrik gehört oder nicht, und trägt es in die richtige Tabelle ein.
Gibt es jedoch 2 oder mehr Rubriken, dann durchläuft er ja die while-Schleife so viele male, wie es Rubriken gibt, und trägt die Elemente mehrmals in die Tabellen ein.
Wie kann ich das so umstellen, dass er die Bedingungen überprüft und checkt, ob das Element in einer der Kategorien ist, und dann das Element nur einmal in die passende Tabelle einträgt?
Vielen Dank im Vorraus,
Chris
Hallo!
Frage alle Rubriken ab
while(Rubrik)
{
if(Element ist in Rubrik)
if(Element==Bedingung1)
if(Element==Bedingung2)
trage in Tabelle "valid" ein
else in Tabelle "not vaild"
else in Tabelle "not valid"
else trage in Tabelle "not valid" ein
}
Du schreibst es seien mehrere Elemente, heißt das da liegt noch eine Schleife drum herum? Ich gehe mal davon aus. Das Zauberwort für Dein Problem lautet "break", sobald Du ein Element irgendwo eingetragen hast breche die Rubriken-Schleife ab und mache beim nächsten Element weiter. Außerdem solltest Du Dich mal über "else if" und "switch" informieren.
Siehe PHP-Manual: http://de3.php.net/manual/de/
Grüße
Andreas