WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Nur das Ausgeben was größer 0 » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Nur das Ausgeben was größer 0
von languitar
du kannst ja bei dem paket in einem Feld die IDs der einzelnen "Sub-Karten" und bei bedarf diese dann auslesen. Einfach per id1|id2|id3 da rein und dann mit explode auseinandersortieren und ne neue Abfrage machen, wenn gewünscht.
von pYro
Ok ich glaube ich weis was der Fehler nun ist. Es waren wirklich die viele abfragen
Ich versuche es mal anders zu lösen...Danke an alle die mir versucht habe zu helfen
von pYro
Gibt es denn die möglichkeit nach einer Abfrage noch zu Filtern was angezeitg werden soll und was nicht
von pYro
Ja, das wäre auch eine Idee, blos das Problem ist, das die einzelnen Karten ind dem Packet auch noch Informationen haben, die abrufbar sein sollen
von languitar
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.
von pYro
ich weis ja net ...vllt stimmt ja auch irgendwas driekt an diesem code net
von pYro
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
von pYro
Ich melde mich später oder morgen nochmal, muss jetzt off.

sorry..


cu ich werde es versuche besser zu erklären
von bastir
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
von pYro
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
von languitar
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.
von pYro
eigentlich isses doch auch egal oder? Ich will nur wissen warum nichts ausgegeben wird, oder kann es damit zusammen hängen?
von pYro
wie meinst du das?
von languitar
kannst du das denn nicht eigenständig für jede Aktion (Erhöhungsart) machen und nicht universell für alle Spalten?
von pYro
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.
von languitar
Diese Doppelpunkte verwirren ganz schön....

Also das klingt extrem kryptisch und etwas undurchdacht. Was genau willst du damit den realisieren?
von pYro
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
von languitar
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.
von pYro
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

Nach oben