Überspringen einer schleife

hallo

ich habe eine db-abfrage mit einer while schleife:

jetzt will ich aber noch eine bedingung einfügen - und zwar ca so

dass er dann die zeile der db auslässt und mit der nächsten weiter macht.

allerdings brauch ich davor ne abfrage mit den daten aus der while schleife…

also noch mal zusammengefasst:
die while schleife holt mir meine daten aus der db. mit diesen daten werden aus einer anderen tabelle wieder daten abgefragt und wenn das ergebnis gleich null ist soll er die zeile der ersten tabelle auslassen, also die whileschleife einmal überspringen…

hoffe jmd kann mir helfen

lg julian

da bin ich jetzt nicht mitgekommen :ps:

Meinst du etwas in der Art: ???

while($row = mysql_fetch_object($ergebnis))
{
     //DB-Abfrage
     if(mysql_num_rows($ergebnis1) == 0)
        continue;
     
     //Etwas mit $ergebnis1 machen
}

statt zu versuchen mit der if irgendwas zu überspringen, kannst du auch einfach sagen, er soll den entsprechenden Code nur ausführen wenn Datensätze vorhanden sind.

Ganz verstanden hab ich deine Frage nicht.

while($row = mysql_fetch_assoc($result))
{
    //und dann kommt eine zweite abfrage? (wenn ich dich richtig verstanden hab)
    $result2 = mysql_query("SELECT ..... usw.");
    //und dort dann einfach abfragen
    if(mysql_num_rows($result2) > 0)
    {
        //ausgabe ausführen
        
        
    }
}

genau so hab ichs auch schon gemacht…
nur das problem dabei ist:

wenn es keine daten gibt dann kann ich keine meldung anzeigen lassen weil selbst wenns daten gibt wird nichts angezeigt und des zwei noch viel blödere:

wenn ich die ausgegebenen werte auf zb 30 beschränke und nur auf 15 trifft die if abfrage zu werden nur 15 ausgegeben aber es sollen immer 30 ausgegeben werden…
weiste was ich mein?

daher hatte ich die idee ob man dann für den fall dieses eine wertepaar des die whileschleife gerade abfrägt einfach “überspringen” kann und dann gehts halt mim nächsten weiter…

Bitte nochmal von vorne und in geordnetem Deutsch :ps:

ok :p
also noch mal ganz von vorne:

abfrage 1

[code]$abfrage = „SELECT * FROM aktions WHERE userid != ‚$fnid‘ ORDER BY id DESC“;
$ergebnis = mysql_query($abfrage);

	  if(mysql_num_rows($ergebnis) == 0)
	  {
	  echo '
	  <div class="newsblockline"><center><br>zur zeit keine meldungen.</center></div>
	  ';
	  }
	  
	  while($row = mysql_fetch_object($ergebnis))
	  {

[/code]
das ist meine erste abfrage.

die zweite innerhalb der while schleife
abfrage 2

$abfrageFreundschaft = "SELECT id FROM freunde WHERE userid = '$userid' AND freundid = '$fnid'"; $ergebnisFreundschaft = mysql_query($abfrageFreundschaft);

so und diese abfrage entscheidet darüber ob der aktuelle user und der user von dem die aktion stammt befreundet sind.

sind sie befreundet alsoif(mysql_num_rows($ergebnisFreundschaft)==1)sollen die werte in einer tabellenzeile ausgegeben werden.

wenn nicht soll die abfrage dieser wertegruppe übersprungen werden und die nächste zeile der db abgefragt werden.

verstanden? :wink:

mach doch so
if(blabla){
$freundschaftswert = 1// hieße hierbei sich würden freunde sein also nen wert setzen
}

danach abfragen ob bei dem usern freunschaftwert 1 ist

hoffe habe geantwortet

nein so gehts auch nicht, weil ich die daten aus der 1. abfrage für die 2. abfrage brauche aber die zweite abfrage beeinflusst die 1. abfrage. denn je nach ergenis von abfrage 2. muss eine wertezeile von der 1. abfrage ausgelassen werden.

klingt kompliziert is aba so^^

So etwas macht man mit einer einzigen Abfrage mit INNER JOIN - hier im Forum gibt es ein paar Beispiele wie das geht, ansonsten Mysql Handbuch.

und wo find ich die beispiele?

lg julian

Da gehst du oben auf suche und tippst mal INNER JOIN ein und wenn dir das nicht ausreicht mal so bei google.