WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   if i if som korsar? (https://www.wn.se/forum/showthread.php?t=1044510)

Fia 2010-10-27 14:13

if i if som korsar?
 
Svårt att förklara men

$sqlkoll=mysql_query("SHOW TABLES LIKE 'tbladminogrupp'");
if(mysql_num_rows($sqlkoll)){
$sqlgrupp=mysql_query("SELECT * FROM tbladminogrupp WHERE adminId='".$_SESSION['md']."' AND gruppId='".$gruppval."'");
if(mysql_num_rows($sqlgrupp)){
}

Här händer allt och det ska hända oxå om tbladminogrupp inte fins. men om den fins ska man kolla om man får några rader på frågan för att visas.

if(mysql_num_rows($sqlkoll)){
}//Stänger if
}

Jag behöver kolla om en tabell fins innan jag kör frågan mot tabellen men jag stänger fel if sats. Jag vill stänga den första if satsen, fins det något sätt att göra det på?

Weaver 2010-10-27 14:35

Ja detta var inte helt lätt att förstå.
När du säger stänga if-sats vad menar du då?
När du skriver "och det ska hända oxå om tbladminogrupp inte fins" hur tänker du då, den efterföljande SQL-satsen som hämtar data ur den tabelle kommer ju misslyckas om tabellen inte finns?

Jonas 2010-10-27 21:38

Om jag förstått dig rätt så menar du så här:
PHP-kod:

$sqlkoll=mysql_query("SHOW TABLES LIKE 'tbladminogrupp'");
if(
mysql_num_rows($sqlkoll))
{
    
$sqlgrupp=mysql_query("SELECT * FROM tbladminogrupp WHERE adminId='".$_SESSION['md']."' AND gruppId='".$gruppval."'");
    if(
mysql_num_rows($sqlgrupp)){
}
    } 

Jag indenterade koden för att förtydliga.
Men detta är inte möjligt. Eftersom klammern kommer att stänga if-satsen.

Ta en variabel o sätt "flaggor" istället.

PHP-kod:

$sqlkoll=mysql_query("SHOW TABLES LIKE 'tbladminogrupp'");
if(
mysql_num_rows($sqlkoll))
{
    
$sqlgrupp=mysql_query("SELECT * FROM tbladminogrupp WHERE adminId='".$_SESSION['md']."' AND gruppId='".$gruppval."'");
    if(
mysql_num_rows($sqlgrupp)){
        
$flag1 true;
    }
}
... 


Fia 2010-10-28 08:42

Tackar det borde fungera. listigt uttänkt.


Alla tider är GMT +2. Klockan är nu 09:01.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson