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…
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…
[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.
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.