Query's samenvoegen

Status
Niet open voor verdere reacties.

sanma

Gebruiker
Lid geworden
11 dec 2008
Berichten
170
Hallo,

Ik heb momenteel veel sql codes in mijn .php pagina en denkd at dit veel makkelijker kan als ik het heb gedaan.

PHP:
$missie1 = mysql_query("SELECT * FROM `missies` WHERE gebruikersnaam='".$_COOKIE['Gebruikersnaam']."' AND missieid='1'");
$missie2 = mysql_query("SELECT * FROM `missies` WHERE gebruikersnaam='".$_COOKIE['Gebruikersnaam']."' AND missieid='2'");
$missie3 = mysql_query("SELECT * FROM `missies` WHERE gebruikersnaam='".$_COOKIE['Gebruikersnaam']."' AND missieid='3'");
$missie4 = mysql_query("SELECT * FROM `missies` WHERE gebruikersnaam='".$_COOKIE['Gebruikersnaam']."' AND missieid='4'");
$missie5 = mysql_query("SELECT * FROM `missies` WHERE gebruikersnaam='".$_COOKIE['Gebruikersnaam']."' AND missieid='5'");

In totaal zijn het er nog veel meer als 5 dus zou dit graag korter hebben.
 
DELETE FROM x WHERE id IN (1, 2, 3, 4, 5)

En als het om alle missies gaat kun je ook gewoon alleen WHERE gebruikersnaam = 'Gebruiksnaam' doen natuurlijk.
 
Laatst bewerkt:
Hallo,

Ik wil helemaal niks verwijderen. Ik gebruik die gegevens om te echoën.

Heb een stuk verder staan:
PHP:
 if (mysql_num_rows($missie1) == 1) {echo"<font color=\"#008000\">Voldaan</font>";} else {echo"<font color=\"#FF0000\">Nog niet Voldaan</font>";}

En dit ook voor alle missies
 
Door de delete opdracht word je uitkomst uiteindelijk wél korter zoals je vroeg. :p:p

Maar goed, volgens mij moet je gewoon dat hele gedoe van AND missieid= weglaten.
Je selecteert immers daarna op 1,2, 3 enz ?
 
Hallo,

Dan is het inderdaad een stuk korter hahaha;)

Maar als ik dat weglaat heb ik geen geldig argument voor mijn mysql_num_rows
 
Selecteer gewoon alle missie_ids, en loop over alle getallen heen en kijk of die missie ID er in zit:

[sql]
SELECT missieid FROM `missies` WHERE gebruikersnaam= ' X ';
[/sql]
PHP:
// maak een lijst met welke missies gedaan zijn
while ( $rij = mysql_fetch_assoc ( $result ) ) {
  // vink deze missie af
  $missies_gehaald[ $rij [ 'missieid' ] ] = true;
}

for ( $i = 1; $i < $aantal_missies ; $i++ ) {
 if ( isset( $missies_gehaald[ $i ] ) ) {
    echo 'Voldaan, of wat je ook wilt doen als de missie gehaald is.';
 }
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan