Nur das Ausgeben was größer 0 |
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
Hi,
also ich habe etwas is die db eingetragen etwa so:
name: tb1: tb2: tb3:
Platoon 0 0 1
jetzt habe ich eine Bedingung gestellt die aussieht wie folgt:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50: |
$abfrage = "SELECT * FROM karten2 WHERE name = '$_COOKIE[nick]'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$abfrage2 = "SELECT name FROM karten WHERE art = sdk";
$ergebnis2 = mysql_query($abfrage2);
while($row2 = mysql_fetch_object($ergebnis2))
{
$abfrage3 = "SELECT name FROM karten WHERE art = sdy";
$ergebnis3 = mysql_query($abfrage3);
while($row3 = mysql_fetch_object($ergebnis3))
{
$abfrage4 = "SELECT name FROM karten WHERE art = sdj";
$ergebnis4 = mysql_query($abfrage4);
while($row4 = mysql_fetch_object($ergebnis4))
{
$abfrage5 = "SELECT name FROM karten WHERE art = sdp";
$ergebnis5 = mysql_query($abfrage5);
while($row5 = mysql_fetch_object($ergebnis5))
{
$tb1 = $row->tb1;
$tb2 = $row->tb2;
$tb3 = $row->tb3;
$sdp = $row->sdp;
if( 0 < $tb1)
{
echo $row2->name;
}
if( 0 < $tb2)
{
echo $row3->name;
}
if( 0 < $tb3)
{
echo $row4->name;
}
if( 0 < $sdp)
{
echo $row5->name;
}
}
}
}
}
}
?>
|
aber irgendwie wird nichts ausgegeben ich frage mich nur warum. Ich hoffe jemand kann mit helfen
cu Platoon
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Das sieht so erst mal nach einem unglaublichen Ressourcen-Killer aus. Überleg dir mal genau was du brauchst. Normalerweise solltest du mit einem Query auskommen. Ich weiß aber gerade nicht was du machen willst. Erklär mal dein Vorhaben.
|
 Profil
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
Also wie schon gesagt:
ich habe in eine Datenbank 2 Tabellen.
in einer Tabelle1 habe ich als Struktur:
name: sdk: sdy: sdj: sdp:
so in der anderen Tabelle2 habe ich auch eine Struktur die aber unwichtig ist, ausser:
art: name:
In Tabelle 2 ist von Anfang an etwas eingertragen.
In Tabelle 1 wird immer mal wieder +1 geupdatet.
Nun will ich sagen, dass wenn in einem von den Werten in Tabelle1 , also sdk, sdy, sdj , sdp der Wert größer als 0 ist, dass er dann von genau diesem den name aus Tabelle 2 ausgibt, denn in Tabelle 2 ist die Spalte art: immer mit sdk, sdy , sdj oder sdp gefüllt.Also soll er wenn z,B in Tabelle1 der Wert bei sdk = 2 dann soll er den Namen aus Tabelle2 ausgeben, wo in Spalte art = sdk ist.
Ich hoffe das war etwas verständlicher, wenn noch fragen bestehen nur zu. Und deshalb habe ich auch diese ganzen Query gemacht, weil ich ja von jedem einzeln wissen muss
cu pYro
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Diese Doppelpunkte verwirren ganz schön....
Also das klingt extrem kryptisch und etwas undurchdacht. Was genau willst du damit den realisieren?
|
 Profil
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
Also es gibt eine Seite dort wird was ausgegeben.
Nun soll, wenn man eine Aktion durch geführt wird die Zahl +1 gesteigert werden, wie vorhin erläutert. Dann soll aber etwas anderes bzw. mehr angezeigt werden auf der Seite. Das was auf dieser Seite ausgegeben wird liegt aber in einer ganz anderen Spalte.
Mhh ich weis net was ich noch mehr dazu erklären kann
es soll bei einer bestimmten erhöhung, auch etwas bestimmtes bzw. anderes angezeigt werden, deswegen diese vielen Abfragen.
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
kannst du das denn nicht eigenständig für jede Aktion (Erhöhungsart) machen und nicht universell für alle Spalten?
|
 Profil
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
wie meinst du das?
|
 Profil
E-Mail
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
eigentlich isses doch auch egal oder? Ich will nur wissen warum nichts ausgegeben wird, oder kann es damit zusammen hängen?
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
So wie ich das jetzt verstanden habe kannst du vier verschiedene Werte verändern, worauf hin etwas passieren soll. Dann bauch dir doch für jeden einzelnen dieser Werte eine Art Prozedur, die individuell die gewünschten Aktionen ausführt, die auf diesen Wert zugeschnitten sind. Ist bestimmt einfacher als eine Mörder-SQL-Abfrage.
|
 Profil
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
Ich glaube nicht das das funktioniert. also nochmal
Tabelle1:
name = pYro
sdk = 1
sdy = 0
sdj = 0
sdp = 0
Tabelle2: ( hier ist schon einiges eingetragen)
name: irgendeinname
art: sdk oder sdy oder sdj oder sdp
so nun checke ich ja ob ein Tabelle 1 einer der Werte von sdk, sdy, sdj, sdp über 0 ist. Wenn das der Fall sein sollte, dann soll er in diese Datei alle namen ausgeben wo in der Spalte art: z.B sdk steht (aber nur wenn sdk einen größeren wert als 0 hat)
Also nun ein Beispiel:
Tabelle1:
name = pYro
sdk = 1
sdy = 0
sdj = 0
sdp = 0
Tabelle2:
name: irgendeinname
art: sdk oder sdy oder sdj oder sdp
so nun hat ja der WErt von sdk nen größeren Wert als 0, also soll er in die Datei alle Namen ausgeben, wo art = sdk aus Tabelle2
ich hoffe das war nun verständlich, wenn nicht muss ich wohl nen anderen weg finden :D
Danke aber schonmal für die Hilfe
|
 Profil
E-Mail
Editieren
Zitieren
|
bastir
Mausakrobat
Beiträge: 150 |
Sorry, aber bei mir fehlt auch noch der Durchblick für deine Tabellen, sdk, sdy etc. sind auch nicht gerade wirklich selbsterklärende Tabellennamen für mich.
Erkläre doch einfach mal für was du deine Abfrage machen möchtest, also mal den grund für deine Tabellen und welche Aktionen der user ausführen soll, auf welche die Datei dann reagiert.
Vielleicht finden wir dann auch ein besseres Tabellenlayout für dich.
so long
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
|
 Profil
Website
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
Ich melde mich später oder morgen nochmal, muss jetzt off.
sorry..
cu ich werde es versuche besser zu erklären
|
 Profil
E-Mail
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
Ok
habe doch Zeit. ^^
So: (ich versuche es zum letzten mal)
Also Es gibt einen User, dieser User kann in einerm shop ein Pakerl sagen wir Karten kaufen, von der ART sdk.
Nun wird in der Tabelle1 (dessen aufbau uns ja bekannt ist) der sdk Wert um 1 gesteigert, da er ja ein Packerl Karten von der art sdk gekauft hat. In dem Pack sind mehrere Karten, diese einzelnen Karten habe ich in Tabelle2 schon eingetragen. Aber es gibt auch Packerl Karten von der Art sdy , sdj oder sdp. So, jetzt besitzt der stolze User ein Packerl sdk Karten ^^. Nun will der User aber sehen was für Karten in dem Pack von der Art sdk drinnen sind. Also kommt einer weitere Date hinzu, wo die Karten namen Ausgegeben werden, aber nur von den Karten die aus dem Pack sdk sind. Also prüfe ich welche namen er ausgeben muss, die in der Tabelle2 ( dessen aufbau uns auch bekannt ist) die art sdk haben. Aber nur wenn der WERT in Tabelle1 von sdk über 1.
Dieses ganze kann sich natürlich auch mit sdy sdj oder sdp abspielen, oder 2en, deswegen die ganzen abfragen und die ganzen if bedehle, ich hoffe diesmal war es einigermasern verständlich
thx 4 help cu pYro
|
 Profil
E-Mail
Editieren
Zitieren
|
pYro
Feiertags-Poster Threadstarter
Beiträge: 38 |
ich weis ja net ...vllt stimmt ja auch irgendwas driekt an diesem code net
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Ich würde sagen da stimmt was nicht mit deiner Konzeption. Das wirkt viel zu umständlich. Normalerweise gibt es immer eine Tabelle mit allen Artikeln und in jedem Datensatz gibt es ein Feld mit Detailinformationen.
Wenn der User eine Paket kaufen will, speicherst du in seinem persönlichen Warenkorb nur die ID (aus der Artikeltabelle) und die Anzahl und wenn er Informationen zu den Waren haben (z.B. welche einzelheiten das Paket enthält), rufst du alle Detailinformationen zu den passenden IDs aus dem Warenkorb ab.
|
 Profil
Editieren
Zitieren
|